Introduction to Enterprise Application Integration Platforms David S. Linthicum Chief Technology Officer SAGA Software, Inc.
New Book
Defining The Problem
The Integration Problem (i.e. Opportunity) Multiple, disparate applications Custom Legacy Packaged Multiple platforms Multiple databases Multiple transaction processors Multiple data entry points Multiple versions of the same data Incompatible business data
The Problem “70% of all code written today consists of interfaces, protocols and other procedures to establish linkages among various systems” “30% of entire IT budget is spent on building, maintaining, and supporting application integration”
1998 IT Budget Total = $275 Billion Source: Forrester Research EAI is Expensive! $82.5 Billion Application Integration Efforts 1998 IT Budget Total = $275 Billion Source: Forrester Research
Factors Contributing To The Problem Application systems are built at different times by different groups operating independently of each other Organizations are stuck in a quagmire of incompatible architectures and hard—to—maintain, but harder—to—eliminate legacy applications Organizations are embracing a “buy before build” strategy that favors purchased application packages over internal development
Trends Driving The EAI Problem Growing adoption of packaged applications Base of business critical “legacy” systems Multiple platforms, protocols and technologies Internet is driving business to business activity 4
Enterprise Application Integration Market (Includes engines for transformation, rules & publish/subscribe & adapters) $ Millions This slide is a new version of another chart. This one takes advantage of PowerPoint’s built—in charting features. 43% CAGR (1997—2001) Source: Gartner Group
The Result—“Islands Of Automation” Data Warehouse Sales Automation S390 Legacy System Heterogeneity Data Syntax ERP Production Systems Info Context Web Applications 5
Short Term Goal Of EAI Preserve and leverage existing information technology systems Bridge diverse “islands of automation” Purchase and integrate “best of breed” offered by independent software vendors
Long Term Goal Of EAI Integrate systems by sharing methods (composite applications) Provide a change-as-grow go approach Deep integration and management layers offered by vendors
Disorder Today Application Application Application Application
But, what is EAI technology? Order Tomorrow Application Application Application EAI Application Application Application Application But, what is EAI technology?
Message Broker Vendors Say: Application Application Application Message Brokers Application Application Application Application
Application Server Vendors Say: Servers Application Application Application Application
Distributed Object Guys Say: Application Application Application Distributed Objects Application Application Application Application More on this later...
In The Past We Coded Our Way To EAI Data Packaged Applications 10011010000101010101110100110100101010100010 10100101010 Code Middleware Legacy Apps
Now, We Are Looking To Work Smarter Components Data Packaged Applications BUS Middleware Legacy Apps
The Middleware-Centric Enterprise Business Event 1 New customer is entered in the Accounting System ADABAS DB/2 Business Event 2 All systems need to be updated... CustID CustID CUSTOM CODING 25- 40% of Project Budgets GartnerGroup 30% of IT Budgets Forrester SAP Financials Siebel Customer Service CustID CICS Credit Mgmt CustID How does a middleware-centric enterprise move information between independent applications? BAAN Distribution System CustID
The Business-Process Centric Enterprise Business Event 1 New customer is entered in the Accounting System MESSAGE BROKER ADABAS CustID Transformation Agent Adapter Repository ENTERPRISE MESSAGING DB/2 CustID SAP Financials Siebel Customer Service CustID Event-driven Minimum programming Pre-built Adapters Distributed Multiple Platform Inherent Management Built-in Software Distribution CICS Credit Mgmt CustID BAAN Distribution System CustID
Example: Supply-Chain Integration Business Event New EDI message from the German Supplier Note Stock is a combination of BIN and UNIT Old name is Genset Stock: 23-ZAQ123 Desc: Count: 106 Output Message 1 Update CICS Transid = GENU Stock = BIN + Unit Desc =Generator-II CICS Inventory EDI Gateway Input Message ZA-Change Transformation + Routing Note Two changes Description Price BIN: 23 Unit: ZAQ123 Price: $ Note Price is in US$ Type: ZA-Change BIN: 23 Unit: ZAQ123 Desc: Generator-II Price: 199.99 Marks Output Message 2 Update SAP iDoc = INVCON BIN = BIN Unit = Unit Price = lookup SAP Billing Currency lookup
New Order message from the Web Example: Web Commerce Business Event New Order message from the Web Rule Create Credit Check message only if Amount > 3000 CICS Credit Check Application Server Input Message Order Transformation + Content Routing Type: Order ID: 235-678 Unit: ZAQ123 Amount: 4500.10 MQ Accounting Rule Create MQ message only if Credit Check = Y
Message Broker Architecture Rules Node Manager Transformation Service Routing User Interface Service Enterprise Messaging Service JMS JDBC RMI Validate Filter RDBMS (Persistence) Admin Console Workbench Routing Agent Service Repository Service Node Service JNDI Adapter Adapter Adapter Adapter Development Kit JDBC RDBMS Databases Middleware Storage Service ADABAS RDBMS JDBC ODBC etc. EntireX Tuxedo MQ-series MSMQ, CICS, etc. Applications SAP, BAAN Peoplesoft, Natural, Lawson, etc JDBC RDBMS Logs, etc
Why Existing EAI Methods Fall Short Point to point file transfer Key issues—security, guaranteed delivery, real time support Primitive and difficult to manage Database gateways Data level integration only Does not scale Custom coding Requires cross platform expertise Requires application specific expertise Takes too long! 6
E-business and EAI Are Joined At The Hip Business-to-business Supply chain integration Business-to-business web integration Business-to-consumer EAI for intra-company trading
Making Sense of EAI
Macro Approaches to EAI Coupled - Binding of methods together to form integrated application pairs Does not scale and limits system types Invasive Cohesive - Event-driven integration of both methods and data Integrates a variety of systems using a variety of design patterns Noninvasive
Types Of EAI Data level Application interface level Method level User interface level
Levels of Enterprise Integration User Interface-Level Mainframe Mainframe Method-Level Business Process Business Process Application Interface-Level Applications Applications Data-Level Data Data
Transformation Formatting Data Level EAI User Interface User Interface Logic Logic Data Data EAI Transformation Formatting
Value Of Data Level EAI It’s inexpensive It’s proven Availability of technology and expertise It’s fast Risk adverse
Issues With Data Level EAI Does not solve the ultimate method integration problem, more of a stopgap measure Does not scale well for OLTP type application integration Could mask important issues with the enterprise information systems
Enabling Technology For Data Level EAI Middleware Database-oriented middleware ODBC (Open Database Connectivity) JDBC Database gateways Message brokers and other MOM (Message Oriented Middleware) Data warehouse tools and technology ETL (Extract, Transform and Load) Database replication features
Application Interface Level EAI Big 3: SAP®, PeopleSoft®, Oracle® Packaged application interfaces Back doors are open Back doors are closed Integration layers Data Objects Business services
Application Interface Level EAI Business Services Full Service Interface Objects Data
Other Interfaces Vertical Market Health Care Manufacturing Financial Others
Custom Application Integration Rolling your own API Application wrapping Finding points of integration
Application Wrapping GUI Process Process Process Object Data
Value Of Application Interface Level EAI Provides method, as well as data sharing mechanism Moves information out of systems, once difficult to access Provides the infrastructure for sharing common business processes Supports common business problems, such as mergers and acquisitions
Issues With Application Interface Level EAI Interfaces that packaged application vendors provide vary from good to nonexistent Everyone is claiming tight integration with packaged applications but true packaged application integration difficult to achieve without a lot of customization The big 3 are slow to open up the doors
Enabling Technology Middleware Message brokers Database-oriented middleware Application servers Distributed objects Proprietary packaged application utilities Packaged applications themselves
Method Level EAI Process integration to create a composite application Sharing business logic Sharing code Sharing processing Shared programs Shared transactions Shared objects
Value Of Method Level EAI Provides true code reuse infrastructure for many enterprise applications Availability of technology and expertise Ultimate EAI solution for many enterprises
Issues With Method Level EAI Much more complex and expensive than the other approaches Takes a lot of time, architecture, and planning Enabling technology may not scale to enterprise class applications or fall short in other ways
Enabling Technology Application servers TP monitors Distributed objects Traditional development tools
User Interface Level EAI EAI of last resort? Screen scraping Approaches Screens as objects Screens as data
Value Of User Interface Level EAI Does not require changes to source or target systems Does not require creating a new interface, or any interface Low risk, low cost Technology is available and stable
Issues With User Interface Level EAI Performance Perceptions Only prolonging the EAI problem in many instances
Enabling Technology 3270 emulators Terminal application libraries Screen to object translators Message broker and application server adapters
Enabling Technologies
Types Of Middleware Connection-oriented middleware Message-oriented middleware Database-oriented middleware Transaction-oriented middleware Object request brokers Message brokers
Message Broker Message Broker Tools Data Transformation Application Application Application Tools Data Transformation Intelligent Routing Repository Rules Engine Message Broker
The Solution: A Message Broker Application A Application B Applications are empowered to create messages encapsulating additions/changes/deletions of their business objects A message broker routes and distributes the messages to the various integrated applications The broker transforms the data into the appropriate representation for the destination The broker contains logic to assist in the execution of business process work flow
Typical Message Broker Architecture APPLICATIONS DATABASES MIDDLEWARE & APPLICATION SERVERS Management Services Repository Service Node Services Agent Adapter Services Agent Service Adapter Component ADK Integration Services Routing Service Transformation Service Integration Workbench Messaging Services Message Warehouse Service Enterprise Messaging Svc Admin Console
Progression Of Enterprise Integration Solutions Process Automation Message Brokering and Translation Value Transport EI Implementation Order Source: Dain Rauscher Wesseis
Inter-Enterprise Enterprise Integration Virtual Enterprise Company A Company B EAI System 1 System 2 System 1 Translate System 3 System 2 Route Company C Company D Rules System 1 System 2 System 1 System 3
Application Servers and Message Brokers Merge Share Methods Share Information Transaction Translate Transaction Route Transaction Rules Transaction
EAI On-The-Move Making systems more valuable Saving money Freeing the information for the enterprise “Integration not perspiration"
Where To Go For More Information Books: Enterprise Application Integration Enterprise Application Integration Using Java and XML Essential Client/Server Survival Guide, Second Edition David Linthicum’s Guide to Client/Server and Intranet Development Magazines: Software Development Magazine, Middleware Spectrum, Distributed Computing, Component Strategies, EAI Journal. Online: www.mesageq.com, www.techweb.com
Wrap Up!