Primary Articles

Primary articles are those that are (a) required by the service as input, or reliably returned as output, (b) have no default value, and (c) whose data-types (MOBY Class types) are used during the discovery of the service. Primary articles may be further divided into two types:
  • Simple articles contain exactly one MOBY Object
  •  <Simple articleName="NameOfArticle">
       <objectType>ObjectOntologyTerm</objectType>
       <Namespace>NamespaceTerm</Namespace>
       <Namespace>...</Namespace><!-- one or more... -->
     </Simple>
    
  • Collection articles contain an unordered set ("bag") of MOBY Objects (zero or more of the same object type, and only that object type).

    Their number/order is not relevant, nor predictable

    If order is important to the service provider, then a collection should not be used, rather the collection should be broken into named Simple parameters. This may impose limitations on the the types of services that can be registered in MOBY Central. If it becomes a serious problem, a new Primary article type will be added in a future revision.

    The use of more than one Class in a collection is deprecated as per API version 0.86

    A collection returned from a service invocation may contain zero or more Objects of the Classe defined in the XML during Service Instance registration.

    Here's an example:
            
      <Collection articleName="NameOfArticle">
         <Simple>......</Simple> <!-- Simple parameter type structure -->
      </Collection>
    
  • Article names for Simples and Collections may not contain spaces or other special characters, like:
    ~`!@#$%^&*()=+{[]}:;'",.<>?/|\

Example of use

To see how both Simple and Collection articles might be used, consider a BLAST service, where you provide both the sequences that make up thec BLAST database and the sequence to BLAST against it. The the database could be passed as a Collection input article containing multiple Sequence Objects. The sequence to BLAST against it would be a Simple input article consisting of a single Sequence Object.