Академический Документы
Профессиональный Документы
Культура Документы
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
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.
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.
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