Download presentation
Presentation is loading. Please wait.
1
Inventory of Distributed Computing Concepts
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. 12/1/2018
3
Issues in distributed systems
Heterogeneity in various aspects of a distributed systems Communication modes Synchronous: RPC, ORB Asynchronous: P2P, Publish and subscribe Variations in products Many vendors: IBM, IONA, TIBCO, Apache, Adobe Additional runtime features: fault tolerance, load balancing, transaction handling, usage metering, auditing, .. 12/1/2018
4
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 12/1/2018
5
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 12/1/2018
6
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 12/1/2018
7
Technical Layer 3: Chapter 9
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 12/1/2018
8
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. 12/1/2018
9
Communication Middleware
Application Application Middleware Middleware Network Protocol Stack Network Protocol Stack 12/1/2018
10
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. 12/1/2018
11
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. 12/1/2018
12
What is CORBA? Common Object Request Broker Architecture (CORBA) specification (/standard) defines a framework for object-oriented distributed applications. It is defined by a consortium of vendors under the direction of Object Management Group (OMG). 12/1/2018
13
What is CORBA? (contd.) Allows distributed programs in different languages and different platforms to interact as though they were in a single programming language on one computer. Brings advantages of OO to distributed systems. Allows you design a distributed application as a set of cooperating objects and to reuse existing objects. 12/1/2018
14
Object Request Broker (ORB)
A software component that mediates transfer of messages from a program to an object located on a remote host. Hides underlying network communications from a programmer. ORB allows you to create software objects whose member functions can be invoked by client programs located anywhere. A server program contains instances of CORBA objects. 12/1/2018
15
Clients, severs and objects
Server0 Client CORBA Object invocation Server1 12/1/2018
16
CORBA Objects and IDL These are standard software objects implemented in any supported language including Java, C++ and Smalltalk. Each CORBA object has a clearly defined interface specified in CORBA interface definition language (IDL). The interface definition specifies the member functions available to the client without any assumption about the implementation of the object. 12/1/2018
17
Client and IDL To call a member function on a CORBA object the client needs only the object’s IDL. Client need not know the object’s implementation, location or operating system on which the object runs. 12/1/2018
18
IDL facilitates internetworking
Specify in IDL Use IDL-language compiler Client sees only IDL interface C++ Java target object smalltalk OLE (VB, PB,Delphi) Ada, Cobol etc. 12/1/2018
19
Separation of Interface and Implementation
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. 12/1/2018
20
ORB : Conceptual View When a client invokes a member function on a CORBA object, the ORB intercepts the function call. ORB directs the function call across the network to the target object. The ORB then collects the results from the function call returns these to the function call. 12/1/2018
21
Implementation Details
Client ORB Object Stub Access to the services provided by an Object ORB : (Object-oriented middleware) Object Request Broker ORB mediates transfer between client program and server object. 12/1/2018
22
Message-oriented Middleware (MOM)
Made famous by IBM’s MQseries and TIBCO’s Rendezvous products. Based on messages and queues. A message contains a header and a payload. A queue can store and distribute messages. Publish/subscribe model of communication: A topic offers another model of communication between subscribers and publishers. MOM allows for loose coupling between message consumers and message producers enabling dynamic, reliable, flexible, high-performance systems to be built. 12/1/2018
23
Components and Application Servers
An application server mediates between a web server and backend systems. Request from a web client is passed onto an application server by the web server. Programmer productivity, cost-effective deployment, rapid time to market, seamless integration, application portability, scalability, security are some of the challenges that component technology tries to address head on. Enterprise Java Beans is Sun’s server component model that provides portability across application servers, and supports complex systems features such as transactions, security, etc. on behalf of the application components. EJB is a specification provided by Sun and many third party vendors have products compliant with this specification: BEA systems, IONA, IBM, Oracle, Sybase, Gemstone. 12/1/2018
24
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 12/1/2018
25
J2EE Application Programming Model for Three-tier Applications
Presentation Components Database Server Enterprise Java Beans EJB container Application Container Business Logic Study Fig. 3-8 of your text for J2EE technology suite. 12/1/2018
26
On to more fundamental concepts: Synchrony
12/1/2018
27
Interface vs. payload semantics
12/1/2018
28
Tight vs. Loose Coupling
12/1/2018
29
Summary 12/1/2018
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.