Presentation is loading. Please wait.

Presentation is loading. Please wait.

Inventory of Distributed Computing Concepts and Web services

Similar presentations


Presentation on theme: "Inventory of Distributed Computing Concepts and Web services"— Presentation transcript:

1 Inventory of Distributed Computing Concepts and Web services
Chapter 3

2 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

3 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

4 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

5 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

6 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

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

8 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

9 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

10 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

11 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

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

13 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

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

15 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

16 Payload Semantics onMessage() 11/14/2018

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

18 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

19 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

20 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


Download ppt "Inventory of Distributed Computing Concepts and Web services"

Similar presentations


Ads by Google