[MOBY-dev] CommonSubs -> creating a common Java and Perl interface

Pieter Neerincx Pieter.Neerincx at wur.nl
Tue Nov 15 11:12:24 UTC 2005


Hi,

On 14-Nov-2005, at 8:00 PM, Edward Kawas wrote:

> Hi,
>
> Mark and I were talking about what we feel is the need to
> create a CommonSubs interface that would be implemented in
> both Java and Perl.

Sounds like a good plan to me :). I'm not using the Python API, but  
wouldn't it be a good idea to do the same thing for Python as well then?

>
> Currently, CommonSubs.pm has the following methods:
>
> 	genericServiceInputParser
> 	complexServiceInputParser
> 	getArticles
> 	genericServiceInputParserAsObject
> 	getSimpleArticleIDs
> 	getSimpleArticleNamespaceURI
> 	simpleResponse
> 	collectionResponse
> 	responseHeader
> 	responseFooter
> 	getInputs
> 	getInputID
> 	getArticlesAsObjects
> 	getCollectedSimples
> 	getInputArticles
> 	isSimpleArticle
> 	isCollectionArticle
> 	isSecondaryArticle
> 	extractRawContent
> 	getNodeContentWithArticle
> 	validateNamespaces
> 	validateThisNamespace
> 	getResponseArticles (a.k.a. extractResponseArticles)
> 	getServiceNotes
> 	getCrossReferences
> 	whichDeepestParentObject
> 	_rearrange (stolen from BioPerl ;-) )
>
> The subroutine descriptions can be found at
> http://biomoby.org/moby-live/Perl/MOBY/CommonSubs.html
>
> We need functions that will, among other things:
>
> 	1) Get enumerated invocations from an incoming
> message
>
> 	2) Add enumerated outputs to an outgoing message

Currently (in Perl) we have 3 *ServiceInputParser functions and  
another 3 *Response functions. To keeps things simple I would rather  
like to see just 1 serviceInputParser and 1 serviceResponse function.  
The current complex* functions are not that hard to use :), the other  
ones are just crippled and don't support the complete BioMOBY specs.

> 	3) Add an error message to the header
>
> 	4) Read error messages from the header

Do you mean the SOAP header? In that case it would be good also to  
think of functions to handle errors in the ServiceNotes part. So far  
I have only seen votes in favour of RFC 1863 :).

>
> 	5) Extract individual inputs from an invocation...
>
> 	...

The rest of what I need is already there :). My only problem with the  
current functions is that it doesn't work well for large objects due  
to DOM parsing. I know it's not going to be easy to change to stream  
or chunk based parsing, but if it would be possible to improve the  
scalability  it would make my life even easier :).

Just my 0.02 €,

Pieter



>
> 	etc
>
> So this is a call out to service providers to tell us what
> functions they believe would be useful to have (i.e. make
> their lives much easier).
>
> Thanks,
>
> Eddie
>
> _______________________________________________
> MOBY-dev mailing list
> MOBY-dev at biomoby.org
> http://www.biomoby.org/mailman/listinfo/moby-dev


Wageningen University and Research centre (WUR)
Laboratory of Bioinformatics
Transitorium (building 312) room 1034
Dreijenlaan 3
6703 HA Wageningen
The Netherlands
phone: 0317-483 060
fax: 0317-483 584
mobile: 06-143 66 783
pieter.neerincx at wur.nl







More information about the MOBY-dev mailing list