Author: chamikara
Date: Thu Nov 23 14:26:27 2006
New Revision: 478687

URL: http://svn.apache.org/viewvc?view=rev&rev=478687
Log:
More updates to the userguide

Modified:
    webservices/sandesha/branches/sandesha2/java/1_1/xdocs/userGuide.html

Modified: webservices/sandesha/branches/sandesha2/java/1_1/xdocs/userGuide.html
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/branches/sandesha2/java/1_1/xdocs/userGuide.html?view=diff&rev=478687&r1=478686&r2=478687
==============================================================================
--- webservices/sandesha/branches/sandesha2/java/1_1/xdocs/userGuide.html 
(original)
+++ webservices/sandesha/branches/sandesha2/java/1_1/xdocs/userGuide.html Thu 
Nov 23 14:26:27 2006
@@ -29,26 +29,24 @@
 
        <li><a href="#writing_clients">Writing clients for the SimpleService</a>
                <ul>
-                   <li>Configuring the client repository</li>
+                   <li><a href="#client_repo">Configuring the client 
repository</a></li>
                        <li><a href="#one_way">Doing One-Way invocation</a></li>
                        <li><a href="#request_reply">Doing a Request-Reply 
invocation</a></li>
                </ul>
        </li>
        
        <li>    
-               <a href="#features">Sandesha2 Client API</a>
+               <a href="#client_api">Sandesha2 Client API</a>
                <ul>
-                       <li><a href="#version">TODO: Selecting your RM 
version</a></li>
+                       <li><a href="#version">Selecting your RM 
version</a></li>
                        <li><a href="#acks">Getting Acknowledgements and Faults 
to a given Endpoint</a></li>
                        <li><a href="#managing">Managing Sequences</a></li>
                        <li><a href="#offering">Offering a Sequence ID for the 
Response Sequence</a></li>
                        <li><a href="#creating">Creating a Sequence Without 
Sending any Messages</a></li>
                        <li><a href="#ack_requests">Sending Acknowledgement 
Requests from the Client Code</a></li>
-                       <li><a href="#sts">Selecting the Specification Version 
which you want to Work in</a></li>
                        <li><a href="#terminating">Terminating a Sequence from 
the Client Code</a></li>
                        <li><a href="#closing">Closing a Sequence from the 
Client Code</a></li>
                        <li><a href="#blocking">Blocking the Client Code until 
a Sequence is complete</a></li>
-                       <li><a href="#anonymous">TODO: RM for clients without 
an endpoint</a></li>
                        <li><a href="#reports">Working with Sandesha Reports</a>
                                <ul>
                                        <li><a 
href="#sandesha_reports">SandeshaReports</a></li>
@@ -73,12 +71,6 @@
       </ul>
     </li> 
 
-       <li>TODO: Persistent reliability with Sandesha2</li>
-
-       <li><a href="#sec_con">TODO: Reliable Messaging with Secure 
Conversation</a></li>
-
-       <li><a href="#sec_con">TODO: Reliable Messaging with MTOM</a></li>
-       
        <li><a href="#delivary_assurances">Delivery Assurances of 
Sandesha2</a></li>
 
        <li><a href="#configuring">Configuring Sandesha2</a>
@@ -95,10 +87,9 @@
                <li><a href="#securitymanager">SecurityManager</a></li>
        </ul>
        </li>
-
 </ul>
 
-<a name="intro"></a>
+<a name="introduction"></a>
 <h2>Introduction</h2>
 
 <p>Sandesha2 is a Web Service-ReliableMessaging (WS-RM)
@@ -132,6 +123,7 @@
 http://docs.oasis-open.org/ws-rx/wsrm/200602/wsrm-1.1-spec-cd-04.pdf </a>).
 </p>
 
+<a name="install"></a>
 <h2>Installing the Sandesa2 module</h2>
 
 <p>In this section you will be tought how to install the Sandesha2 module in a 
Axis2 environment. Simply follow the 
@@ -215,7 +207,7 @@
 </ol>
 
 
-<a name="yfs"></a>
+<a name="your_first_service"></a>
 <h2>Creating and deploying a RM enabled Web service - SimpleService</h2>
 
 <p>This section will give you step by step guidelines on creating a
@@ -342,7 +334,7 @@
        <li>
        <p>
        Set RMSampleService.class and the services.xml files obtained from the 
previous steps in 
-       the folder structure below. Create a RMSampleService.aar file by 
compressing it using the jar tool.</p>
+       the folder structure below. Create a RMSampleService.aar file by 
compressing it using the jar or a zip tool.</p>
        <pre>
        
                 ----META-INF
@@ -361,7 +353,7 @@
        </li>
        
        <li>
-       <p>List the Axis2 services to see weather the SimpleService has been 
correctly deployed.</p>
+       <p>List the Axis2 services to see whether the SimpleService has been 
correctly deployed.</p>
        </li>
        
        <li><p>Congradulations. You just deployed your first Web Service with 
Reliable Messaging support from Sandesha2.</p></li>
@@ -369,9 +361,10 @@
 </ol>
 
 
-<a name="wcfr"></a>
+<a name="writing_clients"></a>
 <h2>Writing Clients for Reliable Services</h2>
 
+<a name="client_repo"></a>
 <h3>Configuring the client repository</h3>
 <ol>
 
@@ -399,6 +392,7 @@
 
 </ol>
 
+<a name="one_way"></a>
 <h3>Doing One-Way invocation</h3>
 
 <ol>
@@ -408,7 +402,9 @@
 
 <li>
 
+<p>
 Create a 'UserguidePingClient.java' file with following content.
+</p>
 
 <pre>
 
@@ -492,7 +488,9 @@
 <li>Run the above class.
 </li>
 
-<li>Observer the following differences between the RM client code and a normal 
Axis2 one-way client invocation.
+<li>
+
+<p>Observer the following differences between the RM client code and a normal 
Axis2 one-way client invocation.</p>
 
 <ul>
 <li>Angaging of the Sandesha2 module.</li>
@@ -506,7 +504,7 @@
 </ol>
 
 
-
+<a name="request_reply"></a>
 <h3>Doing Request-Reply invocation</h3>
 
 <ol>
@@ -652,13 +650,9 @@
 </ol>
 
 
-<h3>TODO: Client Code with generated stubs</h3>
-
-
 
 
-
-<a name="acs"></a>
+<a name="client_api"></a>
 <h2>Sandesha2 Client API</h2>
 
 <p>This section will introduce you to some client API features which
@@ -674,7 +668,7 @@
 distributions.</p>
 
 
-
+<a name="version"></a>
 <h3>Selecting your RM version</h3>
 
 <p>As it was explained earlier Sandesha2 supports two WSRM
@@ -686,10 +680,9 @@
 <p>To go back to the WSRM submitted specification set the property
 as follows.</p>
 
<pre>clientOptions.setProperty(SandeshaClient.RM_SPEC_VERSION,Sandesha2Constants.SPEC_VERSIONS.v1_0);</pre>
-<a name="tas"></a>
 
 
-<a name="gaa"></a>
+<a name="acks"></a>
 <h3><b>Getting Acknowledgements and Faults to a Given Endpoint</b></h3>
 
 <p>In the default configuration, response path for acknowledgements
@@ -701,9 +694,9 @@
 this does not effect the path of your application level faults. Only RM
 faults which occur within the Sandesha2 will be sent to this endpoint.</p>
 
<pre>clientOptions.setProperty(SandeshaClientConstants.AcksTo,&lt;endpoint&gt;);
 //example endpoint - http://tempuri.org/acks.</pre>
-<a name="ms"></a>
 
 
+<a name=managing></a>
 <h3><b>Managing Sequences</b></h3>
 
 <p>In the default behaviour Sandesha2 assumes that messages going to
@@ -720,7 +713,7 @@
 
 
 
-<a name="oas"></a>
+<a name="offering"></a>
 <h3>Offering a Sequence ID for the Response Sequence</h3>
 
 <p>This is a concept of reliable messaging which may not be very
@@ -733,14 +726,14 @@
 
<pre>clientOptions.setProperty(SandeshaClientConstants.OFFERED_SEQUENCE_ID,&lt;new
 uuid&gt;);</pre>
 
 
-<a name="cras"></a>
+<a name="creating"></a>
 <h3>Creating a Sequence Without Sending any Messages</h3>
 
 <p>Sometimes you may need Sandesha2 client to start a sequence with a server 
without sending 
 any application messages. When you ask for this, Sandesha2 will do a Create 
Sequence message 
 exchange and obtain a new sequence ID from the server. The sequenceKey value 
of the newly 
 created sequence will be returned from this method which could be used do 
message invocations 
-with it. This method also has a boolean parameter which tells weather to offer 
+with it. This method also has a boolean parameter which tells whether to offer 
 a sequence for the response side. (read the part on <a href="#oas">offering 
sequence IDs</a> 
 to learn more about offering sequences) . 
        
@@ -749,9 +742,9 @@
 
 <p>These is overloaded method of this which takes the sequenceKey from the 
user.</p>
 <pre>SandeshaClient.createSequnce (ServiceClient serviceClient, boolean 
offer,String sequenceKey);</pre>
-<a name="sar"></a>
 
 
+<a name="ack_requests"></a>
 <h3>Sending Acknowledgement Requests from the Client Code</h3>
 
 <p>You can ask Sandesha2 to get an acknowledgement from a server
@@ -767,7 +760,7 @@
 <pre>SandeshaClient.sendAckRequest (ServiceClient serviceClient, String 
sequenceKey);</pre>
 
 
-<a name="sts"></a>
+<a name="terminating"></a>
 <h3>Terminating a Sequence from the Client Code</h3>
 
 <p>You can terminate an on going sequence at any time by adding the line given 
in this 
@@ -780,14 +773,14 @@
 <p>To terminate a specific sequence identified by a sequenceKey use 
following.</p>
 <pre>SandeshaClient.terminateSequence (ServiceClient serviceClient, String 
sequenceKey);</pre>
 
-<a name="clas"></a>
+<a name="closing"></a>
 <h3>Closing a Sequence from the Client Code</h3>
 
 <p>You can close an ongoing sequence at any time by adding the line given in 
this section 
 to your client code. Sequence close feature is only available for new WSRM 
specification 
 being developed under OASIS. Remember that if you do not close elegantly, some 
of your 
 messages may not get delivered to the service. Again, see the section on 
-<a href="#smo">Sequence Management of Sandesha2</a> for more details. You can 
issue 
+<a href="#sequences">More about sequences</a> for more details. You can issue 
 following command from your client code to close a sequence.</p>
 
 <pre>SandeshaClient.closeSequence (ServiceClient serviceClient);</pre>
@@ -797,7 +790,7 @@
 
 
 
-<a name="btc"></a>
+<a name="blocking"></a>
 <h3>Blocking the Client Code until a Sequence is Complete</h3>
 
 <p>After your client code delivered some messages to the RM layer,
@@ -818,19 +811,7 @@
 
 SandeshaClient.waitUntilSequenceCompleted (ServiceClient serviceClient, long 
maxWaitingTime, String sequenceKey);</pre>
 
-
-<a name="smo"></a>
-<h3>TODO: RM for clients without an endpoint</h3>
-
-Certain client may not pocess a endpoint for obtaining reply messages. But 
still them may need to do Reliable Messaging
-invocations with a service. Obviously there is no problem as long as the 
messages are in-only. But if they want to make 
-request-reply reliable message exchanges the situation becomes a bit 
complicated mainly due to the protocol messages
-that have to be exchange in a RM message exchange.
-
-The OASIS WSRM 1.1 specification introduces a new feature called 
MakeConnection to 
-
-
-
+<a name="reports"></a>
 <h3>Working with Sandesha Reports</h3>
 
 <p>Sandesha introduces a feature called Sandesha Reports with which
@@ -839,7 +820,7 @@
 subtopics.</p>
 
 
-<a name="sandeshareport"></a>
+<a name="sandesha_reports"></a>
 <h4>SandeshaReport</h4>
 
 <p>This gives information on all the incoming and outgoing sequences
@@ -848,8 +829,7 @@
 RM-Destination (RMD). An outgoing sequence is a sequence to which this
 endpoint works as a RM-Source (RMS).</p>
 
-<p><em><strong>A SandeshaReport include following
-information:</strong></em></p>
+<p>A SandeshaReport include following information:</p>
 <ul>
        <li>Sequence IDs of all the outgoing sequences.</li>
        <li>Number of completed messages of each outgoing sequences.</li>
@@ -861,14 +841,14 @@
 your client code.</p>
 <pre>SandeshaClient.getSandeshaReport (ConfigurationContext c);</pre>
 
-<a name="sequencereport"></a>
+<a name="sequence_reports"></a>
 <h4>SequenceReport</h4>
 
 <p>A SequenceReport gives information on a specific sequences that a
 Sandesha system is working on. This can be an incoming sequence or an
 outgoing sequence.</p>
 
-<p><em><strong>A SequenceReport will give following 
information:</strong></em></p>
+<p>A SequenceReport will give following information:</p>
 <ol>
        <li>Status of the sequence which can be one of the following.
        <ul>
@@ -903,8 +883,9 @@
 <pre>SandeshaClient.getOutgoingSequenceReport (ServiceClient serviceClient);
 SandeshaClient.getOutgoingSequenceReport (String to,String 
sequenceKey,ConfigurationContext configurationContext);
 SandeshaClient.getOutgoingSequenceReport (String 
internalSequenceID,ConfigurationContext configurationContext);</pre>
-<a name="slf"></a>
 
+
+<a name="listners"></a>
 <h3>Sandesha Listener Feature</h3>
 
 <p>You can use this new feature to register a listener class in
@@ -922,7 +903,8 @@
 
 <p>Currently SandeshaListener defines the following two methods-
 onError &amp; onTimedOut.</p>
-<a name="onerror"></a>
+
+<a name="on_error"></a>
 <h3>onError</h3>
 
 <p>This will be invoked if Sandesha2 receives a fault SOAP message
@@ -931,7 +913,8 @@
 be invoked for faults that occur due to application messages or any
 other messages that do not get originated from Sandesha2. They will not
 be considered by the Sandesha2 system as valid application messages.</p>
-<a name="ontimeout"></a>
+
+<a name="on_timeout"></a>
 <h3>onTimeOut</h3>
 
 <p>As mentioned in the earlier section <a href="#smo">Sequence
@@ -941,14 +924,16 @@
 parameter.</p>
 
 
-<h2>Sequence Management of Sandesha2</h2>
+<a name="sequences"></a>
+<h2>More about sequences</h2>
 
 <p>This section will explain you about the sequence management method
 of Sandesha2. This is basically about four things, each explained in
 following sub topics.</p>
-<a name="san"></a>
 
-<h3>Starting a New Sequence</h3>
+
+<a name="creation"></a>
+<h3>Creation of sequences</h3>
 
 <p>Sandesha client uses two properties given by the client to decide
 the sequence in which it should send a particular application message.
@@ -965,8 +950,8 @@
 the client are called response sequences. Sandesha2 always keep a single
 response sequence corresponding to a particular request sequence.</p>
 
-<a name="tas"></a>
-<h3>Terminating a Sequence</h3>
+<a name="termination"></a>
+<h3>Termination of sequences</h3>
 
 <p>There are currently two methods to terminate a particular
 sequence from the Client API. The first method is to 
@@ -992,8 +977,8 @@
 all the response messages are reliably delivered to the client and after
 which will terminate the response sequence as well.</p>
 
-<a name="cas"></a>
-<h3>Closing a Sequence</h3>
+<a name="closing1"></a>
+<h3>Closing of sequences</h3>
 
 <p>New WSRM specification being developed under OASIS introduces a
 new feature called closing a sequence. When a sequence is closed the
@@ -1006,8 +991,9 @@
 <p>You can use the function below to close a sequence identified by
 a particular Sequence Key.</p>
 <pre>SandeshaClient.terminateSequence (ServiceClient,, SequenceKey);</pre>
-<a name="toa"></a>
 
+
+<a name="timing_out"></a>
 <h3>Timing Out a Sequence</h3>
 
 <p>Depending on its policy configurations Sandesha2 may time out
@@ -1021,7 +1007,7 @@
 <a name="wws"></a>
 
 
-<a name="dao"></a>
+<a name="delivary_assurances"></a>
 <h2>Delivery Assurances of Sandesha2</h2>
 
 <p>As it was mentioned in the <a href="architectureGuide.html"
@@ -1040,7 +1026,8 @@
 want ordering, you can configure Sandesha2 to invoke messages in the
 order they arrive. Read 'Configuring Sandesha2' section below to learn
 how to do this.</p>
-<a name="cs"></a>
+
+<a name="configuring"></a>
 <h2>Configuring Sandesha2</h2>
 
 <p>Sandesha2 provides a set of configurations which you can use to
@@ -1146,24 +1133,33 @@
 
 <p> This gives the storage manager implementation classes used by
 Sandesha2. You have to mention the full qualified class name here.
+</p>
+
 
-You can basically define two StorageManagers
+<p>You can basically define two StorageManagers</p>
 
-InMemoryStorageManager - Expected to store data in memory. Supposed to be 
faster.
+<p>InMemoryStorageManager - Expected to store data in memory. Supposed to be 
faster.</p>
 
-PermanentStorageManager - Will be storing data in a database. So will be 
little slower
+<p>PermanentStorageManager - Will be storing data in a database. So will be 
little slower
 but real business applications will most probably prefer this could provide 
additional
-features like recovery from failures.
+features like recovery from failures.</p>
+
 
-Sandesha2 comes with a default InMemory Storage manager. 
+<p>Only one of these StorageManagers will be active in a given Sandesha2 
instance. By default it 
+will be the InMemorystoragemanager. If you want to make the 
PermanentStoragemanager active
+add the following property to the axis2.xml.</p>
 
-Please read the Sandesha2 <a href="architectureGuide.html">Architecture
-Guide</a> for more details on creating your own storage manager. 
 
+<p>&lt;parameter name="Sandesha2StorageManager" 
locked="false"&gt;persistent&lt;/parameter&gt;</p>
+
+<p>
 StorageManager property is not overridable, i.e., value you set in the
 module.xml is the one that is used for all the services and will not be
 overridden for a particular service by setting a different value there.
 </p>
+You can easily create your own Storage Manager. Please read the Sandesha2 
+<a href="architectureGuide.html">Architecture Guide</a> for more details on 
this.
+
 
 <a name="messagetypestodrop"></a>
 <h3>MessageTypesToDrop</h3>
@@ -1175,6 +1171,31 @@
 messages will have the type 4. You can add a comma separated list of
 integers in the property telling Sandesha2 not to send messages of those
 types.</p>
+
+<a name="securitymanager"></a>
+<h3>SecurityManager</h3>
+
+<p>The security manager allows you to plug a certain Secure Conversation 
implemenation into axis2. The 
+default is a DummySecurityManager which does not do any real work. We have 
also implemented a RamaprtBasedSecurityManager
+which allows you to use Rampart as your secure conversation implementation.</p>
+
+<p>To use the rampart follow the below steps.</p>
+
+
+<ol>
+<li><p>Add the wss4j jar file (wss4j-VERSION.jar) to your to your CLASSPATH. 
(If your are in the server side add this to
+the WEB-INF/lib folder of the Axis2 webapp).</p></li>
+
+<li><p>Add the Rampart and Rahas modules to the Axis2 modules 
directory.</p></li>
+
+<li><p>Change the SecurityManager policy of the Sandesha2 module.xml to the 
following</p>
+
+<p>org.apache.sandesha2.security.rampart.RampartBasedSecurityManager</p>
+
+</li>
+
+</ol>
+
 
 </body>
 </html>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to