290 likes | 319 Views
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
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