Title: Enterprise Application Integration
1Enterprise Application Integration
- Ruh, Maginnis, Brown (2001) text
- Vendors
- Internet Resources
- Web Services
- EAI Journal online and print
2Enterprise Application Integration
- Packaged applications
- Legacy applications
- Data from variety of sources
- Stovepipe apps
3Enterprise Application Integration
- C 1 Business Drivers
- C 2 Types of Integration
- C 3 Building Blocks
- C 4 MOM
- C 5 Object arch
- C 6 Transaction arch
4Enterprise Application Integration
- Stats
- 30-60 IT resources on integration
- 35 of budgets
- 85 IT projects not completed
- 58 large projects over budget
- 63 projects off schedule
- 58 report success below 50
5Enterprise Application Integration
- Select
- Architect
- Apply
- Common Building Blocks
6Enterprise Application Integration
- Messaging Architecture
- IBM MQ Series
- Object Architectures
- EJB
- Transaction Architecture
- BEA Tuxedo
7Enterprise Application Integration
- Introductory text
- Look at concepts
- Then vendor applications
- Web Services later
8Enterprise Application Integration
- Technology is always changing
- Concepts
- Frameworks
- Application in an organization
9Enterprise Application Integration
- Key Facts p.1
- Definition p.2
- Enterprise Application Integration is the
creation of business solutions by combining
applications using common middleware.
10Enterprise Application Integration
- Middleware is application-independent software
that provides services that mediate between
applications. - Multiple types
11Enterprise Application Integration
- Goals
- Quick, easy, cheap
- Improved relationships
- Supply chains
- Mergers and acquisitions
- BPI
- Speed
12Enterprise Application Integration
- 360 view of relationships p.4
- Stovepipe applications definition p.5
- Examples and issues
- Supply-chain
- Examples and issues
13Enterprise Application Integration
- XML p.6
- BPI
- Speed p.7
- Legacy applications
- Packaged solutions COTS
14Enterprise Application Integration
- Internet p. 8-11
- Dot-bomb
- B2B, B2C
- Intranets
- Extranets
15Enterprise Application Integration
- Barriers to EAI
- Custom API, application programming interfaces
- Vendors
- Skills EAI
- Security
16Enterprise Application Integration
- Types of integration
- Chapter 2
- Key facts
- Integration model defines how applications will
be integrated by defining the nature of and
mechanisms for integration
17Enterprise Application Integration
- Presentation
- Data
- Functional
- Pages 19-21
18Enterprise Application Integration
- Presentation integration model allows the
integration of new software through the existing
presentations of the legacy software. This is
typically used to create a new user interface but
may be used to integrate with other applications.
19Enterprise Application Integration
- Data integration model allows the integration of
software through access to the data that is
created, managed and stored by the software
typically for the purposes of reusing or
synchronizing data across applications.
20Enterprise Application Integration
- Functional integration model allows the
integration of software for the purpose of
invoking existing functionality from other new or
existing applications. The integration is done
through interfaces to the software.
21Enterprise Application Integration
- Coupling
- White box integration
- Black box integration
22Enterprise Application Integration
- Presentation integration model p.22
- When to use it
- Green screen
- One look
- Only choice
- Examples
23Enterprise Application Integration
- Pros and Cons
- Skill level
- Speed
- Less complex
- Performance low
- Most limiting
24Enterprise Application Integration
- Data integration p. 24
- Batch file transfer
- Open database connectivity
- Data access middleware
- Data transformation
25Enterprise Application Integration
- When to use it
- Analysis of data
- Data warehouse
- Different vendors
- Synchronize
- EIS
26Enterprise Application Integration
- Pros and cons
- Flexible
- Reused
- Lack of functionality
- Simple access to data
- No logic access
27Enterprise Application Integration
- Functional integration model p.29
- Business logic
- RPCs
- Distributed processing middleware
28Enterprise Application Integration
- Distributed processing middleware
- MOM
- DOT
- TPM
29Enterprise Application Integration
- MOM
- Passing messages
- IBM MQ series
- Talarian Smart Sockets
30Enterprise Application Integration
- Distributed object technology
- OMG CORBA
- Microsoft COM
- Suns J2EE
31Enterprise Application Integration
- TPM
- Transactions
- BEA Tuxedo
32Enterprise Application Integration
- Breadth of functional integration
- Data consistency
- Multistep process
- Plug and play components
33Enterprise Application Integration
- Data consistency integration is integration
through the code of an application where the
purpose is to access or update data. The
integration facilitates the communication of data
and actions.
34Enterprise Application Integration
- Multistep process integration, also known as
straight-through processing, is the integration
of applications where there is not only
communications of requests but also the
coordination and management of these requests
across applications. The integration facilitates
communication of the request and manages the flow
and sequencing.
35Enterprise Application Integration
- Plug and play component integration is the
integration of applications where a well-defined
interface exists that allows a component to be
easily connected with other components without
modification. The integration facilitates the
communication of requests and handles all of the
interface definition and management.
36Enterprise Application Integration
37Enterprise Application Integration
- When to use it
- Difficulty
- Performance
- Future reuse
- Examples
38Enterprise Application Integration
- Pros and cons
- Robust
- Flexible
- Reuse
- Complex
- Difficult software
- May not be possible
39Enterprise Application Integration
40Enterprise Application Integration
- For EAI solutions need
- Methodology
- Technology
41Enterprise Application Integration
- Communication model
- 2 choices
- Synchronous wait until reply is received
- Asynchronous continue processing
42Enterprise Application Integration
- Receiver is software that receives a request from
a sender. - Request is a formatted set of actions and data
sent from a sending piece of software to a
receiving set of software
43Enterprise Application Integration
- Reply is a formatted set of data and possibly
associated actions that are sent as a result of a
request - Sender is software that sends a request to
another software component
44Enterprise Application Integration
- Synchronous communication occurs when the
communication between a sender and receiver is
accomplished in a coordinated manner. This
requires the sender and receiver to operate
dependent on the processing of request.
45Enterprise Application Integration
- Interactive systems require synchronous
communication. - Examples
46Enterprise Application Integration
- Three types of synchronous communication
- Request/Reply
- One-Way
- Synchronous polling
47Enterprise Application Integration
- Request/reply communication is a form of
synchronous communication where a sender makes a
request of a receiver and waits for a reply
before continuing to process. - Page 42
48Enterprise Application Integration
- One-way communication is a form of synchronous
communication where a sender makes a request from
a receiver and waits for a reply that
acknowledges receipt of the request. - Page 43
49Enterprise Application Integration
- Synchronous polling communication is a form of
synchronous communication where a sender
communicates a request to a receiver but instead
of blocking continues processing. At intervals
defined by the developer, the sender checks to
see if a reply has been sent. When it detects a
reply it processes it and stops any further
polling for a reply.
50Enterprise Application Integration
- Asynchronous communication occurs when the
communication between a sender and receiver is
accomplished in a manner that allows each of them
to operate independently of the other. The
receiver of the request is under no obligation to
handle the communications or respond to the
sender. The sender continues to operate once the
request is sent without regard to how the
receiver handles the communication.
51Enterprise Application Integration
- Three popular types of asynchronous
communications - Message passing
- Publish/Subscribe
- Broadcast
52Enterprise Application Integration
- Message passing is a form of asynchronous
communication where a request is sent from a
sender to a receiver. When the sender has made
the request, it essentially forgets it has been
sent and continues processing. The request is
delivered to the receiver and is processed. - Page 46
53Enterprise Application Integration
- Publish/subscribe is a form of asynchronous
communication where a request is sent by the
sender and the receiver is determined by a
declaration of interest by the receiver in the
request. - Page 47
54Enterprise Application Integration
- Broadcast is a form of asynchronous communication
in which a request is sent to all participants,
the receivers, of a network. Each participant
determines whether the request is of interest by
examining the content. - Page 48
55Enterprise Application Integration
- Methods of integration
- Messaging
- Interface definitions
56Enterprise Application Integration
- Messaging offers an easy to understand approach
for the construction, use, and processing of the
data. - Interface based integration requires the
specification and implementation of a
well-defined interface that describes the actions
that an application can perform.
57Enterprise Application Integration
- A connector is logic that is programmed into an
application whose sole purpose is to provide
access to the presentation, data, or
functionality of the application in a structured
manner. The connector hides the complexity of
translating and communicating a message or an
invocation on an interface for use by the
application.
58Enterprise Application Integration
- Marshalling is the process of converting
sequences of parameters and complex data
structures into flat strings of bytes that can be
transmitted over a communications link.
Unmarshalling is the process of correctly
restoring the original structures at the
receiving end.
59Enterprise Application Integration
- Middleware is a type of software that facilitates
the communication of requests between software
components through the use of defined interfaces
or messages. In addition, it provides the
runtime environment to manage the requests
between software components.
60Enterprise Application Integration
- RPC
- Data access middleware
- Message oriented middleware
- Distributed object technology
- Transaction processing monitors
61Enterprise Application Integration
- Remote Procedure Calls is a type of middleware
that is based on the notion of developing
distributed applications that integrate at the
procedure level.
62Enterprise Application Integration
- Database access middleware is a type of
middleware that is based on the notion of
accessing distributed data whether in files or
databases.
63Enterprise Application Integration
- Open Database Connectivity
- OBDC
64Enterprise Application Integration
- Message oriented middleware is a type of
middleware that uses messages as the method of
integration it provides the ability to create,
manipulate, store, and communicate these messages.
65Enterprise Application Integration
- Distributed object technology is a type of
middleware that extends the concepts of
object-oriented technology to distributed
processing. Interfaces are developed for
applications that make software look like
objects.
66Enterprise Application Integration
- Transaction Processing monitors are a type of
middleware that preserves the integrity of a
transaction. They support features such as
rollback, failover, auto restart, error logging,
and replication to eliminate single points of
failure.
67Enterprise Application Integration
- VERY IMPORTANT
- Atomicity
- Consistency
- Isolation
- Durability
68Enterprise Application Integration
- Atomicity
- Transaction is all or nothing.
69Enterprise Application Integration
- Consistency
- Transactions always go from one consistent state
to another.
70Enterprise Application Integration
- Isolation
- Does not affect other data or processes
- Durability
- Recorded on nonvolatile medium
71Enterprise Application Integration
72Enterprise Application Integration
- Service
- Functional extension to basic communication or
middleware capability
73Enterprise Application Integration
- Chapter 4
- Messaging key facts
74Enterprise Application Integration
- Message queuing is a way to pass data or make an
invocation of a remote function from a specific
client to a specific server, or from a server to
a server. p.63
75Enterprise Application Integration
- Request/reply, point to point
- The request message from a source and the reply
message from a target will occur within a single
transaction.
76Enterprise Application Integration
- FIFO
- Publish/subscribe messaging
- P.65
77Enterprise Application Integration
- Message translation is the ability to convert
data into a form that can be transmitted in a
message and the subsequent ability to convert the
data back to its native format once the message
has reached its target.
78Enterprise Application Integration
- Queue management
- Synchronicity
- Response time
- Message content
- Message size
- Message priority
- Queue volume
- Queue timeouts
- Queue persistence
- Queue priority
79Enterprise Application Integration
- Persistence is the ability to temporarily store
the message until delivery. - Transitory persistence is for the length of time
required for one or more functions to complete,
such as a transaction.
80Enterprise Application Integration
81Enterprise Application Integration
- Queue manager/router is a service that can
determine to which queue a message should be
routed based on message content, queue
availability, or preset rules.
82Enterprise Application Integration
- Message queuing
- Data transport
- Data integration
- Application Integration
- Enterprise Integration
- Vendors
83Enterprise Application Integration
84Enterprise Application Integration
85Enterprise Application Integration
- Three types of distributed object architecture
discussed - DCOM/COM
- CORBA
- EJB
86Enterprise Application Integration
- Charts on p. 85, 86
- OMA
- The object management architecture is the
specification for CORBA (Common Object Request
Broker Architecture) software in the form of
services and facilities for business domains.
87Enterprise Application Integration
- ORB
- The object request broker (ORB) is the mechanism
for transparently communicating client requests
to target object implementations.
88Enterprise Application Integration
- Services layers
- Application objects
- Domain Facilities
- CORBA Facilities
- CORBA Services
- Object Request Broker
89Enterprise Application Integration
- CORBA is a distributed object technology that is
platform independent and enables remote object
creation and remote object method invocation. It
is based on the use of an object request broker
with published CORBA services.
90Enterprise Application Integration
- OMG (Object Management Group) is the focal
organization for the definition and adherence to
the OMA and CORBA. http//www.omg.org
91Enterprise Application Integration
- ORB is a distributable component that can
communicate with other ORBS to provide
distributed object lifecycle services across
multiple platforms.
92Enterprise Application Integration
- ORB provides
- Operating system transparency
- Object life cycle services
- Remote object method calls
93Enterprise Application Integration
- CORBA Services offer a set of distributed object
functionality that is required to be available
for an application developer to build the
distributed application on top of, makes CORBA
easier to use for distributed application
development, and removes the need to program at
the communications level of the ORB.
94Enterprise Application Integration
- CORBA Facilities are application level services
that are intended to be used as distributable
components of a distributed application. - Examples p.91
95Enterprise Application Integration
- CORBA domains are line-of-business oriented and
issue specifications for use within their
specific business domain. - Example
96Enterprise Application Integration
- CORBA 3 features
- Firewall spec
- Interoperable Name Service Specification
- Asynchronous messaging and quality of service
control - Minimum fault tolerance and real-time CORBA
97Enterprise Application Integration
- Fault tolerance is the ability for errors to
occur without crashing the system, ensuring a
stable, known system state.
98Enterprise Application Integration
- CORBA components p.93-4
- Drawbacks
- Stability
- Services
99Enterprise Application Integration
- IBM Component Broker is a CORBA implementation
and is an enterprise solution for distributed
object computing that includes an operational
environment and tool set and is available as a
part of IBM Enterprise Edition of WebSphere
Application Server.
100Enterprise Application Integration
101Enterprise Application Integration
- Microsoft Windows DNA
- Does not use CORBA
- Uses COM model
102Enterprise Application Integration
103Enterprise Application Integration
104Enterprise Application Integration
- Transaction architecture
- Key facts p.107
105Enterprise Application Integration
- Transaction processing monitors ensure the
integrity of business processes by providing
atomicity, consistency, isolation, and durability
of transactions.
106Enterprise Application Integration
- VERY IMPORTANT
- Atomicity
- Conistency
- Isolation
- Durability
107Enterprise Application Integration
- Atomicity
- Transaction is all or nothing.
108Enterprise Application Integration
- Consistency
- Transactions always go from one consistent state
to another.
109Enterprise Application Integration
- Isolation
- Does not affect other data or processes
- Durability
- Recorded on nonvolatile medium
110Enterprise Application Integration
- P.109 transactions
- A transaction is the implementation of one or
more business functions based on associated
business rules, where the transaction is
completed only when all of the required business
functions are completed as specified by the
business rules.
111Enterprise Application Integration
112Enterprise Application Integration
- Mainframe Transaction processing monitors
- CICS
- IMS
113Enterprise Application Integration
- Distributed Transaction Processing Monitors
- BEA Tuxedo
- Transarc Encina
114Enterprise Application Integration
- Distributed Transaction Processing standard is an
open industry standard that specifies how
transactions are to be coordinated. The DTP is
widely supported by databases and TPMs.
115Enterprise Application Integration
- Four participants
- Applications
- Resource Managers
- Transaction Managers
- Communication resource managers
116Enterprise Application Integration
- Two-phase commit is the mechanism used by the DTP
to ensure the integrity of distributed
transactions.
117Enterprise Application Integration
- Transaction monitor services
- Programming models
- Synchronous request/response
- Asynchronous request/response
- Conversational
- Events
118Enterprise Application Integration
- Message queuing
- Security
- Conversion and translation
- Server management
- Administration
- Gateways
119Enterprise Application Integration
- Object transaction monitor
- An object transaction monitor is a product that
provides distributed objects with transactional
integrity.
120Enterprise Application Integration
- Object transaction service is the CORBA standard
for distributed object transactions. OTS defines
how the Open Group model can be applied to CORBA
objects.
121Enterprise Application Integration
122Enterprise Application Integration
- A nested transaction is a transaction within a
transaction.
123Enterprise Application Integration
- EJB model is strongly transactional.
124Enterprise Application Integration
- Strengths and weaknesses
- Integrity
- Coordination
- Services
- Too tightly coupled
- Too time consuming
- Legacy problems
125Enterprise Application Integration
- Alternatives
- Messaging completed or certain to be completed
- Must be transactional
- Integrity will not be compromised by deferring
- Soft rollback
126Enterprise Application Integration