- yet another place where binary values have to be allowed
authorAleš Křenek <ljocha@ics.muni.cz>
Wed, 10 Aug 2005 15:56:29 +0000 (15:56 +0000)
committerAleš Křenek <ljocha@ics.muni.cz>
Wed, 10 Aug 2005 15:56:29 +0000 (15:56 +0000)
- added initial version of IS interface and corresponding extensions to Types

org.glite.jp.ws-interface/Makefile
org.glite.jp.ws-interface/src/JobProvenanceIS.xml [new file with mode: 0644]
org.glite.jp.ws-interface/src/JobProvenanceTypes.xml

index ee80ab4..d15da33 100644 (file)
@@ -18,8 +18,8 @@ XSLTPROC=xsltproc
 XMLLINT:=xmllint
 docbookxls:=http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl
 
-#WSDL=JobProvenancePS.wsdl JobProvenanceIS.wsdl JobProvenanceTypes.wsdl 
-WSDL=JobProvenancePS.wsdl JobProvenanceTypes.wsdl 
+WSDL=JobProvenancePS.wsdl JobProvenanceIS.wsdl JobProvenanceTypes.wsdl 
+#WSDL=JobProvenancePS.wsdl JobProvenanceTypes.wsdl 
 
 all compile: ${WSDL}
 
diff --git a/org.glite.jp.ws-interface/src/JobProvenanceIS.xml b/org.glite.jp.ws-interface/src/JobProvenanceIS.xml
new file mode 100644 (file)
index 0000000..8eefc9a
--- /dev/null
@@ -0,0 +1,42 @@
+<service name="JobProvenancePS"
+       ns="http://glite.org/wsdl/services/jp"
+       prefix="jp"
+       typeNs="http://glite.org/wsdl/types/jp"
+       typePrefix="jpt"
+       elemNs="http://glite.org/wsdl/elements/jp"
+       elemPrefix="jpe"
+       xmlns:jpt="http://glite.org/wsdl/types/jp">
+
+       <version>CVS revision: <![CDATA[ $Header$ ]]></version>
+
+       <import namespace="http://glite.org/wsdl/services/jp" location="JobProvenanceTypes.wsdl"/>
+
+       <fault name="genericFault"/>
+
+       <operations>
+               <op name="UpdateJobs">
+                       Called by JP primary storage as a response to FeedIndex request.
+                       Updates information on jobs in index server, according to what JPPS
+                       currently knows.
+                       <input name="feedId" type="xsd:string">Id of the feed, as returned by JPPS FeedIndex operation.</input>
+                       <input name="feedDone" type="xsd:boolean">Flag of completed batch feed.</input>
+                       <input name="jobAttributes" type="jobRecord" list="yes">Attributes per job.</input>
+
+                       <fault name="genericFault" type="genericFault">Any error.</fault>
+               </op>
+       
+               <op name="QueryJobs">
+                       User query to index server.
+                       <input name="conditions" type="indexQuery" list="yes">
+                               Query conditions, similar to LB.
+                       </input>
+                       <input name="attributes" type="xsd:string" list="yes" optional="yes">
+                               Set of attributes to be retrieved directly from index server (if any).
+                       </input>
+                       <output name="jobs" type="jobRecord" list="yes">
+                               List of jobs matching the query.
+                       </output>
+                       <fault name="genericFault" type="genericFault">Any error.</fault>
+               </op>
+       </operations>
+</service>
index 49d3bf6..f16dd01 100644 (file)
@@ -20,7 +20,7 @@
                <struct name="tagValue">
                        A single user-recorded value for a job attribute.
                        <elem name="name" type="xsd:string">Name of the attribute, including namespace.</elem>
-                       <elem name="value" type="xsd:string" optional="yes">Value - printable string.</elem>
+                       <elem name="value" type="stringOrBlob" optional="yes">Value.</elem>
                </struct>
        
                <struct name="genericFault" fault="yes">
                        <val name="USER">Explicitely stored by the user via RecordTag operation.</val>
                        <val name="FILE">Coming from uploaded file.</val>
                </enum>
+
+               <struct name="jobRecord">
+                       Information on a single job.
+                       Used for both feeding JP index server from primary storage
+                       and to answer user queries on index server.
+                       <elem name="jobid" type="xsd:string">ID of the job.</elem>
+                       <elem name="attributes" type="attrValue" optional="yes" list="yes">
+                               Attribute values, required by query/feed and available right now.
+                       </elem>
+                       <elem name="primaryStorage" type="xsd:string" list="yes" optional="yes">
+                               User query only: which primary storage(s) have data on this job.
+                       </elem>
+               </struct>
+
+               <struct name="indexQuery">
+                       Single query condition on a job.
+                       Similarly to LB, these outer conditions are logically ANDed.
+                       <elem name="attr" type="xsd:string">
+                               Which attribute the condition refers to.
+                       </elem>
+                       <elem name="origin" optional="yes" type="attrOrig">
+                               Specific attribute origin (if we do care).
+                       </elem>
+                       <elem name="record" list="yes" type="indexQueryRecord">
+                               List of conditions on attribute attr.
+                               These conditions are logically ORed.
+                       </elem>
+               </struct>
+
+               <struct name="indexQueryRecord">
+                       Single condition on an attribute.
+                       <elem name="op" type="queryOp">Query operation.</elem>
+                       <elem name="value" type="stringOrBlob">Value to compare attribute with.</elem>
+               </struct>
        
                <list name="string"/>
        </types>