[MOBY-guts] biomoby commit

José Manuel Rodríguez Carrasco jmrc at dev.open-bio.org
Wed Apr 23 13:08:11 UTC 2008


jmrc
Wed Apr 23 09:08:11 EDT 2008
Update of /home/repository/moby/moby-live/Perl/MOBY-Server/lib/MOBY
In directory dev.open-bio.org:/tmp/cvs-serv11953/Perl/MOBY-Server/lib/MOBY

Modified Files:
	Async.pm Central.pm 
Log Message:
*	MOBY WSRF implementation was not WSRF compliant in some points, and the same
	happened with sample code. Both the libraries and the generated WSDL have been
	fixed.
*	Detection of WSRF::Lite libraries has been slightly improved.
*	Specifications have been updated to v2.4.2, reflecting the changes made in
	the library and fixing some explanations and examples (see changelog inside
	specifications).

moby-live/Perl/MOBY-Server/lib/MOBY Async.pm,1.2,1.3 Central.pm,1.3,1.4
===================================================================
RCS file: /home/repository/moby/moby-live/Perl/MOBY-Server/lib/MOBY/Async.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- /home/repository/moby/moby-live/Perl/MOBY-Server/lib/MOBY/Async.pm	2008/02/21 17:15:40	1.2
+++ /home/repository/moby/moby-live/Perl/MOBY-Server/lib/MOBY/Async.pm	2008/04/23 13:08:11	1.3
@@ -8,11 +8,19 @@
 
 This is a set of tools for providing and invoking Asynchronous MOBY Services.
 
-=head1 AUTHORS
+=head1 FORMER AUTHORS
 
 Enrique de Andres Saiz (enrique.deandres at pcm.uam.es) -
 INB GNHC-1 (Madrid Science Park, Spain).
 
+=head1 MAINTAINERS
+
+Jose Manuel Rodriguez Carrasco (jmrodriguez at cnio.es) -
+INB GN-2 (Centro Nacional de Investigaciones Oncologicas, Spain).
+
+Jose Maria Fernandez Gonzalez (jmfernandez at cnio.es) -
+INB GN-2 (Centro Nacional de Investigaciones Oncologicas, Spain).
+
 =head1 DESCRIPTION
 
 MOBY::Async package provides a set of modules for working with Asynchronous MOBY
@@ -22,21 +30,21 @@
 
 =item MOBY::Async::SimpleServer
 
-Provides a simple class that can be extended to build file based asynchronous
+It provides a simple class that can be extended to build file based asynchronous
 services.
 
 =item MOBY::Async::Service
 
-Provides a class to invoke asynchronous services.
+It provides a class to invoke asynchronous services.
 
 =item MOBY::Async::LSAE
 
-Provides functionalities to work with LSAE analysis event blocks.
+It provides functionalities to work with LSAE analysis event blocks.
 
 =item MOBY::Async::WSRF
 
-Extends WSRF::Lite perl module and provides everything required for
-MOBY::Async::SimpleServer class.
+It extends L<WSRF::Lite> perl module and provides everything required for
+L<MOBY::Async::SimpleServer> class.
 
 =back
 
@@ -47,7 +55,7 @@
 
 From the server side, an asynchronous service is very similar to the traditional
 synchronous BioMOBY services. It is composed by a cgi (dispatcher.cgi) and a
-Perl module wich extends MOBY::Async::SimpleServer class (HelloWorld.pm).
+Perl module wich extends L<MOBY::Async::SimpleServer> class (HelloWorld.pm).
 
 B<dispatcher.cgi>
 
@@ -61,11 +69,13 @@
   my $server = new SOAP::Transport::HTTP::CGI;
   $server->serializer(WSRF::Serializer->new);
   $server->deserializer(WSRF::Deserializer->new);
+  $server->on_action(sub{});
   $server->dispatch_with({
     $WSRF::Constants::MOBY.'#sayHello'        => 'HelloWorld',
     $WSRF::Constants::MOBY.'#sayHello_submit' => 'HelloWorld',
-    $WSRF::Constants::WSRL                    => 'HelloWorld',
-    $WSRF::Constants::WSRP                    => 'HelloWorld',
+    $WSRF::Constants::WSRPW.'/GetResourceProperty/GetResourcePropertyRequest' => 'HelloWorld',
+    $WSRF::Constants::WSRPW.'/GetMultipleResourceProperties/GetMultipleResourcePropertiesRequest' => 'HelloWorld',
+    $WSRF::Constants::WSRLW.'/ImmediateResourceTermination/DestroyRequest' => 'HelloWorld',
   });
   $server->handle();
 
@@ -75,14 +85,13 @@
   use strict;
   use MOBY::CommonSubs qw(:all);
   use MOBY::Async::SimpleServer;
-  use vars qw(@ISA);
-  @ISA = qw(MOBY::Async::SimpleServer);
+  use base qw(MOBY::Async::SimpleServer);
 
-  # This environment variable is necessary - it is used internally
+  # This environment variable must be set - it is used internally
   # by MOBY::Async::SimpleServer class
   $ENV{AUTHURI} = 'your.auth.com';
 
-  # This variable is a subroutine which carry out the core of the service
+  # This variable is a subroutine which carries out the core of the service
   my $sayHello = sub {
     my ($caller, $data) = @_;
     my $response = '';
@@ -99,7 +108,7 @@
     return SOAP::Data->value(responseHeader($ENV{AUTHURI}).$response.responseFooter())->type('string');
   };
 
-  # This is the method that answers to synchronous requests
+  # This is the method which answers to synchronous requests
   sub sayHello {
     my $self = shift @_;
     # Here you can choose between sync or error
@@ -107,7 +116,7 @@
     #return $self->error(@_);
   }
 
-  # This is the method that answers to asynchronous requests
+  # This is the method which answers to asynchronous requests
   sub sayHello_submit {
     my $self = shift @_;
     return $self->async($sayHello, @_);
@@ -115,7 +124,7 @@
 
   1;  
 
-A client that wishes to run an asynchronous service as HelloWorld must carry out
+A client which wishes to run an asynchronous service as HelloWorld must carry out
 the following steps:
 
 1. First we have a sayHello_submit (servicename_submit) invocation, which
@@ -127,7 +136,7 @@
 
 2. After this, a polling is done by invocating GetMultipleResourceProperties
 operation. GetMultipleResourceProperties retrieve the content of one or several
-properties. In this case, as we are trying to determine if a bach-call has
+properties. In this case, as we are trying to determine if a batch-call has
 finished, we ask all status properties (status_queryID). The status returned
 for each status property is in LSAE format. Unless all status properties
 represent that execution for its respective query identifier is finished, we
@@ -140,7 +149,7 @@
 4. The client also explicitly calls the WSRF Destroy operation to clean the
 results at the service side.
 
-To do this, a client relies on MOBY::Async::Service class, whoose use is very
+To do this, a client relies on MOBY::Async::Service class, whose use is very
 similar to MOBY::Client::Service class available for synchronous services:
 
   # By default, silent is true, then no messages about the progress are reported
@@ -153,7 +162,7 @@
   print "$response\n";
 
 Additionally, MOBY::Async::Service class provides methods to carry out
-individually the steps described previously:
+individually the steps previously described:
 
   my $S = MOBY::Async::Service->new(service => $wsdl);
   my ($EPR, @queryIDs) = $S->submit(XMLinputlist => [
@@ -169,9 +178,13 @@
 
 =head1 FURTHER READING
 
-MOBY::Async::SimpleServer, MOBY::Async::Service, MOBY::Async::LSAE and
-MOBY::Async::WSRF Perl module documentation.
+L<MOBY::Async::SimpleServer>, L<MOBY::Async::Service>, L<MOBY::Async::LSAE> and
+L<MOBY::Async::WSRF> Perl modules documentation.
+
+Asynchronous BioMOBY Services Specification:
+L<http://biomoby.open-bio.org/CVS_CONTENT/moby-live/Docs/asyncDocs/BioMOBY%20Asynchronous%20Service%20Specification%20v2.4.2.pdf>
 
-Asynchronous BioMOBY Services Specification.
+WSRF Specifications:
+L<http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrf#technical>
 
 =cut

===================================================================
RCS file: /home/repository/moby/moby-live/Perl/MOBY-Server/lib/MOBY/Central.pm,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- /home/repository/moby/moby-live/Perl/MOBY-Server/lib/MOBY/Central.pm	2008/04/04 13:52:24	1.3
+++ /home/repository/moby/moby-live/Perl/MOBY-Server/lib/MOBY/Central.pm	2008/04/23 13:08:11	1.4
@@ -4264,7 +4264,7 @@
    <wsdl:binding name="WSRF_Operations_Binding" type="tns:WSRF_Operations_PortType">
       <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
       <wsdl:operation name="GetResourceProperty">
-         <soap:operation />
+         <soap:operation soapAction="http://docs.oasis-open.org/wsrf/rpw-2/GetResourceProperty/GetResourcePropertyRequest" />
          <wsdl:input>
             <soap:body use="literal"/>
          </wsdl:input>
@@ -4282,7 +4282,7 @@
          </wsdl:fault>
       </wsdl:operation>
       <wsdl:operation name="GetMultipleResourceProperties">
-         <soap:operation />
+         <soap:operation soapAction="http://docs.oasis-open.org/wsrf/rpw-2/GetMultipleResourceProperties/GetMultipleResourcePropertiesRequest" />
          <wsdl:input>
             <soap:body use="literal"/>
          </wsdl:input>
@@ -4300,7 +4300,7 @@
          </wsdl:fault>
       </wsdl:operation>
       <wsdl:operation name="Destroy">
-         <soap:operation />
+         <soap:operation soapAction="http://docs.oasis-open.org/wsrf/rlw-2/ImmediateResourceTermination/DestroyRequest" />
          <wsdl:input>
             <soap:body use="literal"/>
          </wsdl:input>




More information about the MOBY-guts mailing list