Intersystems Communication: Unit 1
Intersystems Communication: Unit 1
UNIT 1
DESTRIBUTED COMPUTING
INFRASTRUCTURE
For example, the client-server model has been widely used in enterprise
resource planning (ERP), billing, and Inventory application systems
where a number of client business applications residing in multiple
desktop systems interact with a central database server.
Language Independence
Defines Object Interfaces
Hides underlying object implementation
Language mappings exist for C, C++, Java,
Cobol, Smalltalk, and Ada
Interface Definition Language (IDL)
[<op_type>] <identifier>(<parameters>)
[raises exception][context];
}
}
Defines a
method
IDL Compiler
IDL
Definitions 1. Define objects using
IDL
2. Run IDL file through
IDL compiler
3. Compiler uses language
IDL mappings to generate
Compiler programming language
specific stubs and
skeletons
Stubs Skeletons
Object Request Broker (ORB)
What is it?
Architecture
Request Handling
Scenario
CORBA Services
CORBA Facilities
What is it?
Hardware
Client / Object Interaction
ORB ORB
TCP/IP
TCP/IP
ATM
ATM
IPX
IPX
OSI
Network OSI
ORB Architecture
IDL
DSI
IDL ORB Skeleton
DII
Stub Interface
Object Adapter
Interface
Repository
IDL
Compiler
Object Adapter
Implementation Repository
Implementation
Repository
Object Adapter
Static invocation
interface (SII)
Client Marshals
application data
into a common
packet-level
IDL representation
Stub Network byte order
(little-endian or big-
endian)
IDL Skeleton
• Demarshals the
packet-level
representation back Object (servant)
into typed data that is
meaningful to an
application IDL
– Network byte order Skeleton
(little-endian or big-
endian)
– Size of data types
Dynamic Invocation Interface
Server Application
POA
Incoming
Request ORB POA Servants
POA
Scenario
IDL
DSI
IDL ORB Skeleton
DII
Stub Interface
Object Adapter
4.Location transparency.
CORBA provides location transparency: An object reference is
independent of the physical location and application level location. This
allows developers to create CORBA-based systems where objects can be
moved without modifying the underlying applications.
5.Network transparency.
By using the IIOP protocol, an ORB can interconnect with any ORB
located elsewhere on the network.
Scalability.
Due to the tightly coupled nature of the
connection oriented CORBA architecture,
very high scalability expected in enterprise
applications may not be achieved.
JAVA RMI
Stub/Skeleton Layer
Transport Layer
RMI client
Remote
RemoteReference
Reference Remote
RemoteReference
Reference
Layer
Layer Layer
Layer
TransportLayer
TransportLayer TCP TransportLayer
TransportLayer
Remote Method Invocation API
The five packages in RMI API are:
java.rmi
java.rmi.registry
java.rmi.server
java.rmi.activation
java.rmi.dgc
RemoteStub class
Implementing RMI
Implement RMI server
Create Remote Interface
Create a class that implements the remote interface
Create stub and skeleton classes
Copy Remote interface and stub to client
Create and register remote objcet
Server
Stub Skeleton
4
3
Registry Virtual Machine 3. Client requests object from
registry
7
Client Remote Object
5 6
Server
Stub Skeleton
Platform lock-in
State management
Scalability
Complex session management issues
MOTIVATION
Although CORBA, RMI, and DCOM differ in their
basic architecture and approach, they adopted a
tightly coupled mechanism of a synchronous
communication model (request/response).
All these technologies are based upon binary
communication protocols and adopt tight
integration across their logical tiers, which is
susceptible to scalability issues.
Message Servers
Middleware 75
Properties of MOM
Asynchronous interaction
Client and server are only loosely coupled
Messages are queued
Good for application integration
Support for reliable delivery service
Keep queues in persistent storage
Processing of messages by intermediate message server(s)
May do filtering, transforming, logging, …
Networks of message servers
Natural for database integration
Middleware 76
IBM MQSeries
One-to-one reliable message passing using queues
Persistent and non-persistent messages
Message priorities, message notification
Queue Managers
Responsible for queues
Transfer messages from input to output queues
Keep routing tables
Message Channels
Reliable connections between queue managers
Messaging API:
Middleware 78
Disadvantages of MOM
Middleware 79
Most of the standard MOM implementations have
provided native APIs for communication with their
core infrastructure.
This has affected the portability of applications
across such implementations and has led to a
specific vendor lock-in.
The MOM messages used for integrating
applications are usually based upon a proprietary
message format without any standard compliance.