1 / 20

Inventory of Distributed Computing Concepts and Web services

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

sine
Download Presentation

Inventory of Distributed Computing Concepts and Web services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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.

  3. Technical Layers 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

  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

  5. Technical Layer 1: Ch. 4 -7 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

  6. Communication Network A communication middleware framework isolates the application developers from the details of the network protocol. Application Application Network Protocol Stack Network Protocol Stack

  7. Communication Middleware Application Application Middleware Middleware Network Protocol Stack Network Protocol Stack

  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 Network Protocol Stack Network Protocol Stack RPC stubs and runtime enable location transparency, encapsulate RPC communication infrastructure and provide a procedure call interface.

  9. Distributed Objects Client Application Server Application invoke method Execute method Client proxies Server skeletons ORB ORB 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.

  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. EJB container Web Container Web Application Enterprise Java Beans Database Server J2EE Application Programming Model for Web-based applications Business Logic Web Service Web client

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

  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

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

  15. Payload Semantics 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

  16. Payload Semantics onMessage()

  17. Payload semantics is generic String transferMoney (amt: decimal, accTo: String) { …} String executeService (message: String) { …}

  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

  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?

  20. Tight vs. Loose coupling

More Related