Chapter 2 Distributed Computing Infrastructure

Similar documents
Enterprise Application Integration (EAI) Chapter 7. An Introduction to EAI and Middleware

DS 2009: middleware. David Evans

Distributed Middleware. Distributed Objects

ORACLE MESSAGEQ ORACLE DATA SHEET KEY FEATURES AND BENEFITS

Today: Distributed Objects. Distributed Objects

CHAPTER 2. Introduction to Middleware Technologies

Chapter 4 Communication

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services

Communication. Distributed Systems IT332

: ESB Implementation Profile

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

webmethods EntireX for ESB: Leveraging Platform and Application Flexibility While Optimizing Service Reuse

MOM MESSAGE ORIENTED MIDDLEWARE OVERVIEW OF MESSAGE ORIENTED MIDDLEWARE TECHNOLOGIES AND CONCEPTS. MOM Message Oriented Middleware

Overview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36

Distributed Systems COMP 212. Lecture 15 Othon Michail

Dr Markus Hagenbuchner CSCI319 SIM. Distributed Systems Chapter 4 - Communication

DISTRIBUTED COMPUTER SYSTEMS

Middleware and Interprocess Communication

Enterprise Integration with Workflow Management

Web Services - Concepts, Architecture and Applications Part 3: Asynchronous middleware

Connecting ESRI to Anything: EAI Solutions

Electronic Payment Systems (1) E-cash

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Leveraging Web Services Application Integration. David S. Linthicum CTO Mercator

Design Patterns for Net- Centric Applications

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 8 Architectural Design of Distributed Applications

Structured communication (Remote invocation)

IEC : Implementation Profile

Communication in Distributed Systems

Distributed Systems Inter-Process Communication (IPC) in distributed systems

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

Patterns for Asynchronous Invocations in Distributed Object Frameworks

Sentinet for Microsoft Azure SENTINET

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system

Distributed Systems. Edited by. Ghada Ahmed, PhD. Fall (3rd Edition) Maarten van Steen and Tanenbaum

Distributed Systems Lecture 2 1. External Data Representation and Marshalling (Sec. 4.3) Request reply protocol (failure modes) (Sec. 4.

Distributed Information Processing

Events Will Transform Application Servers

Chapter 2 Distributed Information Systems Architecture

Today: Distributed Middleware. Middleware

Enterprise Integration Using IEC

Service-Oriented Architecture (SOA)

Extending Your Mainframe for More Business Value

Asynchronous and Synchronous Messaging with Web Services and XML Ronald Schmelzer Senior Analyst ZapThink, LLC

Chapter 13: Architecture Patterns

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

Lecture 8: February 19

Distributed Systems Principles and Paradigms. Chapter 04: Communication

Introduction in Eventing in SOA Suite 11g

Distributed Systems Principles and Paradigms. Chapter 04: Communication

BUILDING the VIRtUAL enterprise

Interprocess Communication Tanenbaum, van Steen: Ch2 (Ch3) CoDoKi: Ch2, Ch3, Ch5

Chapter 4 Communication

CORBA (Common Object Request Broker Architecture)

CSci Introduction to Distributed Systems. Communication: RPC

Distributed Pub/Sub Model in CoAP-based Internet-of-Things Networks

DYNAMIC CONFIGURATION OF COLLABORATION IN NETWORKED ORGANISATIONS

W H I T E P A P E R : O P E N. V P N C L O U D. Implementing A Secure OpenVPN Cloud

Overview SENTINET 3.1

May Gerd Liefländer System Architecture Group Universität Karlsruhe (TH), System Architecture Group

ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al

describe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution

Sentinet for Windows Azure VERSION 2.2

Patterns Architectural Styles Archetypes

Interprocess Communication

Application Oriented Networks: An SOA Perspective

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

Verteilte Systeme (Distributed Systems)

Introduction to Distributed Systems

(9A05803) WEB SERVICES (ELECTIVE - III)

IBM WebSphere Business Integration Event Broker and Message Broker V5.0

IBM WebSphere Message Broker for z/os V6.1 delivers the enterprise service bus built for connectivity and transformation

MODELS OF DISTRIBUTED SYSTEMS

How EDA extends SOA and why it is important

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

Last Class: RPCs and RMI. Today: Communication Issues

Introduction to Protocols for Realtime Data Sharing. Deepti Nagarkar

Oracle Application Server 10g Integration Interconnect. An Oracle Technical White Paper January 2005

COMMUNICATION IN DISTRIBUTED SYSTEMS

Middleware Mediated Transactions & Conditional Messaging

Software Design COSC 4353/6353 DR. RAJ SINGH

Chapter 4 Communication

Advanced Distributed Systems

Parallelism. Master 1 International. Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique

Introduction to Messaging using JMS

Gustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2

Indirect Communication

Architectural patterns and models for implementing CSPA

CAS 703 Software Design

Communication. Distributed Systems Santa Clara University 2016

SAI/ST course Distributed Systems

A Perspective on the Transformation of zseries to Support New Workloads

IBM WebSphere MQ for z/os V7.0 delivers the universal messaging backbone for SOA and Web 2.0 with enhanced ease of use, performance, and resilience

In this Lecture you will Learn: System Design. System Architecture. System Architecture

OPC DataHub Offers Advanced Tunnelling of Process Data

Distributed Systems. Messaging and JMS Distributed Systems 1. Master of Information System Management

European Sky ATM Research (SESAR) [5][6] in Europe both consider the implementation of SWIM as a fundamental element for future ATM systems.

Report. Middleware Proxy: A Request-Driven Messaging Broker For High Volume Data Distribution

AN ENGINEER S GUIDE TO TMoIP

Transcription:

Slide 2.1 Web Serv vices: Princ ciples & Te echno ology Chapter 2 Distributed Computing Infrastructure Mike P. Papazoglou mikep@uvt.nl

Slide 2.2 Topics Distributed computing and Internet protocols The client server model Inter-process communication Synchronous forms of middleware Asynchronous forms of middleware Request reply messaging Message-oriented middleware Enterprise application and e-business integration

Slide 2.3 Distributed Computing A distributed system is characterized as a collection of heterogeneous networked computers, which communicate and coordinate their actions by passing messages. Distribution is transparent to the user so that the system appears as a single integrated t facility. One important characteristic of a distributed system is that processes are not executed on a single processor, but rather span a number of processors. This requires inter-process communication mechanisms.

Slide 2.4 Internet Protocols Internet protocols are essentially methods of data transport across the Internet. They define the standards by which the different components in a distributed system communicate across the Internet with each other & with remote components. The most prominent of the Internet protocols is transport control protocol over Internet protocol (or TCP/IP), which provide for the reliable delivery of streams of data from one host to another across the Internet: The Internet protocol (IP) enables the unreliable delivery of individual packets from one host to another. IP makes no guarantees as to whether the packet will be delivered, how long it will take, or if multiple packets will arrive in the order they were sent. The transport control protocol (TCP) adds the notions of connection and reliability.

Slide 2.5 The TCP/IP protocol stack and its relation to the ISO Reference Model The data link layer provides the interface to the actual network hardware. The inter-network layer is responsible for routing blocks of data from one host to another. The transport layer provides end-to-end data transfer by delivering data between the client and server sides of an application. The application layer is responsible for supporting network applications.

Slide 2.6 Middleware Middleware provides a functional set of interfaces to allow an application to locate applications transparently across the network; shield software developers from low-level, tedious and errorprone platform details; provide a consistent set of higher level abstractions that are much closer to application requirements; leverage previous developments and reuse them rather than rebuild them for each usage; provide services such as reliability, availability, ailabilit authentication, and security.

Slide 2.7 Topics Distributed computing and Internet protocols The client server model Inter-process communication Synchronous forms of middleware Asynchronous forms of middleware Request reply messaging Message-oriented middleware Enterprise application and e-business integration

Slide 2.8 Client server model A client/server architecture is an architecture in which processing and storage tasks are divided between two classes of network members, clients & servers. Client/server architecture involves client processes (service consumers) requesting service from server processes (service providers). Servers may in turn be clients of other servers. The client machine runs software and applications that are stored locally. The client makes requests to servers and is also responsible for the user interface. Some of the applications may be stored and executed on the server, but most of it is on the client. The server also provides the data for the application. Source: From M. P. Papazoglou and P. M. A. Ribbers, e-business: Organizational and Technical Foundations, J. Wiley & Sons, 2006. Reproduced with permission

Slide 2.9 Topics Distributed computing and Internet protocols The client server model Inter-process communication Synchronous forms of middleware Asynchronous forms of middleware Request reply messaging Message-oriented middleware Enterprise application and e-business integration

Slide 2.10 Messaging Distributed systems and applications communicate by exchanging messages. Messaging enables high-speed, asynchronous, program-to-program communication with reliable delivery. Message passing between a pair of processes is supported by two message communication operations: send and receive, defined in terms of destinations and messages. Marshalling (serialization) is the process of taking any form of structured data items and breaking up so that it can be transmitted as a stream of bytes over a communications network in such a way that the original structure can be reconstructed easily on the receiving end. Unmarshalling (deserialization) is the process of converting the assembled stream of bytes on arrival to produce an equivalent form of structured data at the destination point.

Slide 2.11 Synchronous and asynchronous messaging There are two basic modes of message communication: Synchronous communication synchronized between two communicating application systems, which h must both be up and running. Execution flow at the client s side is interrupted to execute the call. E.g., remote procedure call (RPC) Asynchronous communication the caller employs a send and forget approach that allows it to continue to execute after it sends the message. Here an application sends a request to another while it continues its own processing activities. E.g., store and forward and publish/subscribe

Slide 2.12 Topics Distributed computing and Internet protocols The client server model Inter-process communication Synchronous forms of middleware Asynchronous forms of middleware Request reply messaging Message-oriented middleware Enterprise application and e-business integration

Slide 2.13 Remote procedure calls RPC is a basic mechanism for inter-program communication, where the application elements use a request/wait-for-reply (synchronous) model of communication. i RPC works well for smaller, simple applications with mainly point-to-point communications RPCs do not scale well to large, mission-critical applications, since programmers must handle many crucial details, e.g., network and system failures, multiple connections, and synchronization between processes. Source: From M. P. Papazoglou and P. M. A. Ribbers, e-business: Organizational and Technical Foundations, J. Wiley & Sons, 2006. Reproduced with permission

Slide 2.14 Tightly coupled RPC point-to-pointto integrations RPC-style programming leads to tight coupling of interfaces and applications. In an RPC environment each application i needs to know the intimate details of the interface of every other application the number of methods it exposes and the details of each method signature it exposes.

Slide 2.15 Asynchronous communication Asynchronous communication promotes loose coupling in which an application does not need to know the intimate details of how to reach and interface with other applications. Each participant in a multi-step business process flow needs only be concerned with ensuring that it can send a message to the messaging system.

Slide 2.16 Topics Distributed computing and Internet protocols The client server model Inter-process communication Synchronous forms of middleware Asynchronous forms of middleware Request reply messaging Message-oriented middleware Enterprise application and e-business integration

Slide 2.17 Store and forward messaging With the store and forward queuing mechanism, messages are placed on a virtual channel called a message queue by a sending application and are retrieved by the receiving application as needed. The queue is a container that can hold the message until the recipient collects it. Both physical location of queue and physical details of host platform are not know to either application

Slide 2.18 Publish/Subscribe Messaging The application that produces information publishes it and all other applications that need this type of information subscribe to it. Messages containing the new information are placed in a queue for each subscriber by the publishing application. Each application may have a dual role: it may act as a publisher or subscriber of different types of information.

Slide 2.19 Event-driven processing mechanisms The one-to-one request/reply interaction pattern commonly used in client-server system is inadequate for systems that must react to events representing changes in environment, interested information, or process status The asynchrony, heterogeneity, and inherent loose coupling that characterize modern applications in a wide-area network requires event notification mechanisms. Event notification offers a many-to-many communication and integration facility. Clients in an event-notification notification scheme are of two kinds: objects of interest, which are the producers of notifications, and interested parties, which are the consumers of notifications. A client can act as both an object of interest and an interested party. An event notification service typically realizes the publish/subscribe asynchronous messaging scheme.

Slide 2.20 Topics Distributed computing and Internet protocols The client server model Inter-process communication Synchronous forms of middleware Asynchronous forms of middleware Request reply messaging Message-oriented middleware Enterprise application and e-business integration

Slide 2.21 Asynchronous request/reply messaging Most asynchronous messaging mechanisms follow the fire-and-forget messaging principle where the sending application can conduct its work as usual once a message was asynchronously sent. The sending application assumes that the message will arrive safely at its destination at some point in time. This mode of messaging does not preclude the necessity to perform request/reply operations.

Slide 2.22 Topics Distributed computing and Internet protocols The client server model Inter-process communication Synchronous forms of middleware Asynchronous forms of middleware Request reply messaging Message-oriented middleware Enterprise application and e-business integration

Slide 2.23 Message-oriented Middleware MOM is an infrastructure that involves the passing of data between applications using a common communication channel that carries self-contained messages. Messages are sent and received asynchronously. The messaging system (integration t ti broker) )is responsible for managing the connection points between clients and for managing multiple channels of communication between the connection points. Source: From M. P. Papazoglou and P. M. A. Ribbers, e-business: Organizational and Technical Foundations, J. Wiley & Sons Limited, 2006. Reproduced with permission

Slide 2.24 Message-oriented Middleware (continued) MOM provides the following functions: message multicast supporting event-driven processing, i.e., the publish/subscribe model; reliability and serialization of messages; multiple communications protocols, e.g., store and forward, request/reply, publish/subscribe. subject-based (textual) names and attributes to abstract from physical names and addresses; An integration ti broker is an application-to-application t middleware service capable of one-to-many, many-to-one and many-to-many message distribution. It records and manages the contracts between publishers and subscribers of messages. An integration broker provides the following functions: message transformation, business rules processing, routing services, naming services, adapter services, repository services, events, and alerts.

Slide 2.25 Topics Distributed computing and Internet protocols The client server model Inter-process communication Synchronous forms of middleware Asynchronous forms of middleware Request reply messaging Message-oriented middleware Enterprise application and e-business integration

Slide 2.26 Enterprise Application Integration (EAI) EAI has emerged to help organizations eliminate islands of data and automation and integrate diverse custom and package applications (including legacy). The objective of EAI is to transform an organization s internal applications into a cohesive corporate framework. EAI enables applications throughout the enterprise to integrate seamlessly in the form of business processes. The internal applications in an enterprise that EAI attempts to integrate are called enterprise information systems. These include the following: Custom applications Legacy and database applications Enterprise resource planning systems Customer relationship management systems Transaction systems.

Slide 2.27 EAI (continued) EAI uses a fast, robust communications backbone with integration broker technology, business process workflow, and facilities tools. Integration brokers are used for message process flow & are responsible for brokering messages exchanged between two or more applications. They provide the ability to transform store and route messages apply business rules and respond to events.

Slide 2.28 e-business integration e-business integration solutions grow on the back of successful internal EAI solutions and provide the capability to link together disparate processes between trading partners. systems internal to an enterprise are able to interact with those of customers, suppliers, and partners.