Types of Application Integration IST 421 Spring 2004

  • Slides: 44
Download presentation
Types of Application Integration IST 421 Spring 2004 Lecture 2

Types of Application Integration IST 421 Spring 2004 Lecture 2

o Enterprise integration should enable organizations to become more agile and flexible. This means:

o Enterprise integration should enable organizations to become more agile and flexible. This means: n n 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

Data-Level Integration

Data-Level Integration o Advantages: n n n Tools and techniques currently exist Relatively easy

Data-Level Integration o Advantages: n n n Tools and techniques currently exist Relatively easy Requires no changes to the application logic or database structure

Coupling o The act of bringing together o Binding logic with data o Problems:

Coupling o The act of bringing together o Binding logic with data o Problems: n n 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 o Act of “sticking” together o Applications and databases are independent o Changes

Cohesion o Act of “sticking” together o Applications and databases are independent o Changes to any source system should not affect the others o Integration solutions should be cohesive rather than coupled

Coupling vs. Cohesion o Systems can be added, changed or removed from a cohesive

Coupling vs. Cohesion o Systems can be added, changed or removed from a cohesive solution n Message brokers provide this infrastructure o For common business processes to be reused, coupling may be more valuable n n n Distributed objects Transaction processing monitors Application servers

Data-Level Example o A company that manufactures copper wiring would like to hook up

Data-Level Example o A company that manufactures copper wiring would like to hook up the inventory control system, a client/server system using Power. Builder and Oracle, and the Enterprise Resource Planning (ERP) system using an Informix relational database.

Data-Level Example n n Only sales data will move When a sale is entered

Data-Level Example n n 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 o Replication and Transformation Solution n Move information between different types of

Data-Level Example o Replication and Transformation Solution n Move information between different types of databases, i. e. , Sybase, Oracle, Informix n Move information between different models, i. e. , relational, object-oriented, multidimensional n Transforms data on the fly 09/17/62 Linthicum Dave Transform September 17, 1962 David Linthicum

Data-Level Integration o Database-to-Database n Replication solution – move data between databases with the

Data-Level Integration o Database-to-Database n Replication solution – move data between databases with the same basic schema n Replication and Transformation solution o Advantages: n Simple n Low risk n Reduces cost o Problems: n Application logic may be bound to the data, i. e. , SAP R/3.

Data-Level Integration o Federated Database o “Virtual” Database n n Single point of application

Data-Level Integration o Federated Database o “Virtual” Database n n Single point of application integration Access data from any number of databases, using various brands, models, and schemas

Data-Level Integration o Advantages: n n Middleware to share information between applications Hides the

Data-Level Integration o Advantages: n n Middleware to share information between applications Hides the difference in the integrated databases o Problems: n n Need to create logic for integrating the applications with the database Not considered a true integration approach

Data Source to Consider o Relational databases o IDMS o IMS o VSAM o

Data Source to Consider o Relational databases o IDMS o IMS o VSAM o ISAM o Flat files

Application Interface Level

Application Interface Level

Application Interface Level o Application Interfaces – gain access to levels or services of

Application Interface Level o Application Interfaces – gain access to levels or services of an application o Application Programming Interfaces (APIs) –well-defined mechanisms to connect to resources such as an application server, middleware layer, or database.

Application Interface Level o Java’s RMI (Remote Method Invocation) o CORBA (Common Object Request

Application Interface Level o Java’s RMI (Remote Method Invocation) o CORBA (Common Object Request Broker Architecture) o IIOP (Internet Inter-ORB Protocol) o Microsoft’s COM+ (Component Object Model)

Application Interface Level Example o A company has 2 systems: a new ERP system

Application Interface Level Example o 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 Level Example o ERP vendor provides APIs that work within C++, C,

Application Interface Level Example o ERP vendor provides APIs that work within C++, C, and Java. o Libraries that drive the API downloadable from vendor’s web site.

Application Interface Level Example Get. Invoice. Information(“ 12345”); <BOM> John Smith 222 Main Street

Application Interface Level Example Get. Invoice. Information(“ 12345”); <BOM> John Smith 222 Main Street Smalltown, VA 88888 Invoice Number: 123435 001 Red Bricks 1000 <EOM> . 50 500. 00

Application Interface Level Example Get. Customer. Information(“cust_no”); Quantity. Available(“product_no”);

Application Interface Level Example Get. Customer. Information(“cust_no”); Quantity. Available(“product_no”);

Application Interface Level Example o COBOL system, no API exists. o Build an API

Application Interface Level Example o COBOL system, no API exists. o Build an API – expensive o Select the right middleware to bind the ERP API on one side and the custom application API on the other side. n n n Message brokers Message-queuing middleware Application servers o Interfaces in this example provide access to both data and business processes

Packaged Applications o SAP, People. Soft, Oracle, Baan n n Business critical applications Accounting

Packaged Applications o SAP, People. Soft, Oracle, Baan n n Business critical applications Accounting Inventory Human resources Manufacturing

Packaged Applications o Centralized Architecture

Packaged Applications o Centralized Architecture

Packaged Applications o Two-Tier Architecture – 3 distinct layers n n n The user

Packaged Applications o Two-Tier Architecture – 3 distinct layers n n n The user interface layer The business logic layer The data layer Fat Client

Packaged Applications o Two-Tier Architecture – 3 distinct layers n The user interface layer

Packaged Applications o Two-Tier Architecture – 3 distinct layers n The user interface layer n The business logic layer Thin Client n The data layer

Packaged Applications o Three-Tier Architecture n n Most popular Scalable

Packaged Applications o Three-Tier Architecture n n Most popular Scalable

Application Interface Level o Architecture has direct relationship with application interfaces n n Many

Application Interface Level o Architecture has direct relationship with application interfaces n n Many packaged applications allow direct access to the database by using the business logic or application layer Understanding the architecture presents the opportunities for integration

Packaged Application APIs o Types of services n Business service – interfaces to any

Packaged Application APIs o Types of services n Business service – interfaces to any piece of business logic within the application; provide integrity controls for the data n Example: Update the database with new customer information from another application, business services would allow you to invoke the “customer update business service” from the API

Packaged Application APIs o Types of services n n Data service – direct route

Packaged Application APIs o Types of services n n Data service – direct route to the logical or physical database; generally for exporting data Objects – data and business services bound as objects; offer an advantage of maintaining integrity checks set up by the packaged applications

Vertical Market APIs o Provide access to industry-specific applications o SWIFT (Society for Worldwide

Vertical Market APIs o Provide access to industry-specific applications o SWIFT (Society for Worldwide Interbank Financial Telecommunications) n n Messaging standard Owned by member banks, including the central banks of most countries

Vertical Market APIs o FIX (Financial Information Exchange) n n Messaging service for real-time

Vertical Market APIs o FIX (Financial Information Exchange) n n Messaging service for real-time electronic exchange of securities transactions Evolved FIXML to give structure and valid grammar using XML to standard messages o HL 7 (Health Level 7) n Standard for electronic data exchange of health care information

Method-Level Integration

Method-Level Integration

Method-Level Integration o Allows the enterprise to integrate through sharing common business logic or

Method-Level Integration o Allows the enterprise to integrate through sharing common business logic or methods. n n Define methods that can be shared by multiple applications - reused Infrastructure for method sharing needed

Method-Level Integration o Requires most applications be changed in order to take advantage of

Method-Level Integration o Requires most applications be changed in order to take advantage of method sharing n n n Change application Test the changed application Integrate Redeploy the application $$$$$

Method-Level Integration Example o Two Applications: n n C++ application running on Linux Client/server

Method-Level Integration Example o Two Applications: n n C++ application running on Linux Client/server Java application on NT with Sybase database o Applications need to be tightly coupled to share business logic - Composite Application

Method-Level Integration Example o Rebuild the applications in one of two ways: n n

Method-Level Integration Example o Rebuild the applications in one of two ways: n n Move business logic to shared server Rebuild each application using methodsharing mechanism p Distributed object technology which allows remote sharing of methods: CORBA COM+ Work intensive process!!

Method-Level Integration o Four types of processes: n n Rules – set of conditions

Method-Level Integration o Four types of processes: n n Rules – set of conditions that have been agreed upon. Rules are built into applications to control the flow of information. Example: travel reimbursement requests must be made within 30 days of returning from a trip

Method-Level Integration n Logic – sequence of instructions in a program Example: if button

Method-Level Integration n Logic – sequence of instructions in a program Example: if button is pushed, then screen pops up 3 Classes of Logic: p Sequential processing p Selection p Iteration

Method-Level Integration n n Data – sharing information between applications, computers or humans Objects

Method-Level Integration n n Data – sharing information between applications, computers or humans Objects – bundles of data encapsulated inside an object and surrounded by methods that act upon the data p C++ p Java

Method-Level Integration o Frameworks – abstract classes and their object collaboration. Object-oriented programming supports

Method-Level Integration o Frameworks – abstract classes and their object collaboration. Object-oriented programming supports software reuse, frameworks support design reuse. n n Fully debugged and tested software subsystems Centrally located and accessible by many applications Provide infrastructure for sharing methods – provide objects that are accessible by a number of applications Provide reuse throughout an industry where many processes are the same

Enabling Technology o Application or Transaction Servers – transaction processing monitors for high volume

Enabling Technology o Application or Transaction Servers – transaction processing monitors for high volume systems n n n Web. Logic Kiva (Netscape Application Server) Net Dynamics

Enabling Technology o Distributed Objects n n Component Object Model (COM+) Common Object Request

Enabling Technology o Distributed Objects n n Component Object Model (COM+) Common Object Request Broker Architecture (CORBA)

Limits on adoption of this Technology o Political reasons are a primary reason for

Limits on adoption of this Technology o Political reasons are a primary reason for limited adoption of this technology n n n Internal politics Inability to select a consistent technology set Most invasive level of B 2 B integration