Вы находитесь на странице: 1из 126

Enterprise Application

Integration
 Ruh, Maginnis, Brown (2001) text
 Vendors
 Internet Resources
 Web Services
 EAI Journal online and print
Enterprise Application
Integration
 Packaged applications
 Legacy applications
 Data from variety of sources
 Stovepipe apps
Enterprise 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
Enterprise 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%
Enterprise Application
Integration
 Select
 Architect
 Apply

 Common Building Blocks


Enterprise Application
Integration
 Messaging Architecture
 IBM MQ Series
 Object Architectures
 EJB
 Transaction Architecture
 BEA Tuxedo
Enterprise Application
Integration
 Introductory text
 Look at concepts
 Then vendor applications
 Web Services later
Enterprise Application
Integration
 Technology is always changing
 Concepts
 Frameworks
 Application in an organization
Enterprise Application
Integration
 Key Facts p.1
 Definition p.2
 Enterprise Application Integration is the
creation of business solutions by
combining applications using common
middleware.
Enterprise Application
Integration
 Middleware is application-independent
software that provides services that
mediate between applications.
 Multiple types
Enterprise Application
Integration
 Goals
 Quick, easy, cheap
 Improved relationships
 Supply chains
 Mergers and acquisitions
 BPI
 Speed
Enterprise Application
Integration
 360 view of relationships p.4
 Stovepipe applications definition p.5
 Examples and issues

 Supply-chain
 Examples and issues
Enterprise Application
Integration
 XML p.6
 BPI
 Speed p.7
 Legacy applications
 Packaged solutions COTS
Enterprise Application
Integration
 Internet p. 8-11
 Dot-bomb
 B2B, B2C
 Intranets
 Extranets
Enterprise Application
Integration
 Barriers to EAI
 Custom API, application programming
interfaces
 Vendors
 Skills – EAI
 Security
Enterprise 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
Enterprise Application
Integration
 Presentation
 Data
 Functional
 Pages 19-21
Enterprise 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.
Enterprise 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.
Enterprise 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.
Enterprise Application
Integration
 Coupling
 White box integration
 Black box integration
Enterprise Application
Integration
 Presentation integration model p.22
 When to use it
 Green screen
 One look
 Only choice
 Examples
Enterprise Application
Integration
 Pros and Cons
 Skill level
 Speed
 Less complex
 Performance low
 Most limiting
Enterprise Application
Integration
 Data integration p. 24
 Batch file transfer
 Open database connectivity
 Data access middleware
 Data transformation
Enterprise Application
Integration
 When to use it
 Analysis of data
 Data warehouse
 Different vendors
 Synchronize
 EIS
Enterprise Application
Integration
 Pros and cons
 Flexible
 Reused
 Lack of functionality
 Simple access to data
 No logic access
Enterprise Application
Integration
 Functional integration model p.29
 Business logic
 RPC’s
 Distributed processing middleware
Enterprise Application
Integration
 Distributed processing middleware
 MOM
 DOT
 TPM
Enterprise Application
Integration
 MOM
 Passing messages
 IBM MQ series
 Talarian Smart Sockets
Enterprise Application
Integration
 Distributed object technology
 OMG CORBA
 Microsoft COM+
 Sun’s J2EE
Enterprise Application
Integration
 TPM
 Transactions
 BEA Tuxedo
Enterprise Application
Integration
 Breadth of functional integration
 Data consistency
 Multistep process
 Plug and play components
Enterprise 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.
Enterprise 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.
Enterprise 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.
Enterprise Application
Integration
 Table 2.1
Enterprise Application
Integration
 When to use it
 Difficulty
 Performance
 Future reuse
 Examples
Enterprise Application
Integration
 Pros and cons
 Robust
 Flexible
 Reuse
 Complex
 Difficult software
 May not be possible
Enterprise Application
Integration
 Chapter 3 p.39
 Key facts
Enterprise Application
Integration
 For EAI solutions need
 Methodology
 Technology
Enterprise Application
Integration
 Communication model
 2 choices
 Synchronous – wait until reply is received
 Asynchronous – continue processing
Enterprise 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
Enterprise 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
Enterprise 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.
Enterprise Application
Integration
 Interactive systems require synchronous
communication.

 Examples
Enterprise Application
Integration
 Three types of synchronous
communication
 Request/Reply
 One-Way
 Synchronous polling
Enterprise 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
Enterprise 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
Enterprise 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.
Enterprise 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.
Enterprise Application
Integration
 Three popular types of asynchronous
communications
 Message passing
 Publish/Subscribe
 Broadcast
Enterprise 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
Enterprise 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
Enterprise 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
Enterprise Application
Integration
 Methods of integration
 Messaging
 Interface definitions
Enterprise 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.
Enterprise 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.
Enterprise 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.
Enterprise 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.
Enterprise Application
Integration
 RPC
 Data access middleware
 Message oriented middleware
 Distributed object technology
 Transaction processing monitors
Enterprise 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.
Enterprise 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.
Enterprise Application
Integration
 Open Database Connectivity
 OBDC
Enterprise 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.
Enterprise 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.
Enterprise 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.
Enterprise Application
Integration
 VERY IMPORTANT
 Atomicity
 Consistency
 Isolation
 Durability
Enterprise Application
Integration
 Atomicity
 Transaction is all or nothing.
Enterprise Application
Integration
 Consistency
 Transactions always go from one consistent
state to another.
Enterprise Application
Integration
 Isolation
 Does not affect other data or processes

 Durability
 Recorded on nonvolatile medium
Enterprise Application
Integration
 Rollback capability
Enterprise Application
Integration
 Service
 Functional extension to basic
communication or middleware capability
Enterprise Application
Integration
 Chapter 4
 Messaging key facts
Enterprise 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
Enterprise 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.
Enterprise Application
Integration
 FIFO
 Publish/subscribe messaging
 P.65
Enterprise 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.
Enterprise Application
Integration
 Queue management
 Synchronicity
 Response time
 Message content
 Message size
 Message priority
 Queue volume
 Queue timeouts
 Queue persistence
 Queue priority
Enterprise 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.
Enterprise Application
Integration
 Figures on page 69
Enterprise 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.
Enterprise Application
Integration
 Message queuing
 Data transport
 Data integration
 Application Integration
 Enterprise Integration
 Vendors
Enterprise Application
Integration
 MegaMoney Bancorp
 Goals
Enterprise Application
Integration
 Chapter 5 Goals
 P. 83
Enterprise Application
Integration
 Three types of distributed object
architecture discussed
 DCOM/COM+
 CORBA
 EJB
Enterprise 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.
Enterprise Application
Integration
 ORB
 The object request broker (ORB) is the
mechanism for transparently
communicating client requests to target
object implementations.
Enterprise Application
Integration
 Services layers
 Application objects
 Domain Facilities
 CORBA Facilities
 CORBA Services
 Object Request Broker
Enterprise 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.
Enterprise Application
Integration
 OMG (Object Management Group) is
the focal organization for the definition
and adherence to the OMA and CORBA.
http://www.omg.org
Enterprise Application
Integration
 ORB is a distributable component that
can communicate with other ORBS to
provide distributed object lifecycle
services across multiple platforms.
Enterprise Application
Integration
 ORB provides
 Operating system transparency
 Object life cycle services
 Remote object method calls
Enterprise 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.
Enterprise Application
Integration
 CORBA Facilities are application level
services that are intended to be used as
distributable components of a
distributed application.
 Examples p.91
Enterprise Application
Integration
 CORBA domains are line-of-business
oriented and issue specifications for use
within their specific business domain.
 Example
Enterprise 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
Enterprise Application
Integration
 Fault tolerance is the ability for errors
to occur without crashing the system,
ensuring a stable, known system state.
Enterprise Application
Integration
 CORBA components p.93-4
 Drawbacks
 Stability
 Services
Enterprise 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.
Enterprise Application
Integration
 Thin clients
 P.98
Enterprise Application
Integration
 Microsoft Windows DNA
 Does not use CORBA
 Uses COM+ model
Enterprise Application
Integration
 Sun
 J2EE
 EJB environment
Enterprise Application
Integration
 MegaMoney Bancorp
Enterprise Application
Integration
 Transaction architecture
 Key facts p.107
Enterprise Application
Integration
 Transaction processing monitors ensure
the integrity of business processes by
providing atomicity, consistency,
isolation, and durability of transactions.
Enterprise Application
Integration
 VERY IMPORTANT
 Atomicity
 Conistency
 Isolation
 Durability
Enterprise Application
Integration
 Atomicity
 Transaction is all or nothing.
Enterprise Application
Integration
 Consistency
 Transactions always go from one consistent
state to another.
Enterprise Application
Integration
 Isolation
 Does not affect other data or processes

 Durability
 Recorded on nonvolatile medium
Enterprise 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.
Enterprise Application
Integration
 Rollback capability
Enterprise Application
Integration
 Mainframe Transaction processing
monitors
 CICS
 IMS
Enterprise Application
Integration
 Distributed Transaction Processing
Monitors
 BEA Tuxedo
 Transarc Encina
Enterprise 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 TPM’s.
Enterprise Application
Integration
 Four participants
 Applications
 Resource Managers
 Transaction Managers
 Communication resource managers
Enterprise Application
Integration
 Two-phase commit is the mechanism
used by the DTP to ensure the integrity
of distributed transactions.
Enterprise Application
Integration
 Transaction monitor services
 Programming models
 Synchronous request/response
 Asynchronous request/response
 Conversational
 Events
Enterprise Application
Integration
 Message queuing
 Security
 Conversion and translation
 Server management
 Administration
 Gateways
Enterprise Application
Integration
 Object transaction monitor
 An object transaction monitor is a product
that provides distributed objects with
transactional integrity.
Enterprise 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.
Enterprise Application
Integration
 Example on p. 121
Enterprise Application
Integration
 A nested transaction is a transaction
within a transaction.
Enterprise Application
Integration
 EJB model is strongly transactional.
Enterprise Application
Integration
 Strengths and weaknesses
 Integrity
 Coordination
 Services
 Too tightly coupled
 Too time consuming
 Legacy problems
Enterprise Application
Integration
 Alternatives
 Messaging – completed or certain to be
completed
 Must be transactional
 Integrity will not be compromised by
deferring
 Soft rollback
Enterprise Application
Integration
 MegaMoney example

Вам также может понравиться