Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer

Download Report

Transcript Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer

Comparison of Web Services, RMI,
CORBA, DCOM
Usha, Lecturer
MCA
Department of Computer Science and
Engineering
Web Services(SOAP), RMI,CORBA, DCOM
• Distributed object computing
– Objects communicate (app2app)
– Remote Procedure Call over network
– Extension of OO programming
• The methods to build distributed
systems/applications
• Two dimension:
– Protocols
– Data binding (or language mapping)
Evaluate a System Architecture
• Interoperability
– Different software and hardware on different machines
from different vendors to share data
• Scalability
– Adapt to increasing demand
– Expand to thousands of nodes
• Usability
– The ease to learn, to interpret the output
• Flexibility
– The ease that the system can be modified and adapt to
new requirements
• Accessibility, availability, affordability
SOAP
UDDI Registry
1
2
3
Service Provider
Request
Web
Server
Client
Response
SOAP
Dispatcher
Service
Objects
RMI: Remote Method Invocation
1
RMI Service Object
RMI Registry
2
3
Client
RMI (2)
• Protocol: Java Remote Method Protocol (JRMP) on the top
of TCP/IP
• RMI Server:
– Define an interface
– Expose a set of methods
• RMI Client:
– Lookup a server object reference in RMIRegistry
– Invoke methods in the server object
• RMI Registry
– Holds information about available server objects
– Naming mechanism: URL
RMI(3)
• Between Server/Client
– Java objects are serialized and transported
• Mobilized Code (Mobile agent)
– Serialize object
– transport the stream to the remote end
– deserialize object
– Execute code
• For JAVA only
CORBA: Common Object Request Broker
Architecture
CORBA
• ORB (Object Request Broker): object bus
– Find a CORBA object’s implementation
– Prepare it to receive requests
– Communicate requests to it
– Carry the reply back to client
• CORBA server: has and interface and exposes a set of
methods
• CORBA client:
– acquires and object reference to a CORA server object
– Make a method calls on the object reference
CORBA is a standard
•
•
•
•
CORBA is a OMG’s standard
IDL: Interface Definition Language
Not tied to one language
Transport:
– GIOP (General Inter-Orb Protocol)
– TCP/IP realization is called IIOP (Internet InterOrb Protocol).
DCOM: Distributed Component Object
Model
Protocol: Object Remote Procedure Call (ORPC)
– On top of DEC’s RPC
• Server Object:
– Multiple interfaces
– Expose a set of methods
• Client Object:
– Acquire a pointer to the server object’s
interface
– Call the exposed method
DCOM is COM on the wire
• Server object:
– Memory layout: C++ vtable layout
– Written in diverse programming languages lie
C++, Java, VB, Object Pascal (Delphi), COBOL
• Require a platform supports COM services
– Windows
– Some companies provide products for UNIX,
LINUX and mainframe
Web Service
RMI
CORAB
DCOM
Transport
Protocol
Http
JRMP
IIOP
ORPC
Data
Binding
XML schema
(allow
customized
data type)
Primitive,
Serialized
objects
IDL
(primitive
and
structure)
MS IDL
Compliant
prog.
Langs.
Any (with
XML parser,
SOAP
composition)
java
Any (with
IDL mapping
standards)
Many
(C++,
Java,
VB,
etc.)
Web
Services
RMI
CORAB
DCOM
Interface
WSDL
Description
Interface of
server
objects
IDL
MS IDL
Remote
Call
By SOAP
message
Get
references of
server
objects
Get
reference of
server
object
Get
Pointer of
server
objects
Routine
Stub
Proxy
DII
Client: stub
or proxy
Server:
skeleton
Client: stub
or proxy
Server:
skeleton
Client:
proxy
Server:
stub
Check against the Criteria
• Interoperability
– Different software and hardware on different machines
from different vendors to share data
• Scalability
– Adapt to increasing demand
– Expand to thousands of nodes
• Usability
– The ease to learn, to interpret the output
• Flexibility
– The ease that the system can be modified and adapt to
new requirements
• Accessibility, availability, affordability