Inventory of Distributed Computing Concepts - PowerPoint PPT Presentation

About This Presentation
Title:

Inventory of Distributed Computing Concepts

Description:

Common object request broker architecture (CORBA): emphasis -- interoperability ... Object Request Broker Architecture (CORBA) ... Object Request Broker (ORB) ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 30
Provided by: binarama
Learn more at: https://cse.buffalo.edu
Category:

less

Transcript and Presenter's Notes

Title: Inventory of Distributed Computing Concepts


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.

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, ..

4
Technical Layers
Core
Assets
Participant A
Participant C
Participant B
Business Logic
Technology Independent Interface Description
Technology Independent Interface Description
Technology Independent Interface Description
XML
ORB
Middleware Mapping
Technology Adapters
Middleware Buses
Communication facilities
CORBA
XML Web services
5
Technical Layer 2 Chapter 3
Core
Assets
Participant A
Participant C
Participant B
Business Logic
Technology Independent Interface Description
Technology Independent Interface Description
Technology Independent Interface Description
XML
ORB
Middleware Mapping
Technology Adapters
Middleware Buses
Communication facilities
CORBA
XML Web services
6
Technical Layer 1 Ch. 4 -7
Core
Assets
Participant A
Participant C
Participant B
Business Logic
Technology Independent Interface Description
Technology Independent Interface Description
Technology Independent Interface Description
XML
ORB
Middleware Mapping
Technology Adapters
Middleware Buses
Communication facilities
CORBA
XML Web services
7
Technical Layer 3 Chapter 9
Core
Assets
Participant A
Participant C
Participant B
Business Logic
Technology Independent Interface Description
Technology Independent Interface Description
Technology Independent Interface Description
XML
ORB
Middleware Mapping
Technology Adapters
Middleware Buses
Communication facilities
CORBA
XML Web services
8
Communication Network
Application
Application
Network Protocol Stack
Network Protocol Stack
  • A communication middleware framework isolates the
    application developers from the details of the
    network protocol.

9
Communication Middleware
Application
Application
Middleware
Middleware
Network Protocol Stack
Network Protocol Stack
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
Network Protocol Stack
Network Protocol Stack
RPC stubs and runtime enable location
transparency, encapsulate RPC communication
infrastructure and provide a procedure call
interface.
11
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, Microsofts DCOM CORBA
is meant to be platform independent.
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).

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.

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.

15
Clients, severs and objects
Server0
Client
CORBA Object
invocation
Server1
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.

17
Client and IDL
  • To call a member function on a CORBA object the
    client needs only the objects IDL.
  • Client need not know the objects implementation,
    location or operating system on which the object
    runs.

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.
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.

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.

21
Implementation Details
Access to the services provided by an Object
ORB (Object-oriented middleware) Object
Request Broker ORB mediates transfer between
client program and server object.
22
Message-oriented Middleware (MOM)
  • Made famous by IBMs MQseries and TIBCOs
    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.

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 Suns 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.

24
J2EE Application Programming Model for Web-based
applications
Business Logic
Web Service
Web client
25
J2EE Application Programming Model for Three-tier
Applications
Study Fig. 3-8 of your text for J2EE technology
suite.
26
On to more fundamental concepts Synchrony
27
Interface vs. payload semantics
28
Tight vs. Loose Coupling
29
Summary
Write a Comment
User Comments (0)
About PowerShow.com