Enterprise Application Integration

Slides:



Advertisements
Similar presentations
Welcome to Middleware Joseph Amrithraj
Advertisements

Web Service Architecture
Distributed Processing, Client/Server and Clusters
ICS 434 Advanced Database Systems
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Database Architectures and the Web
SOA with Progress Philipp Walther Consultant. © 2007 Progress Software Corporation2 Agenda  SOA  Enterprise Service Bus (ESB)  The Progress SOA Portfolio.
Chapter 17: Client/Server Computing Business Data Communications, 4e.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
1 Pertemuan 13 Servers for E-Business Matakuliah: M0284/Teknologi & Infrastruktur E-Business Tahun: 2005 Versi: >
Business Process Orchestration
1 Chapter 7 IT Infrastructures Business-Driven Technology
Chapter 7: Client/Server Computing Business Data Communications, 5e.
Ch 12 Distributed Systems Architectures
SiS Technical Training Development Track Day 10. Agenda  Introduction to Integration Broker  How to Expose and Consume WebServices.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Software – Part 3 V.T. Raja, Ph.D., Information Management College of Business Oregon State University.
EAI. 2/31 Example: a simple supply chain purchase order deliver goods write invoice order atricle check availability document customer-contact not available.
E-Business: Intra-Business E-Commerce
Client/Server Architecture
The Client/Server Database Environment
Enterprise Resource Planning
Chapter 3 Database Architectures and the Web Pearson Education © 2009.
Enterprise Application -Lesegruppe WebServices -Zusammenfassung von Tianxiang LU.
SOA, BPM, BPEL, jBPM.
Enterprise Systems & Architectures. Enterprise systems are mainly composed of information systems. Business process management mainly deals with information.
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 3 – 10 – 2011 College Of Computer Science and Information, Information Systems.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
1 Introduction CSIE, Da-Yeh University. 2 History of Software Development Traditional Programming Paradigm  Behind schedule, costly, and unreliable.
Database Architectures and the Web Session 5
9/5/2012ISC329 Isabelle Bichindaritz1 Web Database Environment.
Integration Broker PeopleTools Integration Broker Steps –Introduction & terminologies –Application Server PUB/SUB services (Application Server)
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Asynchronous Communication Between Components Presented By: Sachin Singh.
Based on the paper “Myths around Web Services” by Gustavo Alonso Web Services & Myths Around it Debashis Roy Deepa Saha.
7-1 Management Information Systems for the Information Age Copyright 2004 The McGraw-Hill Companies, Inc. All rights reserved Chapter 7 IT Infrastructures.
Web server internal infrastructure suppliercustomer warehouse web server internal infrastructure internal procurement requests B2B interactions occur by.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 7, 2005.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Information Builders : SmartMart Seon-Min Rhee Visualization & Simulation Lab Dept. of Computer Science & Engineering Ewha Womans University.
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
Chapter 17: Client/Server Computing Business Data Communications, 4e.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
WebMethods Architecture By webMethods_KB. EAI Architecture Concepts Introduction  EAI IT Landscape  Integration Evolution Basic Concepts  Messaging.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
IBM Global Services © 2005 IBM Corporation SAP Legacy System Migration Workbench| March-2005 ALE (Application Link Enabling)
TOPIC 7 Enterprise Application Architecture (EAI).
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Discovering Computers 2010: Living in a Digital World Chapter 14
The Client/Server Database Environment
SOA (Service Oriented Architecture)
Distributed web based systems
CS 493/693: Distributed Systems Programming
Database Architectures and the Web
#01 Client/Server Computing
Inventory of Distributed Computing Concepts and Web services
Service-centric Software Engineering
Enterprise Application Integration Styles
Introduction to Databases Transparencies
Inventory of Distributed Computing Concepts
Enterprise Resource Planning, 1st Edition by Mary Sumner
Chapter 17: Client/Server Computing
#01 Client/Server Computing
Demo for Partners and Customers
Presentation transcript:

Enterprise Application Integration

Content Architectures Middleware What is EAI A Typical EAI System EAI Benefits Conclusion

Architectures 1 layer architecture 2 layer architecture monolithic Information Systems presentation, application logic, and resource management were merged into a single tier 2 layer architecture separation of presentation layer from other 2 layers (app + resource) became popular as 'server/client' systems 3 layer architecture can be achieved by separating RM (resource management) from application logic layer

Multi-tier Architectures Where to put the business-logic? Client tier -> NO! Fat clients Reimplementing it for each different type of client Redistributing clients after each software update Data tier -> NO! Vendor and technology dependence grows Different applications have different needs for the same data Performance issues in resource usage

Multi-tier Architectures Where to put the business-logic? Middle tier -> YES! Business logic has its own tier Client tier user interfaces Middle tier business logic Data tier data sources Web browsers HTML, Java Web Server Middleware Server Databases GUI clients C++, VB, Java Legacy Systems

Middleware I Allows communication Takes care of through a standard language across different platforms between legacy and moderm applications Takes care of transactions between servers data conversion authentication communications between computers

Middleware II Provides runtime environment for components in the middle-tier Component lifecyle and management Transaction, event and security services Provides connections to databases, mainframes and legacy systems Seperates client-tier from the data source Clean seperation of user-interfaces and presentation logic from the data source

Middleware III Main use today: legacy wrapping for thin client architectures User interfaces Client-tier (GUI applications, browsers) Business logic Middle-tier (CORBA/EJB/COM server) Data sources Data-tier (databases, mainframes)

What is EAI A step forard in the evolution of middleware Integrates applications and enterprise data sources so that they can easily share business processes and data Integration is done without significant changes of applications and data sources

Middleware Middleware EAI Middleware Middleware Middleware Middleware

Internal Applications ERP System Internal Applications (Java,C,C++) CRM System EAI Enterprise Portal Application Databases Financial System Legacy System SCM System

Example: a simple supply chain Ordering System purchase order Business Process Management CRM System document customer-contact Warehouse Controlsystem check availability not available available ERP System order atricle Financial System write invoice Manufacturing System deliver goods

Components of EAI Adapters Message brokers map heterogenous data formats, interfaces and protocols into a common model and format hide heterogeneity present uniform view of layers below Message brokers facilitates the interaction among adapters

Typical EAI system message broker integrating application (contains the composition logic) message broker SmartQuotation adapter database adapter SmartForecasting adapter e-mail adapter XYZ adapter DBMS applications SmartQuotation SmartForecasting XYZ

Message Brokers Message oriented middleware Supporting integration of heterogenous systems Logic for routing messages Filtering and processing messages

Old message-based interoperability inventory management payment- system dispacher shipping month-end closing new PO message-oriented middleware

Message Brokers new PO message broker inventory management payment- system dispacher shipping month-end closing new PO message broker

Difference sender receiver message broker core With message brokers, custom message routing logic can be defined at the messae broker level or at the queue level. In basic MOM it is the sender who specifies the identity of the receiers. sender receiver message broker core

Routing logic sender‘s identity message type message content Definition message broker level queue level

The Publish/Subscribe Interaction Model Applications communicate by exchanging messages Senders do not specify the the recipients of the message, they just publish Receivers have to subscribe with the middleware Middleware retrieves the list of subscrivers of a messagetype and delivers copy

The Publish/Subscribe Interaction Model inventory management (subscriber) paymentsystem (subscriber) dispacher (pulisher) shipping (subscriber) month-end closing (subscriber) new PO message broker

Definition messages subscribers want to receive Namespaces „new PO“ „Supply Chain.new PO“ „Supply Chain.*“ Parameter-based „type = „new PO“ AND customer = „ACME Co.“ AND quantity > 1200 “

The Publish/Subscribe Interaction Model admin client client … admin client client … message broker MB-A message broker MB-C message broker MB-B admin client client …

Example: Message exchanges Quotation scenario Receiving the quote from the customer Accessing the quotation system to obtain a quote Inserting quote information into a forecasting system (i.e., a system that predicts the order volume) Sending the quote back to the customer

Example: Message exchanges publication of a quoteRequest message delivery of message quote RFQ processing publication of a quote message publication of a newQuote message message broker delivery of message quoteRequest delivery of message newQuote SmartQuotation adapter SmartForecasting adapter synchronous invocation of the getQuote function invocation of the createForecastEntry procedure SmartQuotation SmartForecasting

EAI benefits: Lower development costs Lower opportunity costs Integration is simpler because systems are more loosely coupled than in object brokers Lower opportunity costs 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

Real World Example: 1875 Alexander Graham Bell invented the telephone in the19th century AT&T became parent company of the Bell System, the American telephone monopoly The system broke up into eight companies in 1984

Real World Example: From 1984 until 1996 AT&T was an integrated telecommunications services and equipment company Merged 2000 to 3 different companies: AT&T Wireless, AT&T Broadband, and AT&T 2002 AT&T developed a new nationwide intelligent optical network

Conclusion Enterprises integrate their applications less expensive than replacement more efficient than „information islands“ Enterprises must establish web-presence and make business services available to web-clients

Links http://www.ibm.com http://www.att.com http://www.eaipatterns.com/ http://www.iwaysoftware.com/ http://www.capterra.com/enterprise-application-integration-software http://www.infoworld.com/techindex/enterprise_application_integration_-_eai.html

Workflow Management Systems

Content Overview The parts of a WfMS WfMS requirements WfMS and other Middleware WfM and the Web

Why WfMS Originally for office automation Automate administrative processes among human participants and applications Facilitate definition and maintenance of integration logic Processes can be interpreted and modified by business people

What is a WfMS Software platform to workflow processes Design Develope Execute Analyse workflow processes integrate different Services, Applications and human participants

The parts of a WfMS Workflow definition Workflow engine Workflow definition Languages Workflow engine Design interface Monitoring tools and reporting capabilities User Interface Workflow Architecture

The parts of a WfMS Monitoring User Interface / Application Workflow Instance Resource repository Workflow engine Workflow definition

The Workflow definition Formal description of a business logic Specified by a directed graph Defines order of execution of process nodes Work node Routing node Start and completion nodes Once designed, definitions can be “applied” to the process engine

The Workflow Definition (2) Check if offered Produkt Offered = false Contract = false Check if worth proceeding else Get quote from supplier Get quote from Quotation system else go_ahead = true Update quotation System Contract = true Send quote to costumer Enter quote in Forecasting system

The Workflow definition (3) Standard Workflow definition Language Extendable Process Definition Language - XPDL 1.0. ( WFMC ) Includes application integration and resource specification XPDL is extendable It provides a natural fit with graphical representations XPDL 1.0 uses the popular XML language Can be imported into workflow engines that supports XPDL

The Workflow Definition (4) <WorkflowProcess Id="Parallel"> <Activities> <Activity Id="A"> ... <TransitionRestrictions> <TransitionRestriction> <Split Type="AND"> <TransitionRefs> <TransitionRef Id="B"/> <TransitionRef Id="C"/> </TransitionRefs> </Split> </TransitionRestriction> </TransitionRestrictions> </Activity> <Activity Id="B"> <Activity Id="C"> <Activity Id="D"> ... <TransitionRestrictions> <TransitionRestriction> <Join Type="AND"/> </TransitionRestriction> </TransitionRestrictions> </Activity> </Activities> <Transitions> <Transition Id="AB" From="A" To="B"/> <Transition Id="AC" From="A" To="C"/> <Transition Id="BD" From="B" To="D"/> <Transition Id="CD" From="C" To="D"/> </Transitions> </WorkflowProcess> A B C D

The Workflow engine Retrieve Wf definition Determine nodes to be executed routing node work node Place work into the work queue resource accomplishes work OR invoke method of resource API monitor inbound queue for completion messages determine next node to be executed

The Workflow engine (2) Resource Broker Outbound queues 3 4 resource1 5 Inbound queue 1 Workflow engine resource2 resource3 2 Workflow Definition

Monitoring Tools track and monitor individual work requests review resource productivity and work volume analysis quickly search for and identify a work request provide feedback on performance issues Get information about bottlenecks in the process Analysis to implement changes to the workflow process

User Interface Separate work list management from workflow management access and action work requests individuals have a single work list requests from different workflows

Workflow Architectures Async. centralized Architecture Tasmanager no longer part of Scheduler Calling Program not blocked No immediate action of called Program Highly centralized Architecture Tasmanager parts of Scheduler

Workflow Architectures (2) Decentralized Architecture No centralized scheduler Monitoring service for controlling No Bottlenecks

WfMS Requirements Scale Dynamic resource selection and assignment Performance management Sophisticated Failure handling

Failure Handling Forward Recovery Backward Recovery Exception handling Deadlines

WfMS and other Middleware Act in many ways as EAI tools emphasis on programming in the large Focus on workflow that manages integration combine WfMS and EAI into a single system

WfMS and other Middleware (2) WfMS Adapter Message Broker Smart quotation adapter database adapter forecasting adapter E-mail adapter ….. DBMS Application Smart quotation Smart Forecasting

WfM and the Web Services have to be described Must be easy to find Protocols to communicate with the Service SOAP Formats and protocols for invoking the Service WSDL Must be easy to find Search Services by creteria UDDI

Web Service Integration Outsource Services Search for business partners Establish partnership Enable Service communication

Web Service Integration (2) Exchange of messages Services may not be invoked in right order Flow Model

Web Service Integration (3) New requirements Get list of Services that fullfill them

Web Service Integration (4) Compose new Web Service Publish Service Internal details hidden from User

Disadvantages of WfMS Expensive software licenses Complex installation and operation Heavy-weight platforms

Advantages of WfMS Rapid process design and maintainance Failure and exception handling Catering for performance and high availability Workflow design with graphical interface