Copyright iConexio Technologies Canada Inc.
Adapters and EAI
Technology, Tools and Trends
Presenter: Atul Apte
President and CEO, iConexio Technologies Canada Inc.
Agenda
•
Session 1:
–
Background on software integration
–
Background on adapters
–
Overview of adapter technology
•
Session 2:
–
Overview of trends in adapter technology
–
J2CA, Web Services, Semantic Adapters
–
Overview of adapter development tools
•
E
-
Fusion product architecture
•
Q&A
Background On Software Integration
•
Software integration is the #1 IT priority today
•
It is also the most complex and expensive problem to solve
•
About 30%
-
40% of all IT costs are integration
-
related
•
Approximately 1/2 of all integration costs are adapter
-
related
•
Adapters represent the highest incremental cost of software
integration
•
Each software system that needs to be integrated requires
an adapter
Background On Software Integration
•
The primary focus of software integration is
information systems (or business applications)
–
The two main areas of software integration are:
•
Data
•
Function (Web Services)
–
The two main types of software integration environments are:
•
Point to Point (Application Server based)
•
Brokered (Integration Platform based)
–
The extended focus of software integration is business processes
•
Integrating information systems with business processes
•
Automating the integrated business processes
Background On Software Integration
•
Components of Software Integration Platform
–
Foundation components
•
Host (Application Server, Integration Server, others)
•
Messaging bus (JMS, others)
•
Object brokers (OMG)
•
Database engines (RDBMS, ODBMS, others)
•
Transaction engines (XA compliant, others)
–
Value add integration components
•
Transformer
–
Mapping, Object aggregation, Object decomposition
•
Broker
–
Routing, Filters
•
Adapters
Current Perspective on EAI
•
EAI is still a big, complex, expensive, tedious and
repeating problem faced universally by companies
of all sizes
–
Approximately 1/3 of all IT costs are EAI related
–
Approximately 1/2 of all EAI costs are adapter
-
related
•
The definition of EAI is much broader today and includes
software systems within and outside the companies
firewalls
–
The term “EAI” has been changed and misunderstood with the continuing
evolution of EAI technologies
Current Perspective on EAI
•
EAI is an ongoing initiative and requires strategic
thinking, strong risk management, and realistic
goal oriented implementation plans
•
Industry studies have reported that the success
rates of EAI project is very low < 5%
•
Existing methodologies, project management
practices & processes are not enough to deal with
the unique and specific risk management
requirements of EAI
Current Perspective on EAI
•
iConexio has a strong commitment to solve one of
the toughest problems of EAI namely
development of custom/customized adapters and
lowering the total cost of ownership
•
The first step is to define EAI in a clear and
simple form easy to understand, comprehend, and
implement
Definition of EAI
EAI is the process of integrating applications and
database systems into a unified software system
capable of supporting:
–
On
-
demand data exchange
–
Collaboration of shared functions
–
Consolidation & Transformation of data into information
–
Automating data synchronization
–
Automating business process
EAI Domains
•
The EAI processes are grouped into a set of
logical processes (“Domains”) which simplifies
the definition of specific EAI processes
–
Application To Application Domain (A2A
-
Domain)
•
The process of integrating two or more business applications
–
Application To Information Domain (A2I
-
Domain)
•
The process of integrating a business application with information
producers (data warehouses), information access portals, etc.
–
Application To Process Domain (A2P
-
Domain)
•
The process of integrating a business application with one or more
work flows, EDI gateways, supply chain automation networks, mobile
workforce networks
EAI Domain Reference Models
•
Every EAI Domain is supported by a context
sensitive reference model that can be used to
define, design, deploy a customized EAI solution
•
Each EAI domain reference model contains:
–
A logical architecture that defines the components and
relationships of the EAI process
–
A set of integration patterns that define the different behavior and
interactions of the EAI process
–
A technology stack containing layers of technologies and standards
that enable the EAI process
Business Application
Business Application
Application to Application (A2A) EAI
Database
Database
Function
Function
Data
Integration
Broker
Adapter
Adapter
Web
Services
Broker
Adapter
Adapter
SOAP
XML
Transformer
UDDI
Information Portal
Business Application
Application to Information (A2I) EAI
Database
Database
Function
Function
Adapter
EII
Server
Adapter
ETL
Data
Warehouse
Portal
Server
Business Application
Partner / Supplier
Systems
Business Application
Application to Process (A2P) EAI
Database
Database
Function
Function
Adapter
Workflow
Engine
Adapter
EDI
Gateway
XML
Database
Function
Adapter
XML / EDIFACT
Firewall
WFMC
Data Replication Pattern
A2A Patterns
Data
Change
Detector
Data
Extractor
Data
Filter
Data Source
Data Target
Data
Loader
Other Patterns
Data Synchronization (Bi
-
directional Data Replication)
Composite Data Extraction
Collaboration of Shared Services
Information Creation Pattern
A2I Patterns
Data
Retriever
Meta
-
Data
Creator
Info
Aggregator
Data Source
Information Sink
Info
Presenter
Other Patterns
Extract Transform Load (ETL)
Data Staging
Task Delegation Pattern
A2P Patterns
Task
Assignment
Agent
Task to
Function
Map
Workflow
Manager
Business
Application
Function
Manager
Other Patterns
Business Process Management
Generic EAI Solution Architecture
Foundation (Host, JMS, CORBA, Transaction and Database Engines)
Broker
Transformer
Adapter
Information
System
Adapter
Information
System
Adapter
Information
System
Adapter
Information
System
Adapter
Information
System
Adapter Technology Status Quo
•
Adapters represent the highest incremental cost of
integration
–
Each applications that needs to be integrated requires a minimum
of one to three adapters (A2A, A2I, A2P)
•
The average Fortune 1000 company
1
has 48
applications and 14 databases for a total of 62
potential adapters
•
There are few specific tools and platforms
available for development and maintenance of
adapters
1
ID
C
Definition of an Adapter
•
There is no Single Definition of an Adapter
•
But there is a common understanding of the
adapters behavior and role
•
Adapters, Connectors, Plug
-
ins, Web Services,
Integration Components and other proprietary
terms are used in different context to mean
“Adapter Type Of Functionality”
•
Adapter definitions tend to be context sensitive
Generic Definition Of Adapter
•
An Adapter is a software component which
integrates two different instances of software
systems
–
Typically the software systems integrated are business applications
(information systems)
•
In a brokered integration environment a business application is
integrated with the broker by using an adapter
–
Adapter facilitates integration between the integrated software
systems
•
Provide connectivity between the systems
•
Manage the interactions between the systems
•
Enforce transformation and other business rules
Background On Adapters
•
The concept of adapters was first introduced by
the Enterprise Application Integration (EAI)
vendors in the later half of 1990’s
•
Adapters have become the most important aspect
of software integration
–
Every software that needs to be integrated requires an adapter
–
The average Fortune 1000 company has 48 different business
applications and 14 different databases¹
–
Adapters represent the highest incremental cost of software
integration
¹
IDC
Background On Adapters
•
Until recently there were no standards for
developing and supporting adapters
–
J2EE:JCA is the first system level standard designed to support
adapters on the Java Application Server
•
Major vendors are now supporting J2EE:JCA in their Java application
servers
•
Adapters are becoming a commodity
–
System standards for adapters will result in more focus on
integration functionality
–
Multiple providers of the same adapter will give users opportunity
to compare adapter features
Background On Adapters
•
Generally adapters are custom developed from
scratch
–
Most information systems are proprietary or heavily customized
–
The average cost of developing and maintaining an adapter for
packaged applications like SAP, PeopleSoft, etc. over a five year
period is over U$ 1 Million
•
The adapter market has few tools available for
developers
–
The biggest challenge in creating adapter tools is the expertise and
experience required to design, develop, and maintain complex
adapters
Adapter Interactions
•
An adapter use case defines a specific interaction
between the two software systems integrated by
the adapter
–
An adapter use case is a sequence of one or more functional steps
•
There are two types of steps in an adapter use case
–
Integration function (Connection, Parsing, Transformation, etc.)
–
Support function (System Logging, Error handling, Audit Trail, etc.)
–
Two types of use cases
•
Simple Use Case
–
Involves only one adapter (two software systems)
•
Complex Use Case
–
Involves two or more adapters (four or more software systems)
Adapter Scenarios
•
An adapter scenario is a specific instance of an
adapter use case and is bound to a specific runtime
environment
–
Atomic Scenario (Derived from simple use case)
–
Collaborative Scenario (Derived from complex use case)
•
It is possible for adapter scenarios to change
between atomic and collaborative scenarios
depending on the runtime environment
Simple Use Case (Atomic Scenario)
Simple Adapter Use Case
SAP
Adapter
SAP
API
Client
•
Check customer
•
Add new order
Complex Use Case (Collaborative Scenario)
Simple Use Case
Complex Adapter Use Case
SAP
Adapter
SAP
Siebel
Adapter
Siebel
API
API
Client
Add new
order
Check
customer
Adapter Technical Architecture
Technology Stack
Client Interface
Service Gateway
Document Manager
Transformation Manager
Scenario Manager
Information System Manager
Host Environment Manager
Responsible for providing unidirectional or
bidirectional access to adapter services
Responsible for parsing, filtering, and formatting data
and documents
Responsible for managing single/multiple adapter
scenarios involving one or more information systems
Responsible for defining and implementing service
contracts and access control
Responsible for data type conversion, data mapping,
object aggregation and object decomposition
Responsible for managing connectivity to the
information systems
Responsible for managing the lifecycle and
collaborating with the operating platform
Adapter Technical Architecture
Technology Stack
Client Interface
Service Gateway
Document Manager
Transformation Manager
Scenario Manager
Information System Manager
Host Environment Manager
Optional Layer
Optional Layer
Adapter Technical Architecture
Technology Stack
Client Interface
Service Gateway
Document Manager
Transformation Manager
Scenario Manager
Information System Manager
Host Environment Manager
SOAP/UDDI
J2EE:JCA
XML / XSLT
Simplifying Adapter Complexity
•
How to manage the technical complexity of
adapters?
–
Use model based software development techniques
•
Pre
-
defined software models based on integration and design patterns
will provide a robust framework for developing adapters
–
Developing multiple adapters for one application
•
Encapsulate fewer interfaces into one adapter instance
–
Collaborate with external transformers instead of developing
transformer functionality in each adapter
Implementation
Analysis, Architecture and Design
Adapter Models
Abstract Adapter
Model
Structura
l
Patterns
Functional
Patterns
Conceptual
Patterns
Integration
Patterns
Concrete Adapter
Model
Trends In Adapter Technologies
•
Adapters are more sophisticated in functionality
–
Web services enable application function level collaboration
–
J2EE Connector Architecture enables plug
-
and
-
play support for
adapters inside application servers
–
Adapters can function in a point
-
to
-
point or broker based
integration environment
•
Standard adapter models will provide a consistent
architecture and design for adapters
•
Adapter tools will enable faster, cheaper, and
easier development and maintenance
Impact of Web Services
•
The most significant impact of web services is the
shift in software application architecture
•
Service Oriented Architecture “SOA” is becoming
the foundation for new internet based business
applications
–
The concept of “Composing” business applications from existing
software services
–
Web services enables development of “SOA” compliant
applications
–
Adapter have an even more critical role in fulfilling “Services”
Impact of Web Services
•
Where is the Synergy between adapters and web
services?
–
Web services provide a standardized platform for defining,
locating, and invoking business services
•
WSDL, UDDI, SOAP
–
Adapter provide a standardized component mechanism for
fulfilling the web services by accessing external software systems
•
J2CA
–
Both web services and adapters are moving towards a common
semantic environment enabling rapid “composition”
•
UDEF, RDF
What is J2EE Connector Architecture?
•
J2EE Connector Architecture (J2CA) is a sub
-
specification of J2EE
•
J2CA is a system level interface for hosting and
accessing connectors to non
-
J2EE applications
–
J2CA connectors extend the J2EE servers ability to interface with
non
-
J2EE applications
–
Most J2EE servers support J2CA specification
•
IBM WebSphere, BEA WebLogic, Jboss, Oracle AS
–
J2CA compliant adapters for popular applications like SAP,
PeopleSoft, are now available in the market place
What is J2EE Connector Architecture?
•
J2CA Specification (Ver 1.5) defines system
contracts for managing security, transactions, and
connections between J2EE application
components and legacy systems
•
Support meta
-
data interfaces and bi
-
directional
access between adapters and legacy systems
•
Message driven access to J2CA connectors is now
possible
Moving Towards Semantic Adapters
•
What is a Semantic Adapter?
–
A Semantic Adapter provides an interface to the semantics of the
adapter
•
Adapter Behavior (Services provided by the adapter)
•
Meta
-
data of the adapted systems data structures
•
Meta
-
data of the adapted systems service interfaces
•
Configuration properties of the adapters runtime environment
–
A Semantic Adapter uses an Ontology based approach to define
the semantics
•
This involves associating commonly understood meaning to the
definition of adapter properties, behavior, configuration, and
associated meta
-
data
Adapter Development Tools
•
Fundamental Requirements
–
Enable just in time adapter development and maintenance
•
Customers do not purchase adapters ahead of requirement
•
End points (information systems) change and therefore pre
-
built
adapters need customization too
–
Extend the model based design (MBD) paradigm to adapters
•
Model based development significantly reduces development time
and cost, and increases adapter quality
–
Differentiate and support abstract adapter models and concrete
adapter models
–
Enables multiple implementations of a common abstract adapter model
Adapter Development Tools
•
Fundamental Requirements
–
Enable adapter developers to focus on the business requirements of
integrating two software systems
•
Develop and maintain platform controllers which encapsulates the
operating platform system interfaces from adapter developers
–
Eliminates the burden of learning and programming system level
interfaces and standards
–
E.g: J2EE:JCA controller which encapsulates J2EE:JCA system
contracts from the adapter developer
•
Generate adapter framework and component shell from pre
-
defined
adapter models
–
Ensures design consistency, reduces bugs and enhances the quality of
adapters
E
-
Fusion Adapter Technology
•
Objectives:
–
Solve the root cause of high adapter development and maintenance
costs
•
Provide the best adapter development tools and runtime platform
–
Define the core technology architecture for adapters
–
Define new adapter standards and methodologies
•
Support relevant industry standards applicable to adapters
–
Develop a single adapter technology framework capable of
supporting different adapter interactions, programming languages
and operating platforms
•
Reduces the total cost of ownership for adapters
Overview of E
-
Fusion Adapter Tool
•
iConexio has developed E
-
Fusion, a break
-
through, patent pending technology for Adapter
development and maintenance
•
E
-
Fusion reduces the time & cost to develop and
maintain software adapters from 41% to 75%
•
Rapid progression towards holistic integration of
information systems for improved ROI
–
A2A
–
A2I
–
A2P
Benefits of E
-
Fusion
•
E
-
Fusion extends the Model Based Development
(MBD) software paradigm and applies is to
adapters
•
E
-
Fusion provides specific platform controllers
which eliminates 90% of the server/platform
coding
•
E
-
Fusion’s Development and Testing
methodology significantly improves adapter
quality
Benefits of E
-
Fusion
•
E
-
Fusion sets new standards for adapters
–
First to provide developers with design and implementation
standards for the business functions supported by adapters
–
First full life cycle adapter development methodology
•
E
-
Fusion provides a Adapter Platform which
includes all of the common adapter infrastructure
•
E
-
Fusion enables developers to concentrate on the
elements unique to each adapter project,
independent of platform
Positioning E
-
Fusion
•
E
-
Fusion provides a common adapter tooling
environment across application platforms
–
IBM platforms
•
WebSphere Application Server
•
WebSphere Business Integration Server (Crossworlds)
•
MQSeries (Integrator, Workflow, Messaging)
•
Mainframe and AS400
–
J2EE Application Servers
–
CORBA ORB’s
–
.NET Platform
–
Legacy Operating Systems (UNIX, Linux)
Positioning E
-
Fusion
•
E
-
Fusion provides a universal adapter hub across
enterprise integration environments
–
Business Integration
•
Process Integration
•
Application Connectivity
–
Enterprise Information Portals
•
Information Integration
–
EAI
•
Data Integration
–
Web Services
•
Application Collaboration
Integrated Collaboration Environment (
ICE
)
Adapter Development Environment (
ADE
)
Adapter Runtime Environment (
ARE
)
E
-
Fusion Product Architecture
Adapter
Runtime Platform
Adapter
Deployment Tool
Adapter
Development Tool
Adapter
Repository
Java
IDE
Generate Adapter
Component Shell
From Models
Assemble & Test
Adapter
Define Scenarios
Configure Adapters
Run Adapter Scenarios
Adapter
Models
Extends
Code
Applicatio
n
Platform
Extends
Register Components
To E
-
Fusion
Monitor Adapter
E
-
Fusion Adapter Technology
•
Architecture:
–
Adapter architecture based on the concept of functional layers
•
Each layer encapsulates specific adapter functionality accessible as
well defined services
•
Each layer can be implemented as an isolated/distributed component
of the adapter
–
Architecture supports three types of interactions for an adapter
•
Synchronization
–
Keeping distributed data models in sync with each other
•
Collaboration
–
Enabling software systems to collaborate functions
•
Delegation
–
Enabling software systems to execute tasks on behalf of other systems
E
-
Fusion Adapter Technology
•
Adapter Model
–
Is a collection of one or more adapter patterns managed by the E
-
Fusion framework Integrated Collaboration Environment (ICE)
–
E
-
Fusion supports two types of Adapter Models
•
Abstract adapter model
–
Represents the architecture and design of an adapter
–
Adapters cannot be created directly from abstract adapter models as
there are no implementation details defined
•
Concrete adapter model
–
Represents the implementation reference model of an adapter
–
Includes one or more run
-
time scenarios
–
Adapters can be created from concrete adapter models
Adapter Development Environment
•
Adapter Development Environment (ADE)
supports developers throughout the full lifecycle
of adapter development and maintenance
–
From design to maintenance
•
Design, Develop, Assemble, Configure, Deploy, Maintain
•
Develop pre
-
built adapter models and support custom adapter models
–
Enable higher efficiencies in adapter development without
changing existing development workflow and processes
•
Integrate E
-
Fusion with leading IDE tools and extend the tools
capabilities to support adapter development
•
Define new adapter engineering and development methodologies
which can be applied with generic software development tools
Adapter Runtime Environment
•
Adapter Runtime Environment (ARE) supports
distributed and centralized adapter deployments
across multiple platforms
–
Support dynamic distribution of adapter components across the
platforms in the adapter runtime environment
–
Support centralized administration, monitoring, and debugging of
adapters at runtime
–
Support dynamic language (locale) translation for multi
-
lingual
runtime environments
–
Support dynamic component code download and side
-
by
-
side
runtime environments (production and QA)
E
-
Fusion Adapter Runtime Platform
CPU/OS
CPU/OS
Application Server
(J2EE / CORBA / Other)
E
-
Fusion Adapter
Runtime Platform
E
-
Fusion Adapter
Runtime Platform
Repository
Execution
Manager
Execution
Manager
Controller
Controller
Summary
•
Adapters are complex pieces of software
performing critical integration tasks
•
The definition of adapters continues to expand and
support new application architectures (“SOA”)
•
Adapter tools are now available for enabling rapid
adapter development and deployment
•
The trend is towards developing semantically and
functionally rich adapters will continue to
strengthen the role of adapters
Q&A
Thank You
Enter the password to open this PDF file:
File name:
-
File size:
-
Title:
-
Author:
-
Subject:
-
Keywords:
-
Creation Date:
-
Modification Date:
-
Creator:
-
PDF Producer:
-
PDF Version:
-
Page Count:
-
Preparing document for printing…
0%
Σχόλια 0
Συνδεθείτε για να κοινοποιήσετε σχόλιο