Enterprise Application Integration

advertisement
Enterprise Systems
Anatomy of enterprise
applications

Enterprise Applications keep track of information related
to the operations of the enterprise


e.g. Inventory, sales ledger
And execute the core processes that create and
manipulate this information

Process from order to cash received
Enterprise data
Orders
Purchases
Customers
Shipments
Marketing
Planning
Service
Billing
Inventory
Assets
Accounting

Project
management
HR
Data in the organisation is captured in a number of data
models

Data models describe the way data is defined in databases or
exchanged between applications
3
An example of a business process:
Purchase-to-Pay
1. Determine requirements,
complete purchase
requisition.
Automatically generate the
purchase requisition based
on quantity on-hand,
quantity-on-order, and
expected demand.
© L. Gray, CNU
4
Purchase-to-Pay
2. Prepare and record
purchase order.
Assists the buyer in
identifying sources of
supply for the requested
item, preparing RFQs
to vendors, analyzing
vendor quotes,
comparing vendor
prices, terms, and past
performance
5
Purchase-to-Pay
3. Receive and record
goods.
Compare quantity
ordered to quantity
received.
Routes goods to the
function that requested
them or directs them the
warehouse for
immediate sale. It also
records vendor
performance data.
6
Purchase-to-Pay
4. Receive vendor
invoice, match with PO
and receiving report;
record payable.
If the three-way match
fails, the enterprise
system notifies the
proper personnel to
ensure timely
reconciliation of
differences.
7
Purchase-to-Pay
5. Prepare and record
cash disbursement and
update accounts.
Uses vendor and AP
data to schedule
payments in accordance
with vendor terms and
to receive discounts.
8
Enterprise process models

Each process model captures the series of steps and
interactions required to complete a specific business
process

The execution of the process will impact on the
enterprise data across one or more applications

A process may be executed within a single application or
more often through collaboration between several
applications
9
Mapped to functional systems
Orders
Purchases
Customers
Sales
Shipments
Marketing
Marketing
Call centre
Logistics
Service
Warehouse
Finance
dept


Inventory
Billing
Planning
Assets
Accounting
HR
Project
management
HR
Originally, the process and data models were implemented in a wide variety
of functional system (related to organisational departments)
Each system consisting of a database, application logic and user interface 10
Recall: Problems with function
based application

Sharing of data between systems



Applications that don’t talk to one
another


HR
Sales
Manufacturing
Limited or lack of integrated information
Isolated decisions lead to overall
inefficiencies


Data duplication
Data inconsistency
Increased expenses
Therefore, there is a general
requirement for integration to support
organisational system capabilities

For instance Customer Relationship
Management – tracking all information about
a customer across the enterprise
Stovepipe systems
11
Enterprise integration requirement

Unrestricted sharing of data and business processes
across an organization


The linking of data, business processes and applications to
automate business processes


Extend to customers, suppliers and regulators
While ensuring that there are consistent qualities of service
(security, reliability etc)
Reduce the on-going cost of maintenance and reduce the cost of
rolling out new systems.
12
Two architectural solutions
Integration

Leave existing applications in place

Minimises risk of disruption and change in data models/process models

Link existing applications with integration systems which map
between existing data and process models and add ‘missing’
process models where required

Effective when most of the functionality is already implemented in
systems and the integration is primarily creating linkages and
processes between these applications
13
Two architectural solutions
Consolidation

Replace existing applications

Redesign data and process models to best solve the complete set
of requirements and then implement these models in a new system


Results in consistent data and process models across enterprise
Effective when significant additional functionality is required beyond
what is already in the applications, there is a requirement for
business process improvement or integration between the
applications is too complex/expensive
In most cases both consolidation and
integration occurs within an organisation
14
Enterprise Application
Integration
An architecture for integration
Introduction

EAI was an approach to integration of applications first developed in
the late 1990s.


Pre-dated widespread use of JEE, XML and Web Services.
EAI currently has become subsumed into Service Oriented
Architecture software stacks

However, the need for the underlying capabilities have not changed.
16
Diverse systems and channels
Internet
Example of a banking environment
17
IT reality – Islands of Computing
Purchased Application
Package(s) – ERP etc.
Program
Legacy
Application
System(s)
Program
Program
New Webbased
application(s)
Program
Program

Program
Program
Program
Program
Enterprise IT reflects the structure and history of each
enterprise not the business processes required today


Departments have their own IT systems
Legacy systems are left in place and new systems built
separately.
18
Tactical approach to integrating
the Business
Application
System B
Extract
Program
Program
Down
load
File
Load
Program
Program
Program
Screen
Application Scrape
System A
Program
Trans
action
File
Extract
Program
Message
Queue
Database Replicator
Extract
Program
Down
load
File
Program
Trans
action
File
Program
Load
Program
Down
load
File
Load
Program
Application
System C
Program
Program
Program
Message
Queue



Each requirement is addressed with a point to point solution
Typically consisting of a data transfer mechanism and a
format converter.
Increasing levels of supplier/client integration points further
19
complicates the situation.
Strengths and weaknesses of tactical
approach

Strengths



Technical Weaknesses




Focused on getting the job done
Each individual solution can be created quickly
Numerous Point-to-Point Interfaces
Inconsistent Business Processes
Inconsistent Qualities of Service
Business Weaknesses



Cost of maintenance
Requirement to retain knowledge of the solution in-house.
Potential security or loss of service/process failure due to
inconsistencies.
20
Enterprise integration requirement

Unrestricted sharing of data and business processes
throughout the networked applications or data sources in
an organization


The Linking of Data, Business Processes, Applications to
automate business processes


Extend to customers, suppliers and regulators
While ensuring that there are consistent qualities of service
(security, reliability etc)
Reduce the on-going cost of maintenance and reduce the cost of
rolling out new systems.
21
Solution: Enterprise Application
Integration (EAI)

Devised ways to efficiently reuse legacy and existing
apps and add new ones

EAI products are built on combination of technologies





JEE
XML (eXtensible Markup Language) for enterprise-wide content
and data distribution using common DBs and Data Standards
Message queuing
Business Process Orchestration engine
Sometimes Web Services
22
Layers of an EAI Stack
Provides real-time and historical data on performance
of processes and assists in making decisions.
EAI
Business Activity
Monitoring
Business Process
Orchestration
Data Transformation
Message Storage &
Routing
Manages and tracks business transactions that might
span multiple systems and last minutes to days.
Ensures the data is the correct format for delivery to
The next system.
Ensures the reliability of data delivery across the
Enterprise or between systems.
Adapter
Adapter
Provides “open” connectivity into data sources while
allowing filtering and transformations of data.
23
Adapters

EAI
Business Activity
Monitoring

Business Process
Orchestration
Data Transformation

Message Storage &
Routing


Adapter
Also known as “Connectors”, “Translators”,
“Wrappers” or “Bridges”
Provide seamless connectivity to the
underlying application or data
Convert information and events into data
that can be utilized by the infrastructure
Many adapters available off the shelf

Adapter

Two way translation between the proprietary
format and the common format
From EAI Software vendors such as Tibco,
or application software vendors such as
SAP.
JEE architecture provides JCA
24
Message storage and routing
EAI

Business Activity
Monitoring
Reliable messaging

Business Process
Orchestration

Data Transformation

Message Storage &
Routing
Message storage


Adapter
Adapter

Products that connect applications running
on different systems by sending and
receiving application data as messages
JEE architecture provides JMS interface
Central repository for temporary storage of
transactions until they can be delivered
Also called “Message Warehousing”
Message queuing and routing


Asynchronous communications style /
Publish Subscribe
Set of tools that route messages between
sources and consumers based on predefined business rules
25
Data Transformation

EAI
Data Transformation
Business Activity
Monitoring

Business Process
Orchestration


Data Transformation
Message Storage &
Routing
Adapter

Transformation to and from formats used by
Different Systems
Handling simple or complex data structures
Typically representing data using XML
standards such as XQuery and XSLT
GUI Configuration tools to help define the
transformations
Adapter
26
Data Transformation
Source
F. name: Ronan
L. name: Bradley
Affiliation: DIT, Dublin,
Ireland

Intermediate or
canonical
format
Target
Name: Ronan Bradley
Company: DIT
City: Dublin
Country: Ireland
EAI typically converts the source data into an intermediate
format and then convert it into the target format

Intermediate format is called the canonical format.
27
Issues in data transformation

Challenge 1: Coping with software from different vendors


Challenge 2: Coping with different formats


A mostly solved problem (Oracle vs. DB2 vs. SQL Server)
A solved problem: Relational vs. XML vs. ISAM
Challenge 3: Coping with different data models

Solvable for the smaller scale cases


As the complexity and scale of the data models increases
becomes harder and harder


one person understands all the schemas
Theoretically possible but lots of practical problems
Challenge 4: Coping with data from new sources such as new
systems, suppliers, customers

Lots of unsolved problems
28
EAI: Building a canonical data model

Create a common data model including a set of terms for the
concepts in the domain of the data sources being integrated





e.g., Employee, Customer, Patient, weight, height,
bodyTemperature, …
EAI solutions do this within their own domain (canonical format)
XML Ontologies attempt to do it for any domain required in a selfcontained way but are very hard to build
Mappings relate data items in data sources to terms in data
model
Background knowledge about terms essential for
transformations

e.g., Employee subClassOf Person, 2 people with the same last
name, first name and street address are likely to be the same,
29
Mapping the formats


Using the canonical
data model, each
message format can be
mapped into and out of
that format.
Requires many
potentially complex
mapping definitions.
30
Business Process Orchestration

EAI
Process Modeling

Business Activity
Monitoring

Business Process
Orchestration

Data Transformation
Message Storage &
Routing

Process Brokering

Adapter
Adapter



Often GUI based
Describing the flow of information in the
context of business processes
Using the input/output of processes as the
Integration points between diverse business
processes
Execution of discrete steps within a
business process
Ability to recover from failed steps
Workflow engine
Process Management


Monitor business processes
Correlate metrics to specific business
process steps
31
Business Activity Monitoring
EAI

Business Activity Monitoring is using your
data assets to make better decisions

BAM is used to gather information about
what is occurring in the EAI deployment
Business Activity
Monitoring
Business Process
Orchestration
Data Transformation

Message Storage &
Routing

Status of current processes
Identification of problem areas


Adapter
Adapter
Monitoring of unusual activity


E.g. Spotting applications that are not
responding
E.g. Unusually large orders
The collected information is displayed
for operators or managers to diagnose
and determine the solution
32
Example of a BAM dashboard

Shows current activity,
future load, historical
trends and alerts

These can relate to the
business process level
events or infrastructure
events
33
Potential EAI benefits

Lower development costs


Lower opportunity costs



Overtime, each additional integration requirement can more
easily be addressed
Integration is done more quickly
corresponding cost savings reachieved sooner
Lower maintenance effort


adapters extract the interaction with external systems
significant advantage from the software engineering point of view
34
Potential EAI Challenges

Hub and spoke architecture concentrates all of the processing into a
single server/cluster.



The canonical data model introduces an intermediary step


Added complexity and additional processing effort
EAI products typified by

Heavy customisation required to implement the solution

Lock-In: Often built using proprietary technology and required specialist
skills
Lack of flexibility: Hard to extend or to integrate with other EAI products!


Often became hard to maintain and evolve efficiently
Hard to extend to integrate 3rd parties on other technology platforms
Requires organisation to be EAI ready
35
What is EAI readiness?



Much of the challenge associated with adopting EAI is not
related to the technology.
EAI readiness is a state of business maturity in which its
systems, processes, employees, structure, and culture are
prepared for the successful introduction of both EAI
technology and the business disciplines that drive its
introduction.
All five of these factors must be properly situated and
aligned before an EAI implementation can succeed.
Culture
Technology
Employees
Processes
Structure
©2001, IT Catalysts,
Process readiness

Business strategic goals for project (i.e. process efficiency,
customer satisfaction, supply-chain optimization) clearly
defined and agreed upon by company executive
leadership.

Company makes use of mature methodologies that design
integrated business change.

Desired business processes designed, documented, and
valuated.

Gap between current and desired business processes well
understood.
Employee readiness

Staff accustomed to using information technology in
performance of day-to-day work.

Staff accustomed to adaptation of new roles,
responsibilities, processes, and knowledge … to business
change.

Staff have broad understanding of the business and their
contribution to it.

Executives understand the role of business sponsorship,
and the nature of investing time, staff and budget into the
business infrastructure in order to reap future returns.
Technology readiness

No systems to be integrated using EAI tools have critical
business logic not in the application itself


This can happen if the logic required is in a batch programs or
reports which are not part of the actual application and hence cannot
be integrated with.
No systems to be integrated using EAI tools will be retired/
decommissioning soon.

There is no point integrating with a system which will soon be
removed

Most of the business functionality required in process designs
exists in one or more legacy systems.

Applications portfolio has been evaluated for semantic
compatibility.


Check it is possible to transform from 1 data model to the other
Implementation of EAI not defined as the purpose of the effort.

The project should be about the business objective, not about the
technology
Structural readiness

Keep it simple by ensuring that the EAI system involves as
few departments/organisations as possible.


Stakeholder analysis performed to determine overall
potential for business resistance to the planned change.


Each organisation involved adds to the complexity of the
project as more people have to be engaged with and there are
potentially greater variety of technologies and architectures.
EAI projects change the way that each
department/organisation works. Therefore, EAI projects need
the cooperation of each department/organisation.
Business sponsor established and ready to provide
leadership to the business change.
Cultural readiness

Corporate culture embraces the importance of well-defined
business processes.

Staff accustomed to adaptation of new roles,
responsibilities, processes, and knowledge … to business
change.

Individuals and departments willing to change the way the
applications and data is defined.
Download