SOA and composite applications


Published on

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • One of the key strengths of Java is its architectural flexibility. And this is very much true with the ClearPath Java, and in addition you will all also benefit of the unique flexibility of the ClearPath architectures.
  • First of all you can run everything – every tier – in the ClearPath environment. You can run all the tiers in one ClearPath partition. Or you can run web server, application server and data tiers in different ClearPath partitions. You can distribute applications and data across multiple ClearPath systems. This total flexibility allows you to mix and match tiers according to your unique requirements.
  • But there is more flexibility. You have a choice of centralized and distributed heterogeneous Java Environments. You can distribute your web server, data server and applications tiers across diverse and heterogeneous environments. Often ClearPath has a role of a hub. This provides you a fast way to implement new requirements and allowing you to maximize your existing ClearPath and non-ClearPath assets. I would like to summarize: ClearPath offers tremendous architecture flexibility for Java –based implementations.
  • 05/06/10 J2EE and our ClearPath J2EE architecture are designed to be extremely flexible in designing a multi-tiered application to fit your needs. These diagrams show how you can construct 2-tier, 3-tier and n-tier applications. When you put your Java business logic on the ClearPath , as shown in the bottom two diagrams, you have the added advantage of centralized control and administration of the most important part of the application . The J2EE 1.4 Tutorial states that the “J2EE platform offers a multi-tiered distributed application model, reusable components, a unified security model, flexible transaction control, and Web services support through integrated data interchange on Extensible Markup Language (XML)-based open standards and protocols.” With the J2EE platform: • Client-tier components such as Java applets, application clients, and Web clients run on the client machine. • Web-tier components such as Java Server Pages (JSP) and servlets run on the J2EE server, as do business-tier components (Enterprise JavaBeans [EJB]), which carry the business logic. An EJB server provides functions such as memory management, threading, concurrency, and security. • Enterprise Information Systems (EIS)-tier software such as database servers and transaction servers run on the EIS server. When applications are set up in this way, they are considered n -tiered applications, extending the typical two-tiered client and server model by placing a multithreaded application server between the client application and back-end storage. The ClearPath offers maximum flexibility in implementing a J2EE n -tier environment as shown in the following figure. When the business tier is run on ClearPath, it simplifies administration and lets you run your Java application as close as possible to your data and transactions for maximum efficiency. It also provides a complete J2EE environment running on a platform with true enterprise-class reliability, availability, security, recoverability, and manageability.
  • There are many important elements of Java world; Application Development is one of these. We have great things to tell you… As we have said before we want to provide industry standard skills and tools for ClearPath. With Java we are delivering that with extensive set of industry popular tools.
  • Eclipse IDE is the most popular Java application development environment. Industry recognized open source standard and very popular, It is open source = free of charge Unisys has developed a large number of plug-ins for tight integration with OS 2200. Making it easy to develop Java applications for ClearPath Plug-ins make it easy to develop Eclipse applications. There are 3 kinds of plug-ins: Hundreds of open source plug-ins 3 rd party plug-ins that typically have price Unisys developed ClearPath plug-ins that are included in the IOE Open source and Unisys developed Plug-ins that support software lifecycle Configuration Management and Source Control Integrated code editing, generation and debugging Test automation, Defect tracking, Deployment Support Composite Applications Build, Run, Deploy COBOL and J2EE integration SOA components and Web services management Embraces modeling, J2EE middleware, and meta frameworks to enable development of applications based on modeling Pre-packaged & distributed by Unisys
  • Security is always important. Let’s see how it relates to Java.
  • We are always enhancing and adding new capabilities . Here is an example regarding Java Security. We have added Java Role based security between JBoss and ClearPath where the access permission is assigned to the roles and new users get access permissions based on their role. All this provides simplified administration and unified authentication between Java and ClearPath.
  • Notes CITA (Communications Interface for Transaction Applications) for TCP-based access to TIP/HVTIP DPS (Display Processing System) access through OpenDTP DTI handles outbound to COM, DCOM, Microsoft .NET, Java, CORBA, BEA Tuxedo, Fujitsu TPMS with gboal transaction support NTSI (Messaging Integration Services) for COM, DCOM, Microsoft .NET Described in a white paper that may be found on the ecommunity called “ClearPath OS 2200 Application Modernization”
  • This slide shows how the JBoss environment is deployed within the ClearPath servers. The building blocks start with CIFS and the JVM is attached to this. The JBoss Application server is then deployed in an instance of the JVM. Within the application server, data persistence is supported using Hibernate and the associated RDMS2200 dialect through the RDMS JDBC driver provides access to the RDMS database. An advantage of using layers such as Hibernate is that the application is completely abstracted from the database using Hibernate calls. A JDBC driver also exists for DMS, but there is no DMS dialect available for Hibernate at the moment. Transaction Management (2PC) is provided by using the open/DTP transaction manager. This provides 2PC capabilities between databases, JMS, etc. Various on platform capabilities provide access to Open/OLTP services and TIP /HVTIP transactions, but these are optimized and only available on the ClearPath platform. All on Platform connections (JDBC, Open/DTP9 are also optimized to take advantage of the ClearPath environment.
  • This diagram shows a Application that was deployed within JBoss on the ClearPath platform, with the application deployed in the application server, and the web information deployed in a web server on a separate platform. The diagram shows the various EJBs (EmployeeHibSessBean stateless session bean controlling the business logic, providing access to JMS queues via the EmployeeJMSSessBean, access to Open/DTP services via the EmployeeJCASessBean, which uses the Open/DTP JCA connecter to access Open/DTP services and the EmployeeJMSMQSessBean that places messages on a JMS queue and messages are automatically forwarded to a MQSeries queue). The EmployeeHib module contains the domain definitions which are used by the application to encode the various domain objects and by Hibernate to manage the data persistence layer. This also includes the various Relational Table definitions. The client code contains various .jsp's and servlets that provide access to the EJBs
  • This shows a more detailed overview how the data persistence layer is managed. The EmployeeHib.hbm.xml file contains the domain definitions and the database dialect information. The EmployeeHib module contains the domain objects that contain the database table definitions as well as methods to get or retrieve the values. Standard SQL statements are available to retrieve, update, delete records in the database as well as some specially defined SQL statements. The HibernateUtil modules contains various utilities that manage the data persistence layer, including sessions and transaction demarcation. The EmployeeHibDAO provides access to the database using Hibernate as the persistence layer using the RDMS JDBC Driver to access the ClearPath Relational Database. In a case like this, when using Hibernate, data records are cached within the persistence layer and only written back to the database when a commit is performed. Tests have been done updating the RDMS information outside the persistence layer and then retrieving the record again to check that a new version of the information is retrieved into the hibernate cache as an update occurred. When using hibernate, a unique key is used for each record and if you use hibernate to create the records (key is defined in the domain object & associated with capabilities of the dialect), it should be understood that the creation of records must be performed through the persistence layer . Transaction attributes can be defined with each method defined for the application and if a transaction is requested, this is automatically started by the Application Server.
  • This slide shows how JMS can be used in an application to provide decoupled capabilities. The client requests an update of a record, but instead of executing this update immediately, the update information is placed on a JMS queue called EmployeeUpdateQ. A special EJB called a Message Driven Bean, monitors the EmployeeUpdateQ and when a message is placed on the queue, JMS extracts the message from the queue and passes the message to the Message Driven Bean (EmployeeMDBUpdateBean). The update information is extracted from the message and a method on the existing EmploiyeeHibSessBean is called to update the record. Once again, by defining transaction attributes, these operations can be coordinated between JMS queues and database updates.
  • This slide shows how the client can also call an Open/DTP service EMPHIBUPD to update the record in the database outside the Hibernate persistence layer using the Open/DTP JCA connector. It also shows that it is possible for an OLTP client to update the record. This means that it is possible for the existing environment (OLTP, TIP, HVTIP transactions) and the new Java JBoss modules to update information in the same database and tables, while the integrity of the database is maintained.
  • This slide shows how it is possible to place a message on a JMS queue within the JBoss Application server and allow this message to be forwarded automatically to a MQSeries queue, where it can be retrieved by a waiting application and processed. Similarly, it is possible to place a message on a MQSeries queue and have this forwarded automatically to a JMS queue in the JBoss Application Server and the message can be processed by a Message Driven Bean.
  • This slide shows a the use of a non-standard capability provided with the ClearPath JBoss installation, that allows an OLTP client to communicate with a EJB within the JBoss application server. If you remember that I previously stated that if you use Hibernate to create the database records and you use a Hibernate generated record-id, then Hibernate must insert a new record in the table. So using this non-standard Capability, it is possible for a transaction on the ClearPath server (acting as a OLTP client), to connect to the EJB within the Application Server to insert a new record in the database. It should be noted that this example was developed using a previous version of JBoss (version 3.x) and that things have changed since then with regards to areas such as the introduction of EJB3 that provides a simplified development approach using annotations and more tightly coupled with the data persistence environment, and JMS providing better connectivity between JMS environments on different application servers and other message queuing environments such as MQSeries. The idea behind the development of this demo application was to show various capabilities and test the integrity of the data within the database.
  • 05/06/10 According to the Web Services Architecture Specification:   “ A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.”   Defined by the World Wide Web Consortium (W3C) to enable applications to interoperate over a network
  • 05/06/10 Our services are based on our 3D Blueprinting. For example, we can use this framework or methodology to look at an application, extract business rules, and determine the actions necessary to include this in an SOA architecture.
  • To aid us in the modernisation process, we have a series of models that describe typical or common processes, and these we can use as is or adapt to a specific customers needs.
  • 05/06/10 By using 3D Blueprinting methodology, we can determine the best approach for a smooth transition to SOA. Based on the information provided through the 3D Blueprinting analysis, we can determine how best to implement SOA, for example, using wrappers for complete applications, re-engineer parts of applications using application servers and web services, or replace applications or components with COTS. In this way, we achieve composite applications consisting of secure and mature application code and data with a flexible and open interface layer to allow the fast implementation of new functionallity.
  • 05/06/10
  • SOA and composite applications

    1. 1. Architectural Flexibility - Distributed and Centralized
    2. 2. ClearPath Java: Total Flexibility Mix and Match Tiers Distributed / Composite Data server Data server Web server Web server App server App server App server Data server Or Applications and data distributed across multiple ClearPath systems Centralized All tiers on one ClearPath infrastructure Web server App server Data Server Web server
    3. 3. Choice of Centralized and Distributed Heterogeneous Java Environments Windows ES7000 Linux Centralized Distributed / Composite Or ClearPath Web server Web server Web server App server App server Data server Data server All tiers on one ClearPath infrastructure Web server App server Data Server SUN HP App server Unix IBM Data server ClearPath
    4. 4. Available Today: Many ClearPath Multi-tier Java Architecture Options Web Server Any Server ClearPath Client tier Web tier JSPs Servlets Business tier Beans EIS tier Data- base Trans- actions n -tier: spread across multiple servers Any Server ClearPath Client tier Web tier JSPs Servlets Business tier Beans EIS tier Data- base Trans- actions 3-tier: J2EE server & ClearPath ClearPath Client tier Web tier JSPs Servlets Business tier Beans EIS tier Data- base Trans- actions 2-tier: ClearPath direct to client Web Server ClearPath Client tier Web tier JSPs Servlets Business tier Beans EIS tier Data- base Trans- actions 3-tier: Tomcat or Windows IIS with JBoss on ClearPath Websphere Weblogic JBoss Websphere Weblogic JBoss Web Service
    5. 5. Rapid Application Development with Industry Standard Tools
    6. 6. Develop ClearPath Java Applications - Use Industry Standard Skills and Tools ClearPath non-Java Applications and Data <ul><li>Eclipse IDE : </li></ul><ul><li>Open Source (free) </li></ul><ul><li>Most popular </li></ul><ul><li>Easy with Eclipse plug-ins : </li></ul><ul><li>Unisys-built plug-ins </li></ul><ul><li>Open Source plug-ins (Hundreds) </li></ul><ul><li>3 rd Party plug-ins </li></ul>ClearPath Java Applications Unisys Value Add: Tight integration with ClearPath non-Java Applications and Data
    7. 7. Security
    8. 8. ClearPath Java Role-Based Security <ul><li>Unisys value add integration </li></ul><ul><li>Role-based Java Security between JBoss and ClearPath </li></ul><ul><li>Access permission assigned to roles, new users get access permissions based on their role </li></ul><ul><li>Provides simplified administration </li></ul><ul><li>Unified authentication between Java and ClearPath </li></ul>
    9. 9. SOA-enabling software for ClearPath OS 2200
    10. 10. OS 2200 software SOA enablers <ul><li>Java </li></ul><ul><ul><li>Native JVM implementation </li></ul></ul><ul><ul><li>JBoss application server </li></ul></ul><ul><ul><li>Resource adapters for RDMS, DMS, TIP/HVTIP, DTP services, BIS </li></ul></ul><ul><ul><li>Eclipse plug-ins </li></ul></ul><ul><li>Other OS 2200 SOA-enabling software </li></ul><ul><ul><li>OpenDTP (Open Distributed Transaction Processing) </li></ul></ul><ul><ul><li>MQseries </li></ul></ul><ul><ul><li>DTI (Distributed Transaction Integrator) </li></ul></ul><ul><ul><li>MSMQI (Interface to Microsoft Message Queuing) </li></ul></ul><ul><ul><li>NTSI (Messaging Integration Services) </li></ul></ul><ul><ul><li>CITA (Communications Interface for Transaction Applications) </li></ul></ul><ul><ul><li>Third-party products for screen-scraping and ODBC access </li></ul></ul>The right tool for every job
    11. 11. Java on OS 2200 <ul><li>Java Virtual Machine </li></ul><ul><ul><li>Native implementation on OS 2200 </li></ul></ul><ul><ul><li>Integrated with OS 2200 security and file systems </li></ul></ul><ul><li>JBoss </li></ul><ul><ul><li>Open source Java EE application server </li></ul></ul><ul><ul><li>Validated, prepackaged and enhanced for 2200 with security, transaction integration and more </li></ul></ul><ul><ul><li>Redhat-JBoss offers additional open source products, including JBoss Enterprise Middleware Suite (JEMS) – “ The open source platform for SOA.” They are also developing an open source enterprise service bus. </li></ul></ul>
    12. 12. Java on OS 2200: Resource adapters Resource Managers Resource Adapters RDMS DMS BIS TIP HVTIP TIP Resource Adapter BIS Resource Adapter DMS Resource Adapter DTP Svcs Open DTP Resource Adapter RDMS Resource Adapter “ Duke” Java mascot Web Service
    13. 20. Eclipse for SOA and composite apps <ul><li>From the open source community: </li></ul><ul><li>Eclipse 3.1.2 </li></ul><ul><li>EMF-SDO-XSD SDK 2.1.2 </li></ul><ul><li>GEF 3.1.1 </li></ul><ul><li>JEM SDK </li></ul><ul><li>SQL Explorer 2.2.4 </li></ul><ul><li>WTP 1.0.3 </li></ul><ul><li>Unisys Composite Applications 3.1.1: </li></ul><ul><li>OS 2200 Project Perspective </li></ul><ul><li>Telnet client and library </li></ul><ul><li>Version of Eclipse COBOL plug-in feature modified by Unisys for OS 2200COBOL Dialects </li></ul><ul><li>JAI The Java Application Integrator (JAI) – OS 2200 TIP/HVTIP Resource Adapter tools </li></ul><ul><li>Eclipse JDT APT - Provides Java 5.0 annotation processing support </li></ul><ul><li>PLUS Editor </li></ul><ul><li>CDT - Eclipse CDT feature, providing a C/C++ editor for OS 2200 C/C++ files and a full C/C++ project development environment. </li></ul>Eclipse Dorado All-In-one package : Unisys developed plug-ins and open source tools WTP = Web Tools Project Next release will include a version of WTP with direct support of web services 2200-specific tools All-in-one downloadable from website
    14. 21. Web Services <ul><li>Standardized way to implement SOA over the Internet (or any network) </li></ul><ul><li>Based on XML files and messages </li></ul><ul><ul><li>WSDL (Web Service Description Language) to describe services </li></ul></ul><ul><ul><li>SOAP (Simple Object Access Protocol) to format messages </li></ul></ul><ul><ul><li>Dozens of other standards at varying levels of maturity </li></ul></ul><ul><li>When you want the highest degree of standardization, platform independence, and future flexibility </li></ul><ul><li>When functionality is needed by business partners, clients, and suppliers who operate in a wide variety of computing environments </li></ul><ul><li>When you have technology that supports them, such as the Java EE environment on OS 2200 </li></ul>What are Web Services? When should you use them?
    15. 22. Native OS 2200 middleware <ul><li>Described in the OS 2200 modernization white paper: </li></ul><ul><ul><li>OpenDTP </li></ul></ul><ul><ul><li>MQseries </li></ul></ul><ul><ul><li>DTI </li></ul></ul><ul><ul><li>MSMQI </li></ul></ul><ul><ul><li>NTSI </li></ul></ul><ul><ul><li>CITA </li></ul></ul><ul><li>When you have no need to extend the services outside the data center and your internal, active networks </li></ul><ul><li>When you have real-time performance needs that cannot be met in a Web Service environment </li></ul><ul><li>When you have specific platform and technology integration needs </li></ul><ul><li>When you do not have Java expertise but do have expertise in direct use of these middleware solutions </li></ul><ul><li>When you are using distributed transactions that span services </li></ul>Remember: SOA and Web Services are NOT synonymous! Use native middleware…
    16. 23. SOA-enabling Unisys Professional Services
    17. 24. Unisys services are based on 3D Blueprinting <ul><li>The next generation business and systems modeling architecture that integrates business vision and IT execution, to drive organizational agility. </li></ul>BUSINESS ARCHITECTURE SERVICES-BASED TECHNICAL ARCHITECTURE — INFRASTRUCTURE MODEL — APPLICATION MODEL — BUSINESS PROCESS MODEL — BUSINESS STRATEGY MODEL Reduce Cost by Eliminating Application & Infrastructure Redundancy Reduce Business Process “Cycle Times” For Competitive Advantage Increase Agility by Assessing Impacts and Reacting more quickly to Change
    18. 25. 3D Blueprinting and SOA SOA provides the “Structural Abstraction” that links Business Architectures to traditional IT Architectures (Application & Infrastructure) A robust approach to service orientation leverages services at the Process, Application, & Infrastructure tiers 3D Blueprinting provides methods and frameworks to structure “services” at the Business Process layer, Application Layer, and Infrastructure layer, providing a robust and “aligned” SOA implementation across an implementation Consumer Provider Business Process Architecture Service Architecture Component Architecture Business Technology
    19. 26. 3D Blueprinting enables composite applications The Unisys Service-Oriented Architecture approach allows for flexible integration of existing custom, package, and component based applications into a single logical solution <ul><li>Stateless business component approach </li></ul><ul><li>Industry standard XML messaging (OASIS) </li></ul><ul><li>Surround existing custom systems with web services </li></ul><ul><li>Repurpose package functions as web services </li></ul><ul><li>Infrastructure services – implemented once! </li></ul>SERVICE ORIENTED INTEGRATION FRAMEWORK Legacy Systems Packaged Systems New Component Development (Java EE or .NET) Creation of “Smooth” Transition Architectures is critical to obtaining incremental business value “ Reuse before Buy, Buy before Build, Build for Reuse”
    20. 27. <ul><li>SDF is the way we deliver the promise of 3D Blueprinting to our clients </li></ul><ul><li>Designed to deliver end-to-end mission critical SOA infrastructure </li></ul><ul><li>Incorporated with project management discipline to control risk and cost structure of SOA solution implementation </li></ul><ul><li>Produce clear deliverables for each project lifecycle to meet client’s expectations </li></ul><ul><li>Maintain best practices and use of tools and techniques for project quality standards compliance </li></ul>3D Blueprinting Solution Delivery Framework (SDF) methodology
    21. 28. 3D Blueprinting Solution Delivery Framework (SDF) for your SOA evolution Validate SOA Opportunity 3D Blueprinting Infrastructure Experiential Workshop Assess and Advise IT Infrastructure Assessment Application Discovery & Analysis Proof of Concept Plan and Design SOA Deployment Plan SOA Architecture Design Operations Design SOA Transformation Plan Implementation Installation & Configuration Optimization & Performance Analysis Training