ws-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chamik...@apache.org
Subject cvs commit: ws-site/targets/ws-fx/sandesha/images client_class.jpg queue.jpg server_class.jpg
Date Fri, 08 Apr 2005 19:32:42 GMT
chamikara    2005/04/08 12:32:41

  Modified:    targets/ws-fx/sandesha architecture.html
  Added:       targets/ws-fx/sandesha/images client_class.jpg queue.jpg
                        server_class.jpg
  Log:
  class diagrams of sandesha
  
  Revision  Changes    Path
  1.2       +27 -27    ws-site/targets/ws-fx/sandesha/architecture.html
  
  Index: architecture.html
  ===================================================================
  RCS file: /home/cvs/ws-site/targets/ws-fx/sandesha/architecture.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- architecture.html	15 Mar 2005 06:50:32 -0000	1.1
  +++ architecture.html	8 Apr 2005 19:32:41 -0000	1.2
  @@ -2,7 +2,7 @@
             @import url("./style/maven-base.css");
             
   			    @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css"
type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a
href="http://ws.apache.org/" id="organizationLogo"><img alt="Apache Web Services" src="http://www.apache.org/images/asf-logo.gif"></img></a><a
href="http://ws.apache.org/ws-fx/sandesha/" id="projectLogo"><img alt="Apache Sandesha"
src="http://ws.apache.org/ws-fx/sandesha/images/Sandesha.jpg"></img></a><div
class="clear"><hr></hr></div></div><div id="breadcrumbs"><div
class="xleft">
  -                	Last published: 15 March 2005
  +                	Last published: 09 April 2005
                     | Doc for 1.0</div><div class="xright"></div><div
class="clear"><hr></hr></div></div><div id="leftColumn"><div
id="navcolumn"><div id="menuSandesha"><h5>Sandesha</h5><ul><li
class="none"><a href="userguide.html">Simple User Guide</a></li><li
class="none"><a href="architecture.html">Architecture Guide</a></li></ul></div><div
id="menuProject_Documentation"><h5>Project Documentation</h5><ul><li
class="none"><a href="index.html">About Apache Sandesha</a></li><li
class="collapsed"><a href="project-info.html">Project Info</a></li><li
class="collapsed"><a href="maven-reports.html">Project Reports</a></li><li
class="none"><a href="http://maven.apache.org/development-process.html" class="externalLink"
title="External Link">Development Process</a></li></ul></div><a
href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"><img alt="Built
by Maven" src="./images/logos/maven-button-1.png"></img></a></div></div><div
id="bodyColumn"><div class="contentBox"><div class="section"><a name="Architecture_Guide_of_Apache_Sandesha"></a><h2>Architecture
Guide of Apache Sandesha</h2><p>Apache Sandesha is implemented on top of the 
   current version of Apache Axis. In-order to support the reliable message 
   delivery in web services there are set of new messages that needs to be passed 
  @@ -83,10 +83,10 @@
   messages for Reliable Messaging specific messages such as &lt;wsrm:AckRequested&gt;,

   see [3].</p></div><div class="subsection"><a name="RMInvoker"></a><h3>RMInvoker</h3><p
align="left">This is a runnable component that actually handles the 
   dispatching of the web service request to the actual service. RMInvoker will 
  -also put the service response (if any) to the Queue present in the server side.</p></div><div
class="subsection"><a name="Service"></a><h3>Service</h3><p>
  -This is the actual web 
  -service, which will be the Application Destination according to the high-level 
  -architecture.</p></div><div class="subsection"><a name="Messaging_Scenarios"></a><h3>Messaging
Scenarios</h3><p>
  +also put the service response (if any) to the Queue present in the server side.</p></div><div
class="subsection"><a name="Service"></a><h3>Service</h3><p>
This is the actual web service, which will be the Application Destination 
  +  according to the high-level architecture.</p><p> </p></div><div
class="subsection"><a name="Class_diagrams"></a><h3>Class diagrams</h3></div><div
class="subsection"><a name="Sandesha_Server"></a><h3>Sandesha Server</h3><p>Following
diagram describes the class structure of the Sandesha server.</p><p><img src="images/server_class.jpg"
width="718" height="615" alt=""></img></p></div><div class="subsection"><a
name="Sandesha_Client"></a><h3>Sandesha Client</h3><p>This diagram
describes the class structure of Sandesha Client. </p><p><img src="images/client_class.jpg"
width="753" height="388" alt=""></img> </p></div><div class="subsection"><a
name="Sandesha_Queue"></a><h3>Sandesha Queue</h3><p>Following describes
the sandesha storage classes. Currently we use a temporary 
  +  queue to hold messages in memory. We have added the ServerDatabaseDAO class 
  +  for adding persistant storage support for Sandesh in the future.</p><p><img
src="images/queue.jpg" width="462" height="511" alt=""></img></p></div><div
class="subsection"><a name="Messaging_Scenarios"></a><h3>Messaging Scenarios</h3><p>
   There are many messaging scenarios that can be used to consume web services. 
   These combinations are created mainly by the usage of the WS-Addressing headers 
   and the MEPs of the service. Following sequence diagrams will explain some of 
  @@ -98,15 +98,15 @@
   connection.</p><p style="text-align:center">
   <img border="0" src="images/PingSync.png" width="717" height="360" alt=""></img></p><p
style="text-align:center">
   <font size="2">Figure 4: Client Side - Request Only with Synchronous 
  -Acknowledgement</font></p><p style="text-align:center">
  - </p></div><div class="subsection"><a name="Client_Side_-_Initialization"></a><h3>Client
Side - Initialization</h3><p style="text-align: justify;">This is happening only
at the first message of a 
  +Acknowledgement</font></p><p style="text-align:center"> 
  +</p></div><div class="subsection"><a name="Client_Side_-_Initialization"></a><h3>Client
Side - Initialization</h3><p style="text-align: justify;">This is happening only
at the first message of a 
   particular sequence. Web service client should initialize the reliable messaging 
   environment before sending messages. This can be done by calling the method  
   initClient(true) in the RMInitiator class. This will Initialize the Queue, 
   Sender and the Client side receiver.</p><p style="text-align:center">
   <img border="0" src="images/ClientInitialization.png" width="556" height="250" alt=""></img></p><p
style="text-align:center">
  -<font size="2">Figure 5: Client Side - Initialization</font></p><p
style="text-align:center">
  - </p></div><div class="subsection"><a name="Client_Side_-_Termination"></a><h3>Client
Side - Termination</h3><p>
  +<font size="2">Figure 5: Client Side - Initialization</font></p><p
style="text-align:center"> 
  +</p></div><div class="subsection"><a name="Client_Side_-_Termination"></a><h3>Client
Side - Termination</h3><p>
   This is happening only after the last message of a 
   particular sequence. Web service client should terminate the RM Environment 
   after receiving all the messages.  This can be done by calling the method  
  @@ -114,26 +114,26 @@
   sequence are complete with acknowledgements and then terminate the Queue, Sender 
   and the Client side receiver passing control back to the client.</p><p style="text-align:center">
   <img border="0" src="images/ClientTermination.png" width="556" height="259" alt=""></img></p><p
style="text-align:center">
  -<font size="2">Figure 6: Client Side - Termination</font></p><p style="text-align:center">
  - </p></div><div class="subsection"><a name="Client_Side_-_Request_Only_with_Asynchronous_Acknowledgement"></a><h3>Client
Side - Request Only with Asynchronous Acknowledgement</h3><p>
  +<font size="2">Figure 6: Client Side - Termination</font></p><p style="text-align:center"> 
  +</p></div><div class="subsection"><a name="Client_Side_-_Request_Only_with_Asynchronous_Acknowledgement"></a><h3>Client
Side - Request Only with Asynchronous Acknowledgement</h3><p>
   In this scenario client invoke a web service with one-way operation. When 
   sending the service requests the RMSource will include the client side endpoint 
   reference in the &lt;wsa:From&gt; address. So the sequence acknowledgements will
be 
   sent through a new connection other than the one use for the request.</p><p style="text-align:center">
   <img border="0" src="images/PingAsync.png" width="799" height="402" alt=""></img></p><p
style="text-align:center">
   <font size="2">Figure 7: Client Side - Request Only with Asynchronous 
  -Acknowledgement</font></p><p style="text-align:center">
  - </p></div><div class="subsection"><a name="Client_Side_-_Request_Response_with_Synchronous_Acknowledgement"></a><h3>Client
Side - Request Response with Synchronous Acknowledgement</h3><p>
  +Acknowledgement</font></p><p style="text-align:center"> 
  +</p></div><div class="subsection"><a name="Client_Side_-_Request_Response_with_Synchronous_Acknowledgement"></a><h3>Client
Side - Request Response with Synchronous Acknowledgement</h3><p>
   In this scenario client invoke a web service with two-way operation. When 
   sending the service requests the RMSource will include the anonymous URI in the 
   &lt;wsa:From&gt; address. So the sequence acknowledgements will be sent through
the 
   same one use for the request (note that; this can only be used with two way 
  -transports).</p><p>
  - </p><p style="text-align:center">
  +transports).</p><p> 
  +</p><p style="text-align:center">
   <img border="0" src="images/EchoSync.png" width="814" height="403" alt=""></img></p><p
style="text-align:center">
   <font size="2">Figure 8: Client Side - Request Response with Synchronous 
  -Acknowledgement</font></p><p style="text-align:center">
  - </p></div><div class="subsection"><a name="Client_Side_-_Request_Response_with_Asynchronous_Acknowledgement"></a><h3>Client
Side - Request Response with Asynchronous Acknowledgement</h3><p style="text-align:left">
  +Acknowledgement</font></p><p style="text-align:center"> 
  +</p></div><div class="subsection"><a name="Client_Side_-_Request_Response_with_Asynchronous_Acknowledgement"></a><h3>Client
Side - Request Response with Asynchronous Acknowledgement</h3><p style="text-align:left">
   In this scenario client invoke a web service with two-way operation. When 
   sending the service requests the RMSource will include the client side endpoint 
   reference in the &lt;wsa:From&gt; End Point Reference (EPR) and also in the &lt;wsa:ReplyTo&gt;

  @@ -144,14 +144,14 @@
   client has not offered a sequence).</p><p style="text-align:center">
   <img border="0" src="images/EchoAsync.png" width="825" height="414" alt=""></img></p><p
style="text-align:center">
   <font size="2">Figure 9: Client Side - Request Response with Asynchronous 
  -Acknowledgement</font></p><p style="text-align:center">
  - </p></div><div class="subsection"><a name="Server_Side_-_Request_Only_with_Synchronous_Acknowledgement"></a><h3>Server
Side - Request Only with Synchronous Acknowledgement</h3><p align="left">This
sequence diagram will illustrate the sequence of operations 
  +Acknowledgement</font></p><p style="text-align:center"> 
  +</p></div><div class="subsection"><a name="Server_Side_-_Request_Only_with_Synchronous_Acknowledgement"></a><h3>Server
Side - Request Only with Synchronous Acknowledgement</h3><p align="left">This
sequence diagram will illustrate the sequence of operations 
   that will be executed  when the RMDestination receives a One-way service 
   request. Sequence Acknowledgement is sent using the same connection.</p><p style="text-align:center">
   <img border="0" src="images/ServerReqWithSyncAck.png" width="741" height="245" alt=""></img></p><p
style="text-align:center">
   <font size="2">Figure 10: Server Side - Request Only with Synchronous 
  -Acknowledgement</font></p><p style="text-align:center">
  - </p></div><div class="subsection"><a name="Server_Side_-_Request_Only_with_Asynchronous_Acknowledgement"></a><h3>Server
Side - Request Only with Asynchronous Acknowledgement</h3><p align="left">This
sequence diagram will illustrate the sequence of operations 
  +Acknowledgement</font></p><p style="text-align:center"> 
  +</p></div><div class="subsection"><a name="Server_Side_-_Request_Only_with_Asynchronous_Acknowledgement"></a><h3>Server
Side - Request Only with Asynchronous Acknowledgement</h3><p align="left">This
sequence diagram will illustrate the sequence of operations 
   that will be executed  when the RMDestination receives a One-way service 
   request. Sequence Acknowledgement is sent using a separate connection. This will 
   happen only if the &lt;wsa:From&gt; End Point Reference (EPR) is not anonymous
URI.</p><p align="center">
  @@ -164,18 +164,18 @@
   connection.</p><p style="text-align:center">
   <img border="0" src="images/ServerWithResponseSyncAck.png" width="741" height="343"
alt=""></img></p><p style="text-align:center">
   <font size="2">Figure 11: Server  Side - Request Response with Synchronous 
  -Acknowledgement</font></p><p style="text-align:center">
  - </p></div><div class="subsection"><a name="Server_Side_-_Request_Response_with_Asynchronous_Acknowledgement"></a><h3>Server
Side - Request Response with Asynchronous Acknowledgement</h3><p align="left">In
this scenario, the RMDestination will receive a service 
  +Acknowledgement</font></p><p style="text-align:center"> 
  +</p></div><div class="subsection"><a name="Server_Side_-_Request_Response_with_Asynchronous_Acknowledgement"></a><h3>Server
Side - Request Response with Asynchronous Acknowledgement</h3><p align="left">In
this scenario, the RMDestination will receive a service 
   request for an operation of request/response in nature. The incoming message has 
   non-anonymous EPR for the &lt;wsa:From&gt; EPR and a non-anonymous EPR for &lt;wsa:ReplyTo&gt;,

   hence the acknowledgement is sent using the same connection with which the 
   service request has sent while the service response is sent using a different 
  -connection.</p><p style="text-align:left">
  - </p><p style="text-align:center">
  +connection.</p><p style="text-align:left"> 
  +</p><p style="text-align:center">
   <img border="0" src="images/ServerWithResponse.png" width="741" height="414" alt=""></img></p><p
style="text-align:center">
   <font size="2">Figure 12: Server  Side - Request Response with Asynchronous 
  -Acknowledgement</font></p><p style="text-align:center">
  - </p></div><div class="subsection"><a name="Conclusions_and_Future_Work"></a><h3>Conclusions
and Future Work</h3><p align="left">Sandesha implements the WS-ReliableMessaging
protocol on top of 
  +Acknowledgement</font></p><p style="text-align:center"> 
  +</p></div><div class="subsection"><a name="Conclusions_and_Future_Work"></a><h3>Conclusions
and Future Work</h3><p align="left">Sandesha implements the WS-ReliableMessaging
protocol on top of 
   Apache Axis. This has enabled the Axis community to perform web service 
   invocations reliably not only with Axis itself but also with other web service 
   platforms like Microsoft .NET which implements the above protocol. Currently 
  
  
  
  1.1                  ws-site/targets/ws-fx/sandesha/images/client_class.jpg
  
  	<<Binary file>>
  
  
  1.1                  ws-site/targets/ws-fx/sandesha/images/queue.jpg
  
  	<<Binary file>>
  
  
  1.1                  ws-site/targets/ws-fx/sandesha/images/server_class.jpg
  
  	<<Binary file>>
  
  

Mime
View raw message