Title: Patterns in Integration of Applications
1Patterns in Integration of Applications
- ???? ???
- ???? ???
- ???? ???
Based on Object oriented Modeling Design
for Database Application By Michael Blaha
William Premerlani
2Content
- Motivation for Integration
- Integration types
- benefits of Integration
- Integration process stages
- Integration problems (Example)
- Common Integration Patterns
3Motivation for Integration
- Most corporate information systems consist of
many islands of automation (separate
applications). - Software is developed to service the needs of a
single application with little regard for the
effect on the corporation as a whole. - In the Justice Department of Israel there are 83
separate applications who operate without
integration at all.
4Motivation for Integration
- Applications perform well alone no
collaboration for the overall benefit of the
organization. -
5Types of integration
- Data integration integrating the data found on
the separate applications DBs - Behavior integration forcing common look
feel of the applications.
- Data integration is the common type of
integration while behavior integration is a
future technology. - The purpose of data integration is to allow
exchange of common data between the
applications.
6Benefits of integration
- Cost reduction integration can reduce multiple
entry of data. - Data integrity by reconciling applications
integration can improve consistency. - Greater flexibility applications are inflexible
when they are balkanized. - More functionality integration enables
effective information mining and decision
support.
7Integration process stages
- Application modeling develop analysis models
for each individual application - Enterprise modeling create a model that spans
applications - Integration techniques choosing a combination
of integration techniques. - Data warehouse use the integrated applications
as foundation for DW.
8Enterprise model
9Enterprise model
- describes the entire organization or major aspect
of it. - abstracts multiple applications, reconciling
their logical content. - provides high level understanding of
relationship between applications.
10Integration problems
- Naming conflicts the same concept may appear in
different names or the same name applies to
different concepts. - Domain conflicts conflict in data types, field
length, units of measure etc. - Multiplicity conflicts attributes and roles may
be optional or mandatory.
11Example of conflicts
12Example of conflicts (cont)
- This simple example illustrates many kinds of
integration problems - naming conflicts customerLocation corresponds
to address, city corresponds to cityName. - Domain conflicts in the postal application city
and state are classes while in the customers
application they are attributes
13Common Integration Patterns
- Master database all of the applications store
data in a single database - Point-to-point interfaces connecting pairs of
applications directly - Indirect integration using enterprise database
and metadata for integration.
14Master database
- The most obvious approach to integration is to
require that all applications store data in
single database - Each application operates on its own view of the
enterprise database - The view can be created in two ways
- RDBMS views
- Physically materialize an application database
using - long transaction
15Master database
16Master database
- Can be achieved when standards organization
promotes acceptance of the master model - can be used only for a small group of
applications - Impractical for large number of applications
since developers must revise or rewrite too many
applications -
17Master database pros cons
- Pros
- few inconsistencies between applications
- the thorough integration is readily apparent to
end user. - Cons
- suitable only for a small group of applications
- requires revising or rewriting of the
applications
18Point-to-point interfaces
- Each pair of applications that must exchange data
have two interfaces - One interface reads from application A and writes
to B and the second does the opposite. - Does not require an enterprise model
19Point-to-point interfaces
20Point-to-point interfaces
- The interfaces can be realized in different ways
- RDBMS stored procedures
- separate programs that wrap around application
execution - Very straightforward understand and implement
- Preferred approach when there is little
commonality
21Point-to-point interfaces pros cons
- Pros
- deal only with two applications at a time
- efficiently connect applications with high
volume traffic - Cons
- creates a network of dependencies as many as
n(n-1) - as the number of applications grows adding new
application becomes harder
22Indirect integration
- The most complex approach, yet provides robust
scalable integration - Applications communicate through an enterprise
database - The enterprise database holds metadata that maps
read write requests between applications
23Indirect integration
- Does not require application modification but
instead superimposes integration layer - can be done in two ways
- hard-coding mapping between applications using
RDBMS triggers stored procedures (methods in
oo-DBMS) - elevate mapping data into metalevel and use
generic code - The enterprise database can be used as staging
area or store data permanently
24Indirect integration
25Indirect integration((five-Scheme architecture
26Indirect integration pros cons
- Pros
- high scalability adding two interfaces for
each new application (read write) - does not require modifications of applications
- Cons
- high complexity metadata and generic software
are difficult to implement - becomes harder when application models and
implementations greatly dissimilar
27Summary
- Integration is critical capability for large,
complex information systems - With the current state of the art, the focus is
on integrating data - OO-modeling is critical for technology for
achieving integration - All three integration techniques are helpful, but
the most significant technique is indirect
integration
28???????
- ??? ?????? ?????? ?????
- ??????!!!