Inventory of Distributed Computing Concepts and Web services

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

Siebel Web Services Siebel Web Services March, From
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
1 Understanding Web Services Presented By: Woodas Lai.
RPC Robert Grimm New York University Remote Procedure Calls.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
Spring, Hibernate and Web Services 13 th September 2014.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
CORBA - Common Object Request Broker Architecture.
I.1 Distributed Systems Prof. Dr. Alexander Schill Dresden Technical University Computer Networks Dept.
Component-based Software Engineering Marcello Bonsangue LIACS – Leiden University Fall 2005 Component Model Comparison.
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.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
Communication in Distributed Systems –Part 2
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.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
B. RAMAMURTHY Web services. Topics What is a web service? From OO to WS WS and the cloud WS code.
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
1 G52IWS: Distributed Computing Chris Greenhalgh.
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
AUTHORS: MIKE P. PAPAZOGLOU WILLEM-JAN VAN DEN HEUVEL PRESENTED BY: MARGARETA VAMOS Service oriented architectures: approaches, technologies and research.
WebService. Outline Overview of Web Services SOAP (messaging) WSDL (service description) UDDI (registry)
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Common Object Request Broker Architecture (CORBA) The Common Object Request Broker Architecture (CORBA) is a specification of a standard architecture for.
Chapter 14 Advanced Architectural Styles. Objectives Describe the characteristics of a distributed system Explain how middleware supports distributed.
A service Oriented Architecture & Web Service Technology.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
BINA RAMAMURTHY 9/30/2016 Copyright 2010 B. Ramamurthy 1 Distributed Systems.
Internet and Distributed Application Services
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
Unit – 5 JAVA Web Services
CORBA Alegria Baquero.
CORBA Within the OS & Its Implementation
7. Service-oriented Architecture (SOA)
#01 Client/Server Computing
Web Services.
Overview of Web Services
Introduction to Web Services and SOA
Inventory of Distributed Computing Concepts
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
CORBA Alegria Baquero.
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
Service Oriented Architecture
Inventory of Distributed Computing Concepts
Component--based development
Service Oriented Architecture (SOA)
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Distributed Systems through Web Services
WebServices Using JAX-RPC
Introduction to Web Services
Web Services and Application Development using Services API
Distributed System using Web Services
Introduction to SOA and Web Services
Introduction to Service-Orientation
Introduction to Web Services and SOA
Distributed System using Web Services
Copyright 1999 B.Ramamurthy
Inventory of Distributed Computing Concepts
Distributed Systems Architectures
#01 Client/Server Computing
Presentation transcript:

Inventory of Distributed Computing Concepts and Web services Chapter 3

Motivation Earlier attempts to replace existing systems failed; Distributed computing environment (DCE): emphasis -- distribution Common object request broker architecture (CORBA): emphasis -- interoperability Uniqueness of SOA is that it leverages existing middleware and distributed computing concepts RPC, distributed objects, message-oriented middleware (MOM), application coupling, etc. 11/14/2018

Technical Layers Participant A Participant B Participant C XML ORB Core Assets Participant A Participant B Participant C Business Logic Technology Independent Interface Description Technology Independent Interface Description Technology Independent Interface Description Middleware Mapping XML ORB Technology Adapters Middleware Buses Communication facilities CORBA XML Web services 11/14/2018

Technical Layer 2 : Chapter 3 Core Assets Participant A Participant B Participant C Business Logic Technology Independent Interface Description Technology Independent Interface Description Technology Independent Interface Description Middleware Mapping XML ORB Technology Adapters Middleware Buses Communication facilities CORBA XML Web services 11/14/2018

Technical Layer 1: Ch. 4 -7 Participant A Participant B Participant C Core Assets Participant A Participant B Participant C Business Logic Technology Independent Interface Description Technology Independent Interface Description Technology Independent Interface Description Middleware Mapping XML ORB Technology Adapters Middleware Buses Communication facilities CORBA XML Web services 11/14/2018

Communication Network Application Application A communication middleware framework isolates the application developers from the details of the network protocol. Network Protocol Stack Network Protocol Stack A communication middleware framework isolates the application developers from the details of the network protocol. 11/14/2018

Communication Middleware Application Application Middleware Middleware Network Protocol Stack Network Protocol Stack 11/14/2018

Remote procedure call (RPC) Client Application Server Application Procedure call Execute call RPC Stub code RPC stub code RPC library/runtime RPC library/runtime RPC stubs and runtime enable location transparency, encapsulate RPC comm infrastructure and provide a proceudre call interface. Network Protocol Stack Network Protocol Stack RPC stubs and runtime enable location transparency, encapsulate RPC communication infrastructure and provide a procedure call interface. 11/14/2018

Distributed Objects Client Application Server Application invoke method Execute method Client proxies Server skeletons ORB ORB RPC stubs and runtime enable location transparency, encapsulate RPC comm infrastructure and provide a proceudre call interface. Network Protocol Stack Network Protocol Stack ORBs enable client applications to remotely instantiate, locate, invoke methods and Delete server objects; Java RMI, Microsoft’s DCOM; CORBA is meant to be platform independent. 11/14/2018

Separation of Interface and Implementation An important contribution of CORBA is IDL or Interface Definition Language. Interface and implementation can be in two different languages. Interface abstracts and protects details (trade secrets) from client Interface offers a means of expressing design without worrying about implementation. 11/14/2018

J2EE Application Programming Model for Web-based applications Web Service Business Logic Web Application Database Server Enterprise Java Beans EJB container Web Container Web client 11/14/2018

J2EE Application Programming Model for Three-tier Applications Presentation Components Database Server Enterprise Java Beans EJB container Application Container Business Logic 11/14/2018

Interface vs Payload Semantics Typically interaction between a client and a server results in the execution of an activity (ot transaction) Request needs to be specified by the request. Interface semantics: Requested activity can be encoded in the operation signature in the server’s “interface” or Payload semantics: It can be embedded in the message itself 11/14/2018

Interface Semantics Process1 Process2 getCustomer() retrieveCustomerData() returnResult() Semantics of the activity is explicitly stated in the message/method call 11/14/2018

Payload Semantics Process 1 Process 2 Envelop With message Process 1 Process 2 Requested transaction/activity is embedded in the message Details of the activity not explicit; the semantics are embedded in the message 11/14/2018

Payload Semantics onMessage() 11/14/2018

Payload semantics is generic String transferMoney (amt: decimal, accTo: String) { …} String executeService (message: String) 11/14/2018

Document-centric Messages With emergence of self-descriptive data structures such as XML, document-centric has become popular Semantically rich messages where operation name, its parameters, return type are self descriptive. SOAP (Simple Object Access Protocol) over XML is an example (look at the example in p.45 of your text) Lets look at XML, SOAP, WS evolution. WSSOA 11/14/2018

Tight vs. Loose Coupling An important characteristics of an SOA that is a loosely coupled system. On the technology front this is driven by dynamic discovery and binding enabled by Universal Description, Discovery and Integration (UDDI) On the business front loose coupling addresses the growing need for companies to be flexible and agile with respect changes in their own processes and those of their partners (read p.46) How does loose coupling help in improving agility, flexibility and performance? 11/14/2018

Tight vs. Loose coupling Level Tight coupling Loose coupling Physical coupling Direct physical link required Physical intermediary Communication style synchronous asynchronous Type system Strongly typed (interface semantics) Weak type system (payload semantics) Interaction pattern OO-style navigation of complex object trees Data-centric, self-contained messages Control of process logic Central control of process logic Distributed logic components Service discovery and binding Statically bound services Dynamically bound services Platform dependencies Strong OS and programming language dependencies OS- and programming language dependent 11/14/2018