290 likes | 322 Views
Explore data-level integration methods for agile enterprise integration, including advantages, challenges, and examples of solutions. Learn about coupling, cohesion, and the role of message brokers and distributed objects. Discover how to integrate databases and applications effectively.
E N D
Types of Application Integration IST 421 Spring 2003 Lecture 2
Enterprise integration should enable organizations to become more agile and flexible. This means: • Continuously monitor market demand • Quickly respond by providing new products, services & information • Quickly introduce new technologies • Quickly modify business methods Lee, Siau, & Hong, Enterprise Integration with ERP and EAI, Communications Of the ACM, Vol. 46, Number 2, February 2003, 54-60.
Data-Level Integration • Advantages: • Tools and techniques currently exist • Relatively easy • Requires no changes to the application logic or database structure
Coupling • The act of bringing together • Binding logic with data • Problems: • Creates one application and database out of many, each dependent on the other • Over time, a change to any system means a change to the coupled systems as well
Cohesion • Act of “sticking” together • Applications and databases are independent • Changes to any source system should not affect the others • integration solutions should be cohesive rather than coupled
Coupling vs. Cohesion • Systems can be added, changed or removed from a cohesive solution • Message brokers provide this infrastructure • For common business processes to be reused, coupling may be more valuable • Distributed objects • Transaction processing monitors • Application servers
Data-Level Example • A company that manufactures copper wiring would like to hook up the inventory control system, a client/server system using PowerBuilder and Oracle, and the Enterprise Resource Planning (ERP) system using an Informix relational database.
Data-Level Example • Only sales data will move • When a sale is entered into the inventory control system, copy the new information to the ERP system to ensure availability of raw material. • Frequency of data movement – real time • Choose method for moving data
Data-Level Example • Replication and Transformation Solution • Move information between different types of databases, i.e., Sybase, Oracle, Informix • Move information between different models, i.e., relational, object-oriented, multidimensional • Transforms data on the fly Transform 09/17/62 Linthicum Dave September 17, 1962 David Linthicum
Data-Level Integration • Database-to-Database • Replication solution – move data between databases with the same basic schema • Replication and Transformation solution • Advantages: • Simple • Low risk • Reduces cost • Problems: • Application logic may be bound to the data, i.e., SAP R/3.
Data-Level Integration • Federated Database • “Virtual” Database • Single point of application integration • Access data from any number of databases, using various brands, models, and schemas
Data-Level Integration • Advantages: • Middleware to share information between applications • Hides the difference in the integrated databases • Problems: • Not considered a true integration approach
Data Source to Consider • Relational databases • IDMS • IMS • VSAM • ISAM • Flat files
Application Interface Level • Application Interfaces – gain access to levels or services of an application • Application Programming Interfaces (APIs) –well-defined mechanisms to connect to resources such as an application server, middleware layer, or database.
Application Interface Level • Java’s RMI (Remote Method Invocation) • CORBA (Common Object Request Broker Architecture) • IIOP (Internet Inter-ORB Protocol) • Microsoft’s COM+ (Component Object Model)
Application Interface LevelExample • A company has 2 systems: a new ERP system and a custom COBOL system. Each system runs on its own processor, connected to the corporate network.
Application Interface LevelExample • ERP vendor provides APIs that work within C++, C, and Java. • Libraries that drive the API downloadable from vendor’s web site.
Application Interface LevelExample GetInvoiceInformation(“12345”); <BOM> John Smith 222 Main Street Smalltown, VA 88888 Invoice Number: 123435 001 Red Bricks 1000 .50 500.00 <EOM>
Application Interface LevelExample GetCustomerInformation(“cust_no”); QuantityAvailable(“product_no”);
Application Interface LevelExample • COBOL system, no API exists. • Build an API – expensive • Select the right middleware to bind the the ERP API on one side and the custom application API on the other side. • Message brokers • Message-queuing middleware • Application servers
Packaged Applications • SAP, PeopleSoft, Oracle, Baan • Business critical applications • Accounting • Inventory • Human resources • Manufacturing
Packaged Applications • Centralized Architecture
Packaged Applications • Two-Tier Architecture – 3 distinct layers • The user interface layer • The business logic layer • The data layer One Tier
Packaged Applications • Three-Tier Architecture • Most popular • Scalable
Application Interface Level • Architecture has direct relationship with interfaces
Packaged Application APIs • Types of services • Business service – interfaces to any piece of business logic within the application; provide integrity controls for the data • Data service – direct route to the logical or physical database; generally for exporting data • Objects – data and business services bound as objects
Vertical Market APIs • Provide access to industry-specific applications • SWIFT (Society for Worldwide Interbank Financial Telecommunications) • Messaging standard • Owned by member banks, including the central banks of most countries
Vertical Market APIs • FIX (Financial Information Exchange) • Messaging service for real-time electronic exchange of securities transactions • HL7 (Health Level 7) • Standard for electronic data exchange of health care information