Adapter and EAI

advertisement
Adapters and EAI
Technology, Tools and Trends
Presenter: Atul Apte
President and CEO, iConexio Technologies Canada Inc.
Copyright 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 adapterrelated
• 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
Application to Application (A2A) EAI
Business Application
Function
Adapter
Transformer
Database
Adapter
Business Application
Database
XML
Data
Integration
Broker
Adapter
SOAP
Web
Services
Broker
UDDI
Function
Adapter
Application to Information (A2I) EAI
Business Application
Function
Database
Adapter
EII
Server
ETL
Information Portal
Database
Data
Warehouse
Adapter
Portal
Server
Function
Application to Process (A2P) EAI
Business Application
Business Application
Function
Function
Database
Adapter
Partner / Supplier
Systems
Database
Database
Adapter
Adapter
XML
XML / EDIFACT
Workflow
Engine
Firewall
WFMC
EDI
Gateway
Function
A2A Patterns
Data Replication Pattern
Data
Change
Detector
Data Source
Data
Extractor
Data
Filter
Data
Loader
Other Patterns
Data Synchronization (Bi-directional Data Replication)
Composite Data Extraction
Collaboration of Shared Services
Data Target
A2I Patterns
Information Creation Pattern
Data
Retriever
Data Source
Meta-Data
Creator
Info
Aggregator
Other Patterns
Extract Transform Load (ETL)
Data Staging
Info
Presenter
Information Sink
A2P Patterns
Task Delegation Pattern
Workflow
Manager
Task
Assignment
Agent
Task to
Function
Map
Other Patterns
Business Process Management
Function
Manager
Business
Application
Generic EAI Solution Architecture
Broker
Transformer
Foundation (Host, JMS, CORBA, Transaction and Database Engines)
Adapter
Adapter
Adapter
Adapter
Adapter
Information
System
Information
System
Information
System
Information
System
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 company1 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
1ID
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 Adapter Use Case
Simple Use Case (Atomic Scenario)
API
Client
SAP
Adapter
SAP
•Check customer
•Add new order
Complex Adapter Use Case
Complex Use Case (Collaborative Scenario)
Simple Use Case
SAP
Adapter
SAP
API
API
Client
Add new
order
Siebel
Adapter
Siebel
Check
customer
Adapter Technical Architecture
Technology Stack
Client Interface
Service Gateway
Responsible for providing unidirectional or
bidirectional access to adapter services
Responsible for defining and implementing service
contracts and access control
Document Manager
Responsible for parsing, filtering, and formatting data
and documents
Transformation Manager
Responsible for data type conversion, data mapping,
object aggregation and object decomposition
Scenario Manager
Information System Manager
Host Environment Manager
Responsible for managing single/multiple adapter
scenarios involving one or more information systems
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
Optional Layer
Document Manager
Transformation Manager
Scenario Manager
Information System Manager
Host Environment Manager
Optional Layer
Adapter Technical Architecture
Technology Stack
Client Interface
Service Gateway
SOAP/UDDI
Document Manager
XML / XSLT
Transformation Manager
Scenario Manager
Information System Manager
Host Environment Manager
J2EE:JCA
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
Adapter Models
Analysis, Architecture and Design
Implementation
Conceptual
Patterns
Functional
Patterns
Structura
l
Patterns
Integration
Patterns
Abstract Adapter
Model
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 subspecification 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 breakthrough, 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
E-Fusion Product Architecture
Integrated Collaboration Environment (ICE)
Adapter Development Environment (ADE)
Extends
Adapter
Models
Adapter
Repository
Adapter
Development Tool
Generate Adapter
Component Shell
From Models
Java
IDE
Assemble & Test
Adapter
Register Components
To E-Fusion
Define Scenarios
Code
Adapter Runtime Environment (ARE)
Configure Adapters
Monitor Adapter
Adapter
Deployment Tool
Adapter
Runtime Platform
Run Adapter Scenarios
Extends
Applicatio
n
Platform
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 EFusion 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
Execution
Manager
Execution
Manager
Controller
Controller
Repository
E-Fusion Adapter
Runtime Platform
CPU/OS
E-Fusion Adapter
Runtime Platform
Application Server
(J2EE / CORBA / Other)
CPU/OS
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
Download