Distributed Computing: Comparison of CORBA and Web Services PowerPoint PPT Presentation

presentation player overlay
1 / 21
About This Presentation
Transcript and Presenter's Notes

Title: Distributed Computing: Comparison of CORBA and Web Services


1
Distributed Computing Comparison of CORBA and
Web Services
  • Mentor Dr. Stephan Rupp
  • Student Rafat Abusamrah
  • Institute of Communication Networks and Computer
    Engineering
  • University of Stuttgart

2
Overview
  • Introduction
  • Distributed computing
  • CORBA
  • Web Services
  • Comparison
  • Conclusion

3
Introduction
  • An e-business scenario
  • A company that receives orders electronically
    from retailers and suppliers, processes orders,
    and provides real time information of the stock
  • Retailers can check availability of items in
    stock
  • Suppliers can ship goods if the stock is low

4
Introduction
  • Solutions?
  • Building a website for the company
  • - retailers and suppliers would have to check
    the website manually.
  • Middleware technology for distributed computing
  • - COM/DCOM (Microsoft)
  • - Java RMI (SUN)
  • - CORBA (OMG)
  • - Web Services (W3C)

5
Distributed Computing
  • Distributed computing
  • Distributed agents over the network that have
    the ability to perform a certain operation in
    parallel according to a context, aiming to solve
    large problems with less computing power
    computers.
  • Heterogeneous world
  • Different platforms (Mainframes, UNIX
    workstations, PCs with different operating
    systems)
  • Different network protocols (TCP/IP, ATM,
    Ethernet,...)
  • Different programming languages (C, JAVA,
    PERL,...)

6
Distributed Computing
  • To overcome the problem of heterogeneity
  • Different kinds of transparencies
  • Location transparency
  • Access transparency
  • Communication transparency
  • ..
  • How to reference an agent (object) ?

7
Distributed Computing
  • The object reference contains
  • The network address.
  • The port number (transport protocol).
  • Object (agent) name or ID.

8
CORBA
  • Acronym for Common Object Request Broker
    Architecture, specified by the OMG
  • Open and vendor independent architecture and
    infrastructure that computer applications use to
    work together over the network
  • ORB (Object Request Broker) mediates the
    communication between applications
  • Locating the remote object
  • Activating the remote object
  • Communicating the client request to the object
  • Communicating the reply after carrying out the
    reply

9
CORBA
  • IDL (Interface Definition Language)
  • Contains the description and types of the methods
  • Is programming language independent
  • Has its own type system
  • Simple example Bank accounts

//IDL module BankSimple   // Define a named type to represent money.   typedef float CashAmount       // Forward declaration of interface Account.   interface Account   interface Bank     ...      interface Account     // The account owner and balance.     readonly attribute string name     readonly attribute CashAmount balance     // Operations available on the account.     void deposit (in CashAmount amount)     void withdraw (in CashAmount amount)   
10
CORBA
  • Method invocation
  • Dynamic
  • Interface Repository (IR)
  • Dynamic Invocation Interface (DSI)
  • Dynamic Skeleton Interface (DSI)
  • Static
  • Client stub
  • Server skeleton
  • Other components and features of CORBA
  • Portable Object Adapter, ORB interface, and
    Internet Inter-ORB protocol IIOP

11
CORBA
  • Discovery
  • Built in services
  • Naming service the client is searching for an
    object according to its name
  • Trader service the client is searching for an
    object according to certain attributes (features
    and properties)
  • If the requested object is found, an object
    reference is returned.

12
CORBA
Example
13
Web Services
  • As defined by the W3C A Web service is a
    software system designed to support interoperable
    machine-to-machine interaction over a network. It
    has an interface described in a
    machine-processable format (specifically WSDL).
    Other systems interact with the Web service in a
    manner prescribed by its description using SOAP
    messages, typically conveyed using HTTP with an
    XML serialization in conjunction with other
    web-related standards.

14
Web Services
  • Key technologies for Web Services
  • XML (eXtensible Markup Language)
  • is a markup language for exchanging structured
    messages.
  • SOAP
  • is a XML based protocol for exchanging messages
    between nodes over different transport protocols
    (HTTP, SMTP, )
  • SOAP envelope
  • - Header contains information for nodes in the
    message path to its destination
  • - Body contains the content used by the
    application

15
Web Services
  • WSDL (Web Services Description Language)
  • Based on XML Schema
  • Information
  • The interface description (operations, operations
    parameters, data types)
  • The implementation description (service location,
    transport protocol)
  • An example of a WSDL file

16
Web Services
  • lt?xml version"1.0" ?gt
  • - ltdefinitions name"BNQuoteService"
    targetNamespace"http//www.xmethods.net/sd/BNQuot
    eService.wsdl" xmlnsxsd"http//www.w3.org/2001/X
    MLSchema" xmlnssoap"http//schemas.xmlsoap.org/w
    sdl/soap/" xmlns"http//schemas.xmlsoap.org/wsdl/
    " xmlnstns"http//www.xmethods.net/sd/BNQuoteSer
    vice.wsdl"gt
  • - ltmessage name"getPriceRequest"gt
  • ltpart name"isbn" type"xsdstring" /gt
  • lt/messagegt
  • - ltmessage name"getPriceResponse"gt
  • ltpart name"return" type"xsdfloat" /gt
  • lt/messagegt
  • - ltportType name"BNQuotePortType"gt
  • - ltoperation name"getPrice"gt
  • ltinput message"tnsgetPriceRequest"
    name"getPrice" /gt
  • ltoutput message"tnsgetPriceResponse"
    name"getPriceResponse" /gt
  • lt/operationgt
  • lt/portTypegt
  • - ltbinding name"BNQuoteBinding"
    type"tnsBNQuotePortType"gt
  • ltsoapbinding style"rpc" transport"http//sche
    mas.xmlsoap.org/soap/http" /gt
  • - ltoperation name"getPrice"gt
  • ltsoapoperation soapAction"" /gt
  • - ltinput name"getPrice"gt
  • ltsoapbody use"encoded" namespace"urnxmethods
    -BNPriceCheck" encodingStyle"http//schemas.xmlso
    ap.org/soap/encoding/" /gt
  • lt/inputgt
  • - ltoutput name"getPriceResponse"gt
  • ltsoapbody use"encoded" namespace"urnxmethods
    -BNPriceCheck" encodingStyle"http//schemas.xmlso
    ap.org/soap/encoding/" /gt
  • lt/outputgt
  • lt/operationgt
  • lt/bindinggt
  • - ltservice name"BNQuoteService"gt
  • ltdocumentationgtReturns price of a book at
    BN.com given an ISBN numberlt/documentationgt
  • - ltport name"BNQuotePort" binding"tnsBNQuoteBin
    ding"gt
  • ltsoapaddress location"http//services.xmethods
    .net80/soap/servlet/rpcrouter" /gt
  • lt/portgt
  • lt/servicegt
  • lt/definitionsgt

Binding
Data types
Message type
Port type
Port
17
Web Services
  • Discovery
  • UDDI (Universal Description, Discovery and
    Integration)
  • Discovery agency that provides find and publish
    services for the requester and provider agents.
  • Provides two kinds of information business
    related information and technical information.
  • The communication between the UDDI and the
    requester and provider agents uses SOAP messages.

18
Web Services
Scenario
19
Comparison
Aspect CORBA Web Services
Computing model Objects distribution SOAP messages exchanging
Interface definition IDL WSDL
Location transparency Object reference URI
Registry Interface repository UDDI
Service discovery Naming and trader services UDDI
Implementation language Any language with an IDL compiler Any language
Message encoding Binary format Unicode
Transport protocol GIOP/IIOP HTTP, SMTP, HTTPS and other transport protocols
Parameter passing By reference by value By value
State Stateful Stateless
20
Conclusion
  • The differences between both technologies are due
    to the fact that they were developed for
    different reasons using different technologies.
  • Web Services require less effort and cost for
    deployment of the technology components.
  • A lot of work has been done to implement SOAP
    messaging over CORBA IIOP.
  • WSDL can be generated from CORBA IDL and vice
    versa.
  • CORBA and Web Services can play a complementary
    role.

21
Questions ??
  • Thank you for your attention
Write a Comment
User Comments (0)
About PowerShow.com