summaryrefslogtreecommitdiff
path: root/TAO/docs/pluggable_messaging.html
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/docs/pluggable_messaging.html')
-rw-r--r--TAO/docs/pluggable_messaging.html135
1 files changed, 0 insertions, 135 deletions
diff --git a/TAO/docs/pluggable_messaging.html b/TAO/docs/pluggable_messaging.html
deleted file mode 100644
index e1d222fd2c1..00000000000
--- a/TAO/docs/pluggable_messaging.html
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE HTML SYSTEM
-"http://www.w3.org/pub/WWW/MarkUp/Cougar/Cougar.dtd">
- <!-- $Id$-->
- <head>
- <title>Pluggable Messaging framework</title>
- </head>
-
- <BODY text = "#000000"
- link="#0000ff"
- vlink="#cc0000"
- bgcolor="#ffffff">
-
- <body>
- <HR>
- <h1>Pluggable Messaging Framework</h1>
- <HR>
- <h2>Context</h2>
- TAO uses GIOP message formats to exchange messages between
- inter-operating ORBs. GIOP, essentially specifies formats of
- messages exchanged between ORBs. It has only a few message
- types but still provides full CORBA support. But, there has
- been a trend to try out different message formats like <a
- HREF= "http://www.w3.org/TR/WD-HTTP-NG-architecture/">
- HTTP-NG </a> for inter-ORB communication. This framework
- tends to take a first step in the direction to support
- different protocols. The framework,though not complete in
- itself, has been used for implementing GIOP and
- GIOPlite. The framework would be re-factored and reworked
- depending on the use cases our users come across.
-
- <h2>Idea</h2>
- We wanted to give a flexibility to the user to load the message
- formatting protocol by selecting a protocol during the
- bootstrapping process. So, we tried to leverage the work
- that has already been done for the <a HREF =
- "pluggable_protocols/index.html"> pluggable_protocols</a>.
-
- The fundamental idea that we followed was to isolate all of
- the ORB code from the message formatting details. The
- framework is constrained by the type of marshalling
- scheme. The framework now completely relies on CDR
- formatted streams.
-
-
- <h2>Implementation of GIOP</h2>
-
- <P>The common interface that has been defined is the class
- Pluggable_Messaging_Interface forms the core class for the
- implementation of a concrete messaging protocol. We have
- been able to implement the GIOP & GIOPlite succesfully using
- this minimal interface. The different versions of GIOP have
- been managed succesfully within this implementation.</P>
-
- <P>When the user loads protocols like IIOP he/she in turn is
- loading the TCP/IP mapping of GIOP formatted message. The
- same argument can be used for UIOP, SHMIOP too. So, using
- this fundamental understanding, we load the GIOP protocol for
- the user behind the scene. If an user wants to use GIOPlite
- mapped on to TCP/IP he would load IIOP_Lite using the
- svc.conf file. The format is given below </P>
-
- <P>dynamic IIOP_Lite_Factory Service_Object * TAO:_make_TAO_IIOP_Lite_Protocol_Factory() ""</P>
- <P>static Resource_Factory "-ORBProtocolFactory IIOP_Lite_Factory". </P>
-
- <P>Please see the documentation of the pluggable protocol
- framework for exact meaning of the above syntax. The same
- applies to GIOPlite mapping on UIOP too.</P>
-
- <P>The class GIOP_Message_Base derives from the
- Pluggable_Messaging_Interface. This class holds most of the
- common code needed for the GIOP classes. GIOP places a
- restriction on the client and server roles, in terms of
- initiating and receiving messages. This concept has been
- mapped on to the framework by two sets implementation
- classes, namely GIOP_Message_Connectors and
- GIOP_Message_Acceptors. </P>
-
- <P>The GIOP_Message_Connector and the derived classes
- implements the different types of messages that can
- originate from the client. In GIOP 1.2, with the
- specification of Bi-Directional GIOP, this disticntion
- between the client and server would decrease. But, this
- would be applicable only for GIOP 1.2. The present
- inheritance model, allows us to implement some of the roles
- defined for the server in the 1.0 and 1.1 versions of GIOP, on
- the client side. This needs to be done only for 1.2.</P>
-
- <P>The GIOP_Message_Acceptor class is a Context, which maintains
- a reference to a strategy based on the incoming request.</P>
-
- <P>The GIOP specification specifies that if a server supports
- GIOP-1.2, it should also offer support for GIOP-1.1 and
- GIOP-1.0. This would mean that clients that can communicate
- in any of the three protocols can connect to a server that
- supports 1.2. The server should also reply based on the same
- revision.</P>
-
- <P> The strategisation on the server side is based on the
- different version numbers of GIOP. The reference that would
- be maintained by the context, GIOP_Message_Acceptor, would
- be based on the version number of the incoming request. The
- reply is also sent using the same reference. This makes it
- possible to send compatible replies to the client. </P>
-
- <h2>Limitations</h2>
- <P> Uses only CDR formats. </P>
- <P> Need more ise cases to make the interface more flexible
- and better. </P>
-
-
- <HR>
- For more details and questions,
- <p>
-
- <address><a href="mailto:bala@cs.wustl.edu">Balachandran
- Natarajan</a></address>
- <p>
- <address><a href="mailto:fredk@cs.wustl.edu">Fred Kuhns</a></address>
- </body>
-</html>
-
-</title>
-</head>
-
-<body>
-<h1></h1>
-
-
-
-<hr>
-<address></address>
-<!-- hhmts start -->
-Last modified: Thu Mar 16 11:23:03 CST 2000
-<!-- hhmts end -->
-</body> </html>