User Tools

Site Tools


Communication Protocol

April 28, 2009

Communication Protocol - structure

Soap detail
  1. Soap version
    • Soap 1.0 and HTTP 1.0 is used to communicate with Jive modules written in Python. In order to enable this, each Axis stub needs to have the following options enabled
      • _serviceClient.getOptions().setSoapVersionURI(org.apache.axiom.soap.SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
      • _serviceClient.getOptions().setProperty(org.apache.axis2.transport.http.HTTPConstants.HTTP_PROTOCOL_VERSION,org.apache.axis2.transport.http.HTTPConstants.HEADER_PROTOCOL_10);
Protocol description
  1. Version
    • Current Protocol Version: 2.1
  2. History of changes
    • Chunk information removed from MessageHeader structure and moved to ChunkInfo structure
    • Callback location added to MessageHeader
    • Each message sent between components consist of Message Header and Chunk Info structures. Please note that some fields can be used depending on the context.
    • The content of the MessageHeader and ChunkInfo is presetened below
  3. Message Header - contains all the common fields which are exchanged between modules.
    •        /**
      	 * Experiment name - in fact experiment identifier, because experiment names
      	 * are unique.
      	private String experimentName;
      	 * Job identifier - used to differentiate data in case where the same
      	 * experiment data is being correlated at the same time, but with different
      	 * parameters
      	private String jobId;
      	/** Sender identifier, unique string or abbreviation */
      	private Sender senderCode;
      	/** Specifies an URL of the message sender */
      	private String senderLocation;
      	/** Specifies a location of the service where return message should be sent */
      	private String callbackLocation;
  4. Chunk Info - contains information about a chunk
    •         /** Identifier of a data chunk - chunks are numbered starting from 0 */
      	private long chunkId;
      	/** Specifies number of chunks in the current experiment */
      	private long chunkCount;
      	/** Specifies a size of a single data chunk */
      	private long chunkSize;
      	/** Specifies location of the data chunk (URL) */
      	private String chunkLocation;
      	/** Specifies the start time of data chunk */
      	private String chunkStartTime;
      	/** Specifies the end time of the data chunk */
      	private String chunkEndTime;
      	/** Telescope abbreviation - two letter abbreviation */
      	private String telescopeAbbr;
expres/fabric/evlbisystem/communicationprotocol2.1.txt · Last modified: 2009/06/08 14:44 by