Enterprise Systems Anatomy of enterprise applications Enterprise Applications keep track of information related to the operations of the enterprise e.g. Inventory, sales ledger And execute the core processes that create and manipulate this information Process from order to cash received Enterprise data Orders Purchases Customers Shipments Marketing Planning Service Billing Inventory Assets Accounting Project management HR Data in the organisation is captured in a number of data models Data models describe the way data is defined in databases or exchanged between applications 3 An example of a business process: Purchase-to-Pay 1. Determine requirements, complete purchase requisition. Automatically generate the purchase requisition based on quantity on-hand, quantity-on-order, and expected demand. © L. Gray, CNU 4 Purchase-to-Pay 2. Prepare and record purchase order. Assists the buyer in identifying sources of supply for the requested item, preparing RFQs to vendors, analyzing vendor quotes, comparing vendor prices, terms, and past performance 5 Purchase-to-Pay 3. Receive and record goods. Compare quantity ordered to quantity received. Routes goods to the function that requested them or directs them the warehouse for immediate sale. It also records vendor performance data. 6 Purchase-to-Pay 4. Receive vendor invoice, match with PO and receiving report; record payable. If the three-way match fails, the enterprise system notifies the proper personnel to ensure timely reconciliation of differences. 7 Purchase-to-Pay 5. Prepare and record cash disbursement and update accounts. Uses vendor and AP data to schedule payments in accordance with vendor terms and to receive discounts. 8 Enterprise process models Each process model captures the series of steps and interactions required to complete a specific business process The execution of the process will impact on the enterprise data across one or more applications A process may be executed within a single application or more often through collaboration between several applications 9 Mapped to functional systems Orders Purchases Customers Sales Shipments Marketing Marketing Call centre Logistics Service Warehouse Finance dept Inventory Billing Planning Assets Accounting HR Project management HR Originally, the process and data models were implemented in a wide variety of functional system (related to organisational departments) Each system consisting of a database, application logic and user interface 10 Recall: Problems with function based application Sharing of data between systems Applications that don’t talk to one another HR Sales Manufacturing Limited or lack of integrated information Isolated decisions lead to overall inefficiencies Data duplication Data inconsistency Increased expenses Therefore, there is a general requirement for integration to support organisational system capabilities For instance Customer Relationship Management – tracking all information about a customer across the enterprise Stovepipe systems 11 Enterprise integration requirement Unrestricted sharing of data and business processes across an organization The linking of data, business processes and applications to automate business processes Extend to customers, suppliers and regulators While ensuring that there are consistent qualities of service (security, reliability etc) Reduce the on-going cost of maintenance and reduce the cost of rolling out new systems. 12 Two architectural solutions Integration Leave existing applications in place Minimises risk of disruption and change in data models/process models Link existing applications with integration systems which map between existing data and process models and add ‘missing’ process models where required Effective when most of the functionality is already implemented in systems and the integration is primarily creating linkages and processes between these applications 13 Two architectural solutions Consolidation Replace existing applications Redesign data and process models to best solve the complete set of requirements and then implement these models in a new system Results in consistent data and process models across enterprise Effective when significant additional functionality is required beyond what is already in the applications, there is a requirement for business process improvement or integration between the applications is too complex/expensive In most cases both consolidation and integration occurs within an organisation 14 Enterprise Application Integration An architecture for integration Introduction EAI was an approach to integration of applications first developed in the late 1990s. Pre-dated widespread use of JEE, XML and Web Services. EAI currently has become subsumed into Service Oriented Architecture software stacks However, the need for the underlying capabilities have not changed. 16 Diverse systems and channels Internet Example of a banking environment 17 IT reality – Islands of Computing Purchased Application Package(s) – ERP etc. Program Legacy Application System(s) Program Program New Webbased application(s) Program Program Program Program Program Program Enterprise IT reflects the structure and history of each enterprise not the business processes required today Departments have their own IT systems Legacy systems are left in place and new systems built separately. 18 Tactical approach to integrating the Business Application System B Extract Program Program Down load File Load Program Program Program Screen Application Scrape System A Program Trans action File Extract Program Message Queue Database Replicator Extract Program Down load File Program Trans action File Program Load Program Down load File Load Program Application System C Program Program Program Message Queue Each requirement is addressed with a point to point solution Typically consisting of a data transfer mechanism and a format converter. Increasing levels of supplier/client integration points further 19 complicates the situation. Strengths and weaknesses of tactical approach Strengths Technical Weaknesses Focused on getting the job done Each individual solution can be created quickly Numerous Point-to-Point Interfaces Inconsistent Business Processes Inconsistent Qualities of Service Business Weaknesses Cost of maintenance Requirement to retain knowledge of the solution in-house. Potential security or loss of service/process failure due to inconsistencies. 20 Enterprise integration requirement Unrestricted sharing of data and business processes throughout the networked applications or data sources in an organization The Linking of Data, Business Processes, Applications to automate business processes Extend to customers, suppliers and regulators While ensuring that there are consistent qualities of service (security, reliability etc) Reduce the on-going cost of maintenance and reduce the cost of rolling out new systems. 21 Solution: Enterprise Application Integration (EAI) Devised ways to efficiently reuse legacy and existing apps and add new ones EAI products are built on combination of technologies JEE XML (eXtensible Markup Language) for enterprise-wide content and data distribution using common DBs and Data Standards Message queuing Business Process Orchestration engine Sometimes Web Services 22 Layers of an EAI Stack Provides real-time and historical data on performance of processes and assists in making decisions. EAI Business Activity Monitoring Business Process Orchestration Data Transformation Message Storage & Routing Manages and tracks business transactions that might span multiple systems and last minutes to days. Ensures the data is the correct format for delivery to The next system. Ensures the reliability of data delivery across the Enterprise or between systems. Adapter Adapter Provides “open” connectivity into data sources while allowing filtering and transformations of data. 23 Adapters EAI Business Activity Monitoring Business Process Orchestration Data Transformation Message Storage & Routing Adapter Also known as “Connectors”, “Translators”, “Wrappers” or “Bridges” Provide seamless connectivity to the underlying application or data Convert information and events into data that can be utilized by the infrastructure Many adapters available off the shelf Adapter Two way translation between the proprietary format and the common format From EAI Software vendors such as Tibco, or application software vendors such as SAP. JEE architecture provides JCA 24 Message storage and routing EAI Business Activity Monitoring Reliable messaging Business Process Orchestration Data Transformation Message Storage & Routing Message storage Adapter Adapter Products that connect applications running on different systems by sending and receiving application data as messages JEE architecture provides JMS interface Central repository for temporary storage of transactions until they can be delivered Also called “Message Warehousing” Message queuing and routing Asynchronous communications style / Publish Subscribe Set of tools that route messages between sources and consumers based on predefined business rules 25 Data Transformation EAI Data Transformation Business Activity Monitoring Business Process Orchestration Data Transformation Message Storage & Routing Adapter Transformation to and from formats used by Different Systems Handling simple or complex data structures Typically representing data using XML standards such as XQuery and XSLT GUI Configuration tools to help define the transformations Adapter 26 Data Transformation Source F. name: Ronan L. name: Bradley Affiliation: DIT, Dublin, Ireland Intermediate or canonical format Target Name: Ronan Bradley Company: DIT City: Dublin Country: Ireland EAI typically converts the source data into an intermediate format and then convert it into the target format Intermediate format is called the canonical format. 27 Issues in data transformation Challenge 1: Coping with software from different vendors Challenge 2: Coping with different formats A mostly solved problem (Oracle vs. DB2 vs. SQL Server) A solved problem: Relational vs. XML vs. ISAM Challenge 3: Coping with different data models Solvable for the smaller scale cases As the complexity and scale of the data models increases becomes harder and harder one person understands all the schemas Theoretically possible but lots of practical problems Challenge 4: Coping with data from new sources such as new systems, suppliers, customers Lots of unsolved problems 28 EAI: Building a canonical data model Create a common data model including a set of terms for the concepts in the domain of the data sources being integrated e.g., Employee, Customer, Patient, weight, height, bodyTemperature, … EAI solutions do this within their own domain (canonical format) XML Ontologies attempt to do it for any domain required in a selfcontained way but are very hard to build Mappings relate data items in data sources to terms in data model Background knowledge about terms essential for transformations e.g., Employee subClassOf Person, 2 people with the same last name, first name and street address are likely to be the same, 29 Mapping the formats Using the canonical data model, each message format can be mapped into and out of that format. Requires many potentially complex mapping definitions. 30 Business Process Orchestration EAI Process Modeling Business Activity Monitoring Business Process Orchestration Data Transformation Message Storage & Routing Process Brokering Adapter Adapter Often GUI based Describing the flow of information in the context of business processes Using the input/output of processes as the Integration points between diverse business processes Execution of discrete steps within a business process Ability to recover from failed steps Workflow engine Process Management Monitor business processes Correlate metrics to specific business process steps 31 Business Activity Monitoring EAI Business Activity Monitoring is using your data assets to make better decisions BAM is used to gather information about what is occurring in the EAI deployment Business Activity Monitoring Business Process Orchestration Data Transformation Message Storage & Routing Status of current processes Identification of problem areas Adapter Adapter Monitoring of unusual activity E.g. Spotting applications that are not responding E.g. Unusually large orders The collected information is displayed for operators or managers to diagnose and determine the solution 32 Example of a BAM dashboard Shows current activity, future load, historical trends and alerts These can relate to the business process level events or infrastructure events 33 Potential EAI benefits Lower development costs Lower opportunity costs Overtime, each additional integration requirement can more easily be addressed Integration is done more quickly corresponding cost savings reachieved sooner Lower maintenance effort adapters extract the interaction with external systems significant advantage from the software engineering point of view 34 Potential EAI Challenges Hub and spoke architecture concentrates all of the processing into a single server/cluster. The canonical data model introduces an intermediary step Added complexity and additional processing effort EAI products typified by Heavy customisation required to implement the solution Lock-In: Often built using proprietary technology and required specialist skills Lack of flexibility: Hard to extend or to integrate with other EAI products! Often became hard to maintain and evolve efficiently Hard to extend to integrate 3rd parties on other technology platforms Requires organisation to be EAI ready 35 What is EAI readiness? Much of the challenge associated with adopting EAI is not related to the technology. EAI readiness is a state of business maturity in which its systems, processes, employees, structure, and culture are prepared for the successful introduction of both EAI technology and the business disciplines that drive its introduction. All five of these factors must be properly situated and aligned before an EAI implementation can succeed. Culture Technology Employees Processes Structure ©2001, IT Catalysts, Process readiness Business strategic goals for project (i.e. process efficiency, customer satisfaction, supply-chain optimization) clearly defined and agreed upon by company executive leadership. Company makes use of mature methodologies that design integrated business change. Desired business processes designed, documented, and valuated. Gap between current and desired business processes well understood. Employee readiness Staff accustomed to using information technology in performance of day-to-day work. Staff accustomed to adaptation of new roles, responsibilities, processes, and knowledge … to business change. Staff have broad understanding of the business and their contribution to it. Executives understand the role of business sponsorship, and the nature of investing time, staff and budget into the business infrastructure in order to reap future returns. Technology readiness No systems to be integrated using EAI tools have critical business logic not in the application itself This can happen if the logic required is in a batch programs or reports which are not part of the actual application and hence cannot be integrated with. No systems to be integrated using EAI tools will be retired/ decommissioning soon. There is no point integrating with a system which will soon be removed Most of the business functionality required in process designs exists in one or more legacy systems. Applications portfolio has been evaluated for semantic compatibility. Check it is possible to transform from 1 data model to the other Implementation of EAI not defined as the purpose of the effort. The project should be about the business objective, not about the technology Structural readiness Keep it simple by ensuring that the EAI system involves as few departments/organisations as possible. Stakeholder analysis performed to determine overall potential for business resistance to the planned change. Each organisation involved adds to the complexity of the project as more people have to be engaged with and there are potentially greater variety of technologies and architectures. EAI projects change the way that each department/organisation works. Therefore, EAI projects need the cooperation of each department/organisation. Business sponsor established and ready to provide leadership to the business change. Cultural readiness Corporate culture embraces the importance of well-defined business processes. Staff accustomed to adaptation of new roles, responsibilities, processes, and knowledge … to business change. Individuals and departments willing to change the way the applications and data is defined.