Download - Enterprise Systems & Architectures
Enterprise Systems & Architectures
Enterprise systems are mainly composed of information systems.
Business process management mainly deals with information systems in the context of a given enterprise system architecture.
Enterprise Systems
A software architecture defines a structure that organizes the software elements and the resources of a software system.
Software elements and resources are represented by subsystems.
In a given software architecture, these subsystems have specific responsibilities and relationships to other subsystems.
Software Architecture
Early System Architectures
Most of the information systems developed by different departments host enterprise applications
The integration of multiple enterprise applications has introduced new types of middleware and enterprise application integration systems
EAI is an important part of business process management
Different departments developed their own applications for their specific business requirements with separate databases
Often the information about various enterprise entities was stored redundantly in different applications
Enterprise Applications and Integration
Fig: Enterprise applications with redundant data and data dependencies
The great achievement of enterprise resource planning systems is that they provide an integrated database that spans large parts of an organization.
Enterprise resource planning systems basically re-implemented these disparate enterprise application systems on the basis of an integrated and consistent database.
An enterprise resource planning system stores its data in one centralized database, and a set of application modules provides the desired functionality, including human resources, financials, and manufacturing.
Enterprise Resource Planning (ERP) Systems
ERP System Architecture
With the growing business needs new systems also emerged
These included Supply Chain Management (SCM) and Customer Relationship Management (CRM) systems
Development of New Applications
The main goal of SCM is to support the planning, operation, and control of supply chains, including inventory management, warehouse management, management of suppliers and distributors, and demand planning.
These new systems were developed by different vendors and hosted information in their own databases
Often ERP systems and the SCM/CRM systems held redundant information
New applications …
Any changes to data has to be updated in all systems (ERP, SCM, CRM) to avoid unsatisfied customers
For example, information on a logistics partner changes that is relevant for both the enterprise resource planning system and the supply chain management system, then this change needs to be reflected in both systems.
Since the information is not integrated the user of an ERP system can only access the information in its own database
CRM also holds valuable information
New Problems
To characterize this unsatisfactory situation, the term siloed applications has been coined, meaning that data is stored redundantly in different systems, and these systems are not related at all.
Enterprise Application Integration
ProblemsData heterogeneity issues occur if a logical data item—for instance, a customer address—is stored multiple times in different siloed applications.
Data field types may be different
Field names may be different
Semantics of the attributes may be different i.e. Price may include or exclude VAT
Thus, data integration is one of the most important aspect of EAI
EAI technology is based on middleware technology
In addition to data integration, processes that the application system realises also needs to be integrated
This means that one system performs certain steps and then transfers control to another system which takes the results and continues operation.
Each EAI effort may require a considerable design and implementation effort.
EAI - Point to Point Integration
When directly linking each pair of applications, system integrators run into the N × N problem, meaning that the number of interfaces to develop rises to the square of the number N of applications to be integrated.
Point to Point Integration
The no of links between N no of applications can be generalised as:
Hardwiring applications to communicate with each other is not efficient
A specific realization platform of enterprise application integration is message-oriented middleware, where applications communicate by sending and receiving messages.
The main aspect of message-oriented middleware is execution guarantees, such as guaranteed message delivery.
Message Oriented Middleware
The hub-and-spoke paradigm is based on a centralized hub and a number of spokes that are directly attached to the hub; the spokes are not connected.
The centralized enterprise application integration middleware represents the hub, and the applications to be integrated are reflected by the spokes.
It is an important feature of hub-and-spoke architectures that the sender of a message need not encode the receiver of the message.
Each message is sent to EAI hub
The hub is capable of identifying the receiver's) of the message from seeing the message content
Hub-and-Spoke Integration
Hub-and-spoke enterprise application integration architecture
Which design pattern can be used to implement this?
Publish/Subscribe
Message Broker
Considerable application logic needs to be implemented
This application logic is hidden in the rules that the message broker uses to relay messages.
The configuration and management of these rules becomes hard and cumbersome
Drawback
The important achievement of workflow management is the explicit representation of process structures in process models and the controlled enactment of business processes according to these models
Workflow is the automation of a business process, in whole or in part, during which documents, information, or tasks are passed from one participant to another for
action, according to a set of procedural rules.
A workflow management system is a software system thatdefines, creates, and manages the execution of workflows through
the use of software, running on one or more workflow engines, which is able to interpret the process definition, interact with
workflow participants, and, where required, invoke the use of IT tools and applications.
Workflow Management Systems
Traditionally the functionality is implemented as code and the ordering of these functions is also coded i.e., process logic realised by the application
If there is change in the process realised by a certain application, changes have to be made programmatically
In workflow management system, The functions of an application system are the steps in the workflow
a workflow component uses a workflow model to enact the functions.
By modification of the process logic specified in workflow models, the behaviour of the application system can be modified without coding.
Workflow Management Systems ..
A single-application workflow consists of activities and their causal and temporal ordering that are realized by one common application system.
Multiple-application workflows contain activities that are realized by multiple application systems, providing an integration of these systems.
a) Single Application Wf system
b) Multiple Applications Wf system
A system workflow consists of activities that are implemented by software systems without any user involvement.
In system workflows, the workflow activities are performed automatically by software systems.
Interaction of knowledge workers is not required
The execution constraints are specified in a process model, and the workflow management system makes sure that the ordering of calls to the software systems is in line with the process model.
Enterprise application integration scenarios are typical candidates for system workflows.
System Workflow
System workflow integration scenario; a process model defines if andwhen enterprise applications are invoked
System Workflow ..
Workflows in which humans are actively involved and interact with information systems are called human interaction workflows.
human interaction workflows typically realize parts of a larger business process that has automated as well as non-automated parts.
The goal of human interaction workflows is to effectively support the automated parts of business processes by actively controlling the activities performed according to process models.
Human Interaction Workflows
Web can offer a unified presentation view to these applications
The integration logic/technology is transparent to the end-user
Availability of different frameworks platforms for enterprise-integration (application servers like JBoss, Websphere, BizTalk etc.
Common/standard protocols can be used (http, SOAP, HTML, etc.)
Where Web Fits In?
Chapter 2, “Evolution of Enterprise Systems Architectures” of “Business Process Management”.
Covered the following sections:
2.1 (general introduction)
2.2, 2.2.1, 2.2.2*
2.4* , 2.4.1*, 2.4.2*, 2.4.3*
2.4.4 (self reading)
References and Further Reading
Zaachman Architecture
PERA
CIMOSA
Due 12th Dec, 2012 submitted through LMS/printed copy.