501 likes | 908 Views
Enterprise Systems & Architectures. Enterprise Systems. 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. Software Architecture.
E N D
Enterprise Systems • 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.
Software Architecture • 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.
Enterprise Applications and Integration • 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
Fig: Enterprise applications with redundant data and data dependencies
Enterprise Resource Planning (ERP) Systems • 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.
Development of New Applications • With the growing business needs new systems also emerged • These included Supply Chain Management (SCM) and Customer Relationship Management (CRM) systems
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 Problems • 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
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 • Problems • Data 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 - Point to Point Integration • 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.
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.
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.
Message Oriented Middleware • The main aspect of message-oriented middleware is execution guarantees, such as guaranteed message delivery.
Hub-and-Spoke Integration • 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 enterprise application integration architecture
Message Broker Which design pattern can be used to implement this? Publish/Subscribe
Drawback • 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
Workflow Management Systems • 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 that defines, 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.
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.
b) Multiple Applications Wf system a) Single Application Wf system
System Workflow • 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 and when enterprise applications are invoked
Human Interaction Workflows • 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.
Where Web Fits In? • 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.)
References and Further Reading • 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)
Zaachman Architecture • PERA • CIMOSA Due 12th Dec, 2012 submitted through LMS/printed copy.