[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