4. Establishing the architectural vision.
Understanding portfolio of current and future IT systems and technology.
Identifying integration strategies and technologies.
Defining architectural standards.
Creating a robust but flexible, responsive and trusted technical framework.
5. Enterprise architecture is a holistic, hierarchical, and abstract description of
the essential elements of an organization to maximize shareholder value over
time.
Enterprise Architecture helps business management achieve its strategic goals.
It supports the company in creating competitive advantage, reduces risks and
enhances cost-efficiency and scalability.
8. Bus/hub
This is usually implemented by enhancing standard middleware products (application
server, message bus) or implemented as a stand-alone program (i. e., does not use any
middleware), acting as its own middleware.
Application connectivity
The bus/hub connects to applications through a set of adapters (also referred to as
connectors).These are programs that know how to interact with an underlying business
application.
Data format and transformation
To avoid every adapter having to convert data to/from every other applications' formats,
EAI systems usually stipulate an application-independent (or common) data format.The
EAI system usually provides a data transformation service as well to help convert between
application-specific and common formats.
Integration modules
An EAI system could be participating in multiple concurrent integration operations at any
given time, each type of integration being processed by a different integration module.
Integration modules subscribe to events of specific types and process notifications that
they receive when these events occur.
Support for transactions
When used for process integration, the EAI system also provides transactional consistency
across applications by executing all integration operations across all applications in a
single overarching distributed transaction (using two-phase commit protocols or
compensating transactions).
9. Four components are essential for a modern enterprise application
integration architecture:
A centralized broker that handles security, access, and communication.
This can be accomplished through integration servers (like the School
Interoperability Framework (SIF) Zone Integration Servers) or through
similar software like the enterprise service bus (ESB) model that acts as
a services manager.
An independent data model based on a standard data structure, also
known as a canonical data model. It appears that XML and the use of
XML style sheets has become the de facto and in some cases de jure
standard for this uniform business language.
A connector, or agent model where each vendor, application, or
interface can build a single component that can speak natively to that
application and communicate with the centralized broker.
A system model that defines the APIs, data flow and rules of
engagement to the system such that components can be built to
interface with it in a standardized way.
10. Mediation (intra-communication)
Here, the EAI system acts as the go-between or broker between multiple
applications.
Whenever an interesting event occurs in an application (for instance, new
information is created, or a new transaction completed) an integration module in the
EAI system is notified.
The module then propagates the changes to other relevant applications.
Federation (inter-communication)
In this case, the EAI system acts as the overarching facade across multiple
applications.
All event calls from the 'outside world' to any of the applications are front-ended by
the EAI system.The EAI system is configured to expose only the relevant
information and interfaces of the underlying applications to the outside world and
performs all interactions with the underlying applications on behalf of the requester.
Both patterns are often used concurrently.The same EAI system could be
keeping multiple applications in sync (mediation), while servicing requests
from external users against these applications (federation).
12. Enterprise application integration is an integration framework composed of a
collection of technologies and services which form a middleware or "middleware
framework" to enable integration of systems and applications across an enterprise.
13. Set of 65 patterns to describe/design scalable and maintainable
integration solutions
Published 10.10.2003
700 pages
Authors: Gregor Hohpe
/ BobbyWoolf
14. Provides the means to share data between different
applications without writing custom interfaces.
Example:
Consider a company that wants to do build an eCommerce portal.
Has a number of legacy applications (or even an ERP solution in place)
Need build the web-based eCommerce infrastructure and link with
systems that do functions like process orders, manage inventory, ship
products
The company decides to use a major courier service for delivery of
products ordered from the web site.
The company wants an Operational Data Store (ODS) for analysis of
transactions taking place on the site
15. One solution – custom Interfaces Issues?
E-Commerce
Site
Courier
Shipping
Inventory
Order
System
ODS
17. Cost effectiveness
Time to market
Scalability
Ability to deal with complex environments
18. Model integration as asynchronous messages
Focus mainly on the communication of the apps and their edge components
Focus on stateless communication
Usually one-way communication (not Request-Reply)
Assumes using Message Broker to deliver messages (but there are some
architectures without MB)
“Wider bridges, not faster cars.”
Please make sure you don’t fall into the trap of applying integration patterns to
everything! (Keep things simple!)
19. • The Splitter from the EIP patterns allows users split a
message into a number of pieces and process them
individually.
Splitter
• The Content-Based Router inspects the content of a message
and routes it to another channel based on the content of the
message.
Content Based
Router
• A Message Filter is a special form of a Content-Based
Router. It examines the message content and passes the
message to another channel if the message content matches
certain criteria. Otherwise, it discards the message.
Message Filter
• Define a channel for each recipient.Then use a Recipient
List to inspect an incoming message, determine the list of
desired recipients, and forward the message to all channels
associated with the recipients in the list.
Recipient List
• to route messages to a separate location while they are
being forwarded to the ultimate destination.
Wire Tap
20. Enterprise Integration Patterns are implemented in many open source integration
solutions
Spring Integration
Apache Camel
Red Hat Fuse
Mule ESB
Guaraná DSL.
21.
22. There are many good reasons for investing in an Enterprise Architecture program.
One possibility by initiating the EA program is to get an overview of strategy,
organization and technology not to forget an insight into business.The focus in
general the enterprise wide (or system wide) approach.
23. There are some risks by using or implementing an EA program in an Enterprise:
The implementation of an EA might become disruptive to the business which means
that the costly and time consuming.
When the members of the organization (managers and the workers) are taken out of
production to learn and assist in delivering the Enterprise Architecture.
24. The value of EA is to enhance the resource – planning capabilities and supports
better decision-making.
This accomplished through communication improvements in respect to current
and future resources.
Ideas are conveyed more rapidly while differences in interpretations and
misunderstanding are reduced
25.
26. Business Information Systems:
A Business Information System is a computer-based business information system that is
being managed through the Metabase.
Database Domains:
A Database Domain is a hierarchically organized set of noun-intensive descriptions
associated with a mission leaf. Analyzed database domains lead to the identification of
Database Object Classes, enterprise data elements, and property classes. Property
classes, in turn, often become tables in databases.
27. Database Object Classes:
A Database Object Class is a large collection of data and processes that are tied together
for business-based reasons, and when instantiated, proceeds through well defined states.
A database object can exist in two forms: a collection of interrelated database tables, or
the set of a column based nested structures within a table.
Database Object Information Systems:
A Database Object Information System is a collection of processes defined within the
domain of the DBMS usually as a stored procedure that transforms one or more rows of a
database object from one valid state to another.
28. Management Level:
Management level is a named and defined level of bureaucratic management within an
organizational setting. Examples could be executive, senior, mid-level, and first-level.
Missions:
Missions are hierarchically organized textual descriptions that define the very existence
of the enterprise, and that are the ultimate goals and objectives that measure enterprise
accomplishment from within different business functions and organizations..
29. Organizations Performing Missions:
An Organization Performing Missions, that is, a Mission-Organization is the association of
an organization with a mission.There can be multiple organizations associated with a
mission and an organization can be associated with multiple missions.
Organizations Accomplishing Functions:
An organization accomplishing a function in support of a mission, that is, a Mission-
Organization-Function is the association of a mission organization with a function. A
mission-organization can be associated with multiple functions and a function can be
associated with multiple mission-organizations. One or more mission-organization-
functions may be associated with a business information system.When they are, business
events are created.
30. Positions:
A Position is a named and defined collection of work tasks that can be performed by or
more persons. Positions are often assigned to one or more organizations.
Positions performing missions:
A Mission Organization Function Position Role is the assignment of a position to a
particular function within an organization as it accomplishes a mission. Once a position is
assigned, its role can be described.
31. Resource Life Cycle Analysis Node:
A Resource Life Cycle Node is a life cycle state within the resource. If the resource is
employee, the life cycle node may be employee requisition, employee candidate,
employee new hire, assigned employee, reviewed employee, and separated employee.
Resources:
A Resource is an enduring asset of value to the enterprise. Included for example are
facilities, assets, staffs, money, even abstract concepts like reputation. If a resource is
missing then the enterprise is incomplete.