260 likes | 444 Views
Modern Approaches to Application and Data Integration. Quantifying the Legacy Challenge.
E N D
Quantifying the Legacy Challenge • The vast majority of the application portfolio will be custom and legacy systems. On average, users of EAI systems utilize 2.3 prebuilt adapters, but one year into the implementation they are connecting 5 or more systems. (Meta Group) • 40% of all new application development is spent on accessing existing data sources. (IDC) • It is estimated that 80% of corporate data is held in hierarchical and network DBMS. (Butler Group) • Median number of databases within a company is 14.7 (Gartner) Legacy application and data integration represents over 50% of the multi-billion dollar software integration market
Integration Drivers • Web Services • Standard interfaces to invoke application and data services regardless of underlying technology will ease integration • J2EE Application Servers • Functionality overlaps with integration brokers (e.g. messaging, transaction, security, transport) • JCA Standard • Proprietary application adapters a distant memory ala ODBC • Process Integration • Move from how to integrate to what to integrate – and support assembly of services
Integration Broker Integration Evolution Move from integration broker “hubs” … • Proprietary adapter frameworks • All resources routed through IB • Document-centric, emphasis on transformation … To service-oriented “bus” architecture • Standard interfaces and registry • Loosely-coupled integration • Assembly of services to create automated business processes
Interoperability UDDI/ebXML Marketplaces Customers Suppliers Partners Application Servers Integration Brokers New Applications HTTP/S SOAP JMS C-API JMS/JCA/JDBC SOAP/JMS/JDBC SOAP/JMS/JDBC BPI COM CORBA RMI JMS JDBC JNDI JCA XML JDBC ODBC XML JCA SOAP JCA Data Connect App Connect JCA Adapters JCA JCA RDB Data/ NRBD Files Service Legacy ADK (3GL) Packaged Apps BPI Packaged Apps
UDDI/ebXML Marketplaces Customers Partners Web Server App Server Integration Broker Workflow Service-Oriented Integration • Wrap services into the service repository (using wizards) • Assemble services into business functions or compound application (drag and drop) • Automate information flow (process designer) • Use multiple channels to expose services to consumers (internal/external) • Apply changes rapidly CICS COM/CORBA JNDI/JMS HTTP/SOAP App Server MF SAP Web Fin/Credit Inventory OrderMgmt Purchasing
xCBL Subprocess XML Subprocess xCBL Commerce One Marketplace PO Creation cXML Ariba Marketplace Send PO XML Datastream iProcure BPI OCI SAP EDI Subprocess Bus Connection ANSI X12 E-Invoicing (GE PowerSystems) Raytheon Procurement System Email Supplier Portal RMS Print Internal and Fax Example
5 Extend as new Web Service Service – Check Global Inventory 4 XML/HTTP Service – Check Local Inventory Web Service – Check Supplier Inventory Service – Create Alert 1 2 3 From Process to Web Service
Service-Oriented Integration Requirements • Rapid process assembly and automation • Modeling, design and implementation • Wraps disparate services into a repository, making them seamlessly available and reusable • Multiple interaction channels • Service factories to a multitude of application and technology domains • Portable and independent XML based programming model • Distributed deployment (scalable, reliable, available)
ORDER ENTRY POINT OF SALE DISTRIBUTION UNIX WWW ERP TN3270 AppServ Java DATA WARE-HOUSE OLAP NSK DEVELOPMENT OPERATIONS MVS MVS VMS AS/400 NT NT CICS MANMAN PEOPLE-SOFT HUMAN RESOURCES MANUFACTURING FINANCE Spaghetti The Integration…
ORDER ENTRY POINT OF SALE DISTRIBUTION BC UNIX BC WWW ERP TN3270 BC VISUAL BASIC DATA WARE-HOUSE Bus Connection BC BC OLAP NSK DEVELOPMENT BC OPERATIONS MVS MVS BC VMS AS/400 NT NT BC CICS MANMAN PEOPLE-SOFT HUMAN RESOURCES MANUFACTURING FINANCE One Data Bus
Application Server Application Component JCA Adapter Bus Connection Bus Connection Bus Connection Bus Connection Flat Files, XMLDocuments SQL Database Legacy Application CRM Legacy Data eMarketplace Bus Architecture Virtual Database Virtual Database
XML ODBC JDBC OLE DB ADO XML JDBC Win VMS XML ODBC JDBC Tandem NSK AS/400 XML Windows SQL MVS OBJECT HIERAR- CHICAL NSK XML ODBC JDBC IBM OS/390 XML ODBC INDEXED OpenVMS FLAT FILE UNIX AS/400 XML ODBC JDBC UNIX XML ODBC A Single Transparent Data Source Virtual Database
Keep to the Standards • Distributed bus architecture for data and application integration • XML-based metadata, transformation and transport • Heterogeneous data integration • “Virtual Database” where single statement can span multiple data sources and platforms • Unique query optimization and caching technology • Transaction management • Legacy application integration • Adapters to CICS, IMS/DC, COM, Natural • ADK to encapsulate C/Basic/Cobol/Fortran structures • Standard Interfaces • JDBC, ODBC, ADO, XML, JCA, BEA JCA, SOAP
XML Thin Client Interfaces Client Application IntegrationEngines IntegrationEngines IntegrationEngines Socket/HTTP Comm. Comm. FireWall FireWall TCP/IP Client Interfaces Client Interfaces Client Interfaces Data & Application Interfaces Data & Application Interfaces Data & Application Interfaces Comm. Comm. Comm. Data Sources Data Sources Data Sources Applications Applications Applications Data Sources Data Sources Data Sources Applications Applications Applications Peer-to-peer Universal Integration Client Application JCA JDBC OpenVMS OS/390 Windows Tandem AS/400 Unix OS/390 OpenVMS Windows Tandem AS/400 Unix OpenVMS Windows Tandem AS/400 Unix OS/390 Client Application Client Application Client Application
Application Data Connection Application Connection JDBC | ODBC | ADO | … JCA | XML | .NET(SOAP) |… Application Adapters Data Adapters Dual Architecture Application Engine Data Engine Base Services
Database Connection Simple data – tables Declarative access Common language: SQL Generally accepted common models (such as relational, network, hierarchical) Established APIs: ODBC, ADO/OLEDB, JDBC Two Kinds of Connections • Application Connection • Complex hierarchical data • Procedural access • No common language • No accepted common model • Emerging APIs: XML, JCA, MS .NET / SOAP (ADO+)
Client Interfaces ODBC OLE DB JDBC XML JCA SOAP Distributed Communications Legacy XML CICS CRM Relational Proprietary COM Custom Applications RDBMS Mainframe ERP Connection Block Diagram Data & Application Interfaces Application Engine Data Engine Distributed Communications
Client Interfaces Standard interfaces: • JDBC –thin JDBC for pure Java client • ODBC – also as CLI on non-Windows • ADO/OLE DB • XML In – XML out • JCA • SOAP
Connectivity Requirements • Universal access to data and applications • Transparent interfaces • Heterogeneous and distributed joins • XML capabilities • Query optimization • Peer-to-peer architecture • Universal SQL
What is JCA for? "The J2EE Connector architecture is trying to extend what JDBC has done for Java and J2EE in terms of providing uniform and simplified connectivity with databases, to the world of heterogeneous EISs [Enterprise Information Systems]." Vijay Sarathy, product manager for Connectors and JDBC, Sun Microsystems, Inc.
What is JCA? • J2EE Connector Architecture (JCA) • Culmination of an industry wide effort • Including BEA, IBM, Inprise, IPLanet, Motorola, Oracle, SAP, Sun, Sybase, Unisys • Well woven into the J2EE framework • Similar to the JDBC API • Used to access relational databases • JCA is standard architecture • Use to integrate J2EE applications with EISs that are not relational databases • Two main scenarios: • 3-tier (managed) scenario • 2-tier (non-managed) scenario
3-Tier Scenario • Thin client (the 1st tier) works against application component residing in application server using application adapter (the 2nd tier) • The application adapter works with the EIS (the 3rd tier) • Application component (via JCA CCI interfaces) • Activates interactions against the EIS • Application server (via JCA SPI interfaces) • Configuration • Transactions • Security • Connection management
2-Tier Scenario • Fat client works against application adapter directly (the 1st tier) • Application adapter works against EIS (the 2nd tier) • Client uses CCI and SPI interfaces • Complete control over the entire operation of the application adapter
ADK Adapter Metadata J2EE Connector Architecture (JCA) Overview J2EE Application Server Container-Component Contract BEA WebLogic J2EE Application Server Application Component Component Contract CCI Connection Manager JCA Adapter Resource Adapter System Contracts Transaction Manager SPI Security Manager EIS-SpecificInterfaces Enterprise InformationSystem