CVS: ivory/xdocs axiscomponent.xml,1.4,1.5

[email protected] Sun, 4 May 2003 15:25:58 -0500
Newsgroups gmane.comp.java.plexus.devel
Message-ID <[email protected]>
Update of /cvsroot/plexus/ivory/xdocs
In directory eng.werken.com:/tmp/cvs-serv24814/xdocs

Modified Files:
	axiscomponent.xml 
Log Message:
- Documentation corrections
- move the servlets to the plexus package.
- IvoryTestCase which should make testing services a little easier.
  See the unit tests if you're interested.  More testing utilities coming
  soon!
- You do not need to call AxisServer.start() as it turns out, the
  AxisServer constructor already does that.
- AxisService will not expose methods that return a List or take it
  as a parameter.  Axis does not know how to hanlde this yet.

Index: axiscomponent.xml
===================================================================
RCS file: /cvsroot/plexus/ivory/xdocs/axiscomponent.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- axiscomponent.xml	19 Mar 2003 12:29:25 -0000	1.4
+++ axiscomponent.xml	4 May 2003 20:25:56 -0000	1.5
@@ -48,7 +48,12 @@
       </subsection>
       <subsection name="Security">
         <p>
-
+          While, not much has been done with security at this point, there
+          is one nice option that exists.  It would be very possible to
+          use aspects to check if an invocation on a class is a SOAP request.
+          If it is, then one could just execute the method 
+          MessageContext.getCurrentContext() which should give you the
+          appropriate information about the particular SOAP invocation.
         </p>
       </subsection>
       <subsection name="API Method">
@@ -116,21 +121,22 @@
       <p>
         However, in the AxisService we embed the AxisEngine (aka, the
         AxisServer) into an Avalon component.  By doing so we are able
-        to do things.  First, we are able to provide the AxisServer to the servlets 
-        and to other avalon components.  There are classes in the 
-        org.apache.ivory.axis.servlet package which extend the Axis servlets to provide 
-        axis to the ServiceManager so we can look up the AxisService and provide the servlets
+        to do two things.  First, we are able to provide the AxisServer to the
+        servlets as well as avalon components.  There are classes in the 
+        org.apache.ivory.axis.servlet package which extend the Axis servlets 
+        so we can look up the AxisService and provide the servlets
         with the AxisEngine.  Second, we are able to use the AxisEngine in our service
-        to dynamically configure components as SOAP services.
+        to dynamically configure components as SOAP services.  This is the real
+        meat of the Axis component.
       </p>
       <subsection name="Internal Axis Configuration">
         <p>
           Axis's primary mode of configuration resolves around WSDD
-          deployment descriptors.  Normally, he AdminServlet is the primary 
-          point of service deployment and undeployment.  The WSDD configuration
-          model is somewhat intertwined all throughout Axis.  While Axis starts
-          to have its own internal configuration model, it fails in some
-          respects.
+          deployment descriptors.  Normally, the AdminServlet is the primary 
+          point of service deployment and undeployment using WSDD.  The WSDD
+          configuration model is somewhat intertwined all throughout Axis.  While 
+          Axis starts to have its own internal configuration model, it fails in
+          some respects.
         </p>
         <p>
           The good news is that it is still workable to have a configuration
@@ -157,16 +163,20 @@
       </subsection>
       <subsection name="Axis Providers">
         <p>
-          Axis contains several default service handlers - usually called 
-          "Providers."  These providers are responsible for actually creating
-          the java class that the soap xml maps to (Serialization is handled
-          by the TypeMapping and other org.apache.axis.encoding.* classes).
+          Axis contains several default service handlers which encapsulate services.
+          They are usually called "Providers."  These providers are responsible
+          for the actual instantiation of your java classes that the soap xml maps to
+          (Serialization is handled by the TypeMapping and other 
+          org.apache.axis.encoding.* classes).
         </p>
         <p>
-          By setting the appropriate options on the SOAPService we are able to
-          tell the Axis JavaProvider to load in objects relatively easily.
-          However, we use a custom provider - AvalonProvider - that provides
-          java objects from the ServiceManager.
+          By setting the appropriate options on the SOAPService (which is the
+          encapsulation of a SOAP invocation) we are able to create new
+          services relatively easily (see DefaultAxisService). However, if we
+          are exposing Avalon services we need to use a different provider other
+          than the JavaProvider bundled with Axis.  The AvalonProvider extends
+          JavaProvider to do this.  Instead of creating new objects, it just
+          finds the object in the service manager.
         </p>
       </subsection>
       <subsection name="Serialization">