Enterprise Application Integration Ruh, Maginnis, Brown (2001) text Vendors Internet Resources Web Services EAI Journal online and print.

Slides:



Advertisements
Similar presentations
MQ Series Cross Platform Dominant Messaging sw – 70% of market Messaging API same on all platforms Guaranteed one-time delivery Two-Phase Commit Wide EAI.
Advertisements

Welcome to Middleware Joseph Amrithraj
Distributed Processing, Client/Server and Clusters
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Database Architectures and the Web
CSIS0402 System Architecture K.P. Chow University of Hong Kong.
Chapter 3 Database Architectures and the Web Pearson Education © 2009.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Chapter 6: Client/Server and Intranet Computing
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
Chapter 17: Client/Server Computing Business Data Communications, 4e.
COMPARING DIFFERENT SOFTWARE INTEGRATION TECHNOLOGIES Author Jones Olaiya Ogunduyilemi (Internet & Software Technology)
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Middleware Technologies compiled by: Thomas M. Cosley.
Application Integration Technology IT 490. Middleware Basics  Middleware provides a mechanism that allows one entity (application or database) to communicate.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
Chapter 7: Client/Server Computing Business Data Communications, 5e.
Software Engineering and Middleware A Roadmap Author: Wolfgang Emmerich Presented by: Sam Malek.
JMS Java Message Service Instructor Professor: Charles Tappert By Student: Amr Fouda.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Click to add text Introduction to z/OS Basics © 2006 IBM Corporation Chapter 15: WebSphere MQ.
September 2011 At A Glance The API provides a common interface to the GMSEC software information bus. Benefits Isolates both complexity of applications.
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
The Client/Server Database Environment
Messaging Technologies Group: Yuzhou Xia Yi Tan Jianxiao Zhai.
© 2006 IBM Corporation SOA on your terms and our expertise Software Overview IBM WebSphere Message Broker Extender for TIBCO RV.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Middleware-Based OS Distributed OS Networked OS 1MEIT Application Distributed Operating System Services Application Network OS.
Database Architectures and the Web Session 5
Client Server Technologies Middleware Technologies Ganesh Panchanathan Alex Verstak.
UNIT – II ARCHITECTING WEB SERVICES. WHAT ARE WEB SERVICES ? Web Services are loosely coupled, contracted components that communicate via XML-based interfaces.
Copyrighted material John Tullis 10/2/2015 page 1 04/02/00 MQ Series Middleware Presentation John Tullis DePaul Instructor
Integration Broker PeopleTools Integration Broker Steps –Introduction & terminologies –Application Server PUB/SUB services (Application Server)
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
Lecture 15 Introduction to Web Services Web Service Applications.
DCE (distributed computing environment) DCE (distributed computing environment)
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
National Institute of Science & Technology Architecture of Message Oriented Middleware Anindya Kumar Jena [1] Architecture of Message Oriented Middleware.
Architecture of Message Oriented Middleware [1]
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
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.
Types/Levels of Integration Chao-Hsien Chu, Ph.D. School of Information Sciences and Technology The Pennsylvania State University Presentation Data Functional.
XML and Web Services (II/2546)
Enterprise Integration Patterns CS3300 Fall 2015.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Kemal Baykal Rasim Ismayilov
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
IBM Global Services © 2005 IBM Corporation SAP Legacy System Migration Workbench| March-2005 ALE (Application Link Enabling)
1 SERVICE ORIENTED ARCHITECTURE ANTHONY GACHANGO D61/70547/2008 DIS 601.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
A service Oriented Architecture & Web Service Technology.
MQ Series Cross Platform Dominant Messaging sw – 70% of market
Database Architectures and the Web
The Client/Server Database Environment
Software Connectors.
Chapter 9 – RPCs, Messaging & EAI
Chapter 9: The Client/Server Database Environment
Database Architectures and the Web
#01 Client/Server Computing
Inventory of Distributed Computing Concepts and Web services
Enterprise Service Bus (ESB) (Chapter 9)
Inventory of Distributed Computing Concepts
Chapter 17: Client/Server Computing
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
MQ Series Cross Platform Dominant Messaging sw – 70% of market
#01 Client/Server Computing
Presentation transcript:

Enterprise Application Integration Ruh, Maginnis, Brown (2001) text Vendors Internet Resources Web Services EAI Journal online and print

Enterprise Application Integration Packaged applications Legacy applications Data from variety of sources Stovepipe apps

Enterprise Application Integration C 1 Business Drivers C 2 Types of Integration C 3 Building Blocks C 4 MOM C 5 Object arch C 6 Transaction arch

Enterprise Application Integration Stats % IT resources on integration 35 % of budgets 85 % IT projects not completed 58 % large projects over budget 63 % projects off schedule 58 % report success below 50%

Enterprise Application Integration Select Architect Apply Common Building Blocks

Enterprise Application Integration Messaging Architecture IBM MQ Series Object Architectures EJB Transaction Architecture BEA Tuxedo

Enterprise Application Integration Introductory text Look at concepts Then vendor applications Web Services later

Enterprise Application Integration Technology is always changing Concepts Frameworks Application in an organization

Enterprise Application Integration Key Facts p.1 Definition p.2 Enterprise Application Integration is the creation of business solutions by combining applications using common middleware.

Enterprise Application Integration Middleware is application-independent software that provides services that mediate between applications. Multiple types

Enterprise Application Integration Goals Quick, easy, cheap Improved relationships Supply chains Mergers and acquisitions BPI Speed

Enterprise Application Integration 360 view of relationships p.4 Stovepipe applications definition p.5 Examples and issues Supply-chain Examples and issues

Enterprise Application Integration XML p.6 BPI Speed p.7 Legacy applications Packaged solutions COTS

Enterprise Application Integration Internet p Dot-bomb B2B, B2C Intranets Extranets

Enterprise Application Integration Barriers to EAI Custom API, application programming interfaces Vendors Skills – EAI Security

Enterprise Application Integration Types of integration Chapter 2 Key facts Integration model defines how applications will be integrated by defining the nature of and mechanisms for integration

Enterprise Application Integration Presentation Data Functional Pages 19-21

Enterprise Application Integration Presentation integration model allows the integration of new software through the existing presentations of the legacy software. This is typically used to create a new user interface but may be used to integrate with other applications.

Enterprise Application Integration Data integration model allows the integration of software through access to the data that is created, managed and stored by the software typically for the purposes of reusing or synchronizing data across applications.

Enterprise Application Integration Functional integration model allows the integration of software for the purpose of invoking existing functionality from other new or existing applications. The integration is done through interfaces to the software.

Enterprise Application Integration Coupling White box integration Black box integration

Enterprise Application Integration Presentation integration model p.22 When to use it Green screen One look Only choice Examples

Enterprise Application Integration Pros and Cons Skill level Speed Less complex Performance low Most limiting

Enterprise Application Integration Data integration p. 24 Batch file transfer Open database connectivity Data access middleware Data transformation

Enterprise Application Integration When to use it Analysis of data Data warehouse Different vendors Synchronize EIS

Enterprise Application Integration Pros and cons Flexible Reused Lack of functionality Simple access to data No logic access

Enterprise Application Integration Functional integration model p.29 Business logic RPC’s Distributed processing middleware

Enterprise Application Integration Distributed processing middleware MOM DOT TPM

Enterprise Application Integration MOM Passing messages IBM MQ series Talarian Smart Sockets

Enterprise Application Integration Distributed object technology OMG CORBA Microsoft COM+ Sun’s J2EE

Enterprise Application Integration TPM Transactions BEA Tuxedo

Enterprise Application Integration Breadth of functional integration Data consistency Multistep process Plug and play components

Enterprise Application Integration Data consistency integration is integration through the code of an application where the purpose is to access or update data. The integration facilitates the communication of data and actions.

Enterprise Application Integration Multistep process integration, also known as straight-through processing, is the integration of applications where there is not only communications of requests but also the coordination and management of these requests across applications. The integration facilitates communication of the request and manages the flow and sequencing.

Enterprise Application Integration Plug and play component integration is the integration of applications where a well-defined interface exists that allows a component to be easily connected with other components without modification. The integration facilitates the communication of requests and handles all of the interface definition and management.

Enterprise Application Integration Table 2.1

Enterprise Application Integration When to use it Difficulty Performance Future reuse Examples

Enterprise Application Integration Pros and cons Robust Flexible Reuse Complex Difficult software May not be possible

Enterprise Application Integration Chapter 3 p.39 Key facts

Enterprise Application Integration For EAI solutions need Methodology Technology

Enterprise Application Integration Communication model 2 choices Synchronous – wait until reply is received Asynchronous – continue processing

Enterprise Application Integration Receiver is software that receives a request from a sender. Request is a formatted set of actions and data sent from a sending piece of software to a receiving set of software

Enterprise Application Integration Reply is a formatted set of data and possibly associated actions that are sent as a result of a request Sender is software that sends a request to another software component

Enterprise Application Integration Synchronous communication occurs when the communication between a sender and receiver is accomplished in a coordinated manner. This requires the sender and receiver to operate dependent on the processing of request.

Enterprise Application Integration Interactive systems require synchronous communication. Examples

Enterprise Application Integration Three types of synchronous communication Request/Reply One-Way Synchronous polling

Enterprise Application Integration Request/reply communication is a form of synchronous communication where a sender makes a request of a receiver and waits for a reply before continuing to process. Page 42

Enterprise Application Integration One-way communication is a form of synchronous communication where a sender makes a request from a receiver and waits for a reply that acknowledges receipt of the request. Page 43

Enterprise Application Integration Synchronous polling communication is a form of synchronous communication where a sender communicates a request to a receiver but instead of blocking continues processing. At intervals defined by the developer, the sender checks to see if a reply has been sent. When it detects a reply it processes it and stops any further polling for a reply.

Enterprise Application Integration Asynchronous communication occurs when the communication between a sender and receiver is accomplished in a manner that allows each of them to operate independently of the other. The receiver of the request is under no obligation to handle the communications or respond to the sender. The sender continues to operate once the request is sent without regard to how the receiver handles the communication.

Enterprise Application Integration Three popular types of asynchronous communications Message passing Publish/Subscribe Broadcast

Enterprise Application Integration Message passing is a form of asynchronous communication where a request is sent from a sender to a receiver. When the sender has made the request, it essentially forgets it has been sent and continues processing. The request is delivered to the receiver and is processed. Page 46

Enterprise Application Integration Publish/subscribe is a form of asynchronous communication where a request is sent by the sender and the receiver is determined by a declaration of interest by the receiver in the request. Page 47

Enterprise Application Integration Broadcast is a form of asynchronous communication in which a request is sent to all participants, the receivers, of a network. Each participant determines whether the request is of interest by examining the content. Page 48

Enterprise Application Integration Methods of integration Messaging Interface definitions

Enterprise Application Integration Messaging offers an easy to understand approach for the construction, use, and processing of the data. Interface based integration requires the specification and implementation of a well-defined interface that describes the actions that an application can perform.

Enterprise Application Integration A connector is logic that is programmed into an application whose sole purpose is to provide access to the presentation, data, or functionality of the application in a structured manner. The connector hides the complexity of translating and communicating a message or an invocation on an interface for use by the application.

Enterprise Application Integration Marshalling is the process of converting sequences of parameters and complex data structures into flat strings of bytes that can be transmitted over a communications link. Unmarshalling is the process of correctly restoring the original structures at the receiving end.

Enterprise Application Integration Middleware is a type of software that facilitates the communication of requests between software components through the use of defined interfaces or messages. In addition, it provides the runtime environment to manage the requests between software components.

Enterprise Application Integration RPC Data access middleware Message oriented middleware Distributed object technology Transaction processing monitors

Enterprise Application Integration Remote Procedure Calls is a type of middleware that is based on the notion of developing distributed applications that integrate at the procedure level.

Enterprise Application Integration Database access middleware is a type of middleware that is based on the notion of accessing distributed data whether in files or databases.

Enterprise Application Integration Open Database Connectivity OBDC

Enterprise Application Integration Message oriented middleware is a type of middleware that uses messages as the method of integration; it provides the ability to create, manipulate, store, and communicate these messages.

Enterprise Application Integration Distributed object technology is a type of middleware that extends the concepts of object-oriented technology to distributed processing. Interfaces are developed for applications that make software look like objects.

Enterprise Application Integration Transaction Processing monitors are a type of middleware that preserves the integrity of a transaction. They support features such as rollback, failover, auto restart, error logging, and replication to eliminate single points of failure.

Enterprise Application Integration VERY IMPORTANT Atomicity Consistency Isolation Durability

Enterprise Application Integration Atomicity Transaction is all or nothing.

Enterprise Application Integration Consistency Transactions always go from one consistent state to another.

Enterprise Application Integration Isolation Does not affect other data or processes Durability Recorded on nonvolatile medium

Enterprise Application Integration Rollback capability

Enterprise Application Integration Service Functional extension to basic communication or middleware capability

Enterprise Application Integration Chapter 4 Messaging key facts

Enterprise Application Integration Message queuing is a way to pass data or make an invocation of a remote function from a specific client to a specific server, or from a server to a server. p.63

Enterprise Application Integration Request/reply, point to point The request message from a source and the reply message from a target will occur within a single transaction.

Enterprise Application Integration FIFO Publish/subscribe messaging P.65

Enterprise Application Integration Message translation is the ability to convert data into a form that can be transmitted in a message and the subsequent ability to convert the data back to its native format once the message has reached its target.

Enterprise Application Integration Queue management Synchronicity Response time Message content Message size Message priority Queue volume Queue timeouts Queue persistence Queue priority

Enterprise Application Integration Persistence is the ability to temporarily store the message until delivery. Transitory persistence is for the length of time required for one or more functions to complete, such as a transaction.

Enterprise Application Integration Figures on page 69

Enterprise Application Integration Queue manager/router is a service that can determine to which queue a message should be routed based on message content, queue availability, or preset rules.

Enterprise Application Integration Message queuing Data transport Data integration Application Integration Enterprise Integration Vendors

Enterprise Application Integration MegaMoney Bancorp Goals

Enterprise Application Integration Chapter 5 Goals P. 83

Enterprise Application Integration Three types of distributed object architecture discussed DCOM/COM+ CORBA EJB

Enterprise Application Integration Charts on p. 85, 86 OMA The object management architecture is the specification for CORBA (Common Object Request Broker Architecture) software in the form of services and facilities for business domains.

Enterprise Application Integration ORB The object request broker (ORB) is the mechanism for transparently communicating client requests to target object implementations.

Enterprise Application Integration Services layers Application objects Domain Facilities CORBA Facilities CORBA Services Object Request Broker

Enterprise Application Integration CORBA is a distributed object technology that is platform independent and enables remote object creation and remote object method invocation. It is based on the use of an object request broker with published CORBA services.

Enterprise Application Integration OMG (Object Management Group) is the focal organization for the definition and adherence to the OMA and CORBA.

Enterprise Application Integration ORB is a distributable component that can communicate with other ORBS to provide distributed object lifecycle services across multiple platforms.

Enterprise Application Integration ORB provides Operating system transparency Object life cycle services Remote object method calls

Enterprise Application Integration CORBA Services offer a set of distributed object functionality that is required to be available for an application developer to build the distributed application on top of, makes CORBA easier to use for distributed application development, and removes the need to program at the communications level of the ORB.

Enterprise Application Integration CORBA Facilities are application level services that are intended to be used as distributable components of a distributed application. Examples p.91

Enterprise Application Integration CORBA domains are line-of-business oriented and issue specifications for use within their specific business domain. Example

Enterprise Application Integration CORBA 3 features Firewall spec Interoperable Name Service Specification Asynchronous messaging and quality of service control Minimum fault tolerance and real-time CORBA

Enterprise Application Integration Fault tolerance is the ability for errors to occur without crashing the system, ensuring a stable, known system state.

Enterprise Application Integration CORBA components p.93-4 Drawbacks Stability Services

Enterprise Application Integration IBM Component Broker is a CORBA implementation and is an enterprise solution for distributed object computing that includes an operational environment and tool set and is available as a part of IBM Enterprise Edition of WebSphere Application Server.

Enterprise Application Integration Thin clients P.98

Enterprise Application Integration Microsoft Windows DNA Does not use CORBA Uses COM+ model

Enterprise Application Integration Sun J2EE EJB environment

Enterprise Application Integration MegaMoney Bancorp

Enterprise Application Integration Transaction architecture Key facts p.107

Enterprise Application Integration Transaction processing monitors ensure the integrity of business processes by providing atomicity, consistency, isolation, and durability of transactions.

Enterprise Application Integration VERY IMPORTANT Atomicity Conistency Isolation Durability

Enterprise Application Integration Atomicity Transaction is all or nothing.

Enterprise Application Integration Consistency Transactions always go from one consistent state to another.

Enterprise Application Integration Isolation Does not affect other data or processes Durability Recorded on nonvolatile medium

Enterprise Application Integration P.109 transactions A transaction is the implementation of one or more business functions based on associated business rules, where the transaction is completed only when all of the required business functions are completed as specified by the business rules.

Enterprise Application Integration Rollback capability

Enterprise Application Integration Mainframe Transaction processing monitors CICS IMS

Enterprise Application Integration Distributed Transaction Processing Monitors BEA Tuxedo Transarc Encina

Enterprise Application Integration Distributed Transaction Processing standard is an open industry standard that specifies how transactions are to be coordinated. The DTP is widely supported by databases and TPM’s.

Enterprise Application Integration Four participants Applications Resource Managers Transaction Managers Communication resource managers

Enterprise Application Integration Two-phase commit is the mechanism used by the DTP to ensure the integrity of distributed transactions.

Enterprise Application Integration Transaction monitor services Programming models Synchronous request/response Asynchronous request/response Conversational Events

Enterprise Application Integration Message queuing Security Conversion and translation Server management Administration Gateways

Enterprise Application Integration Object transaction monitor An object transaction monitor is a product that provides distributed objects with transactional integrity.

Enterprise Application Integration Object transaction service is the CORBA standard for distributed object transactions. OTS defines how the Open Group model can be applied to CORBA objects.

Enterprise Application Integration Example on p. 121

Enterprise Application Integration A nested transaction is a transaction within a transaction.

Enterprise Application Integration EJB model is strongly transactional.

Enterprise Application Integration Strengths and weaknesses Integrity Coordination Services Too tightly coupled Too time consuming Legacy problems

Enterprise Application Integration Alternatives Messaging – completed or certain to be completed Must be transactional Integrity will not be compromised by deferring Soft rollback

Enterprise Application Integration MegaMoney example