*** empty log message ***
authorAleš Křenek <ljocha@ics.muni.cz>
Fri, 10 Dec 2004 09:32:29 +0000 (09:32 +0000)
committerAleš Křenek <ljocha@ics.muni.cz>
Fri, 10 Dec 2004 09:32:29 +0000 (09:32 +0000)
13 files changed:
org.glite.jp.ws-interface/.cvsignore [new file with mode: 0755]
org.glite.jp.ws-interface/LICENSE [new file with mode: 0755]
org.glite.jp.ws-interface/Makefile [new file with mode: 0644]
org.glite.jp.ws-interface/build.xml [new file with mode: 0644]
org.glite.jp.ws-interface/interface/JobProvenanceIS.wsdl [new file with mode: 0644]
org.glite.jp.ws-interface/interface/JobProvenancePS.wsdl [new file with mode: 0644]
org.glite.jp.ws-interface/interface/JobProvenanceTypes.wsdl [new file with mode: 0644]
org.glite.jp.ws-interface/project/build.properties [new file with mode: 0755]
org.glite.jp.ws-interface/project/configure.properties.xml [new file with mode: 0644]
org.glite.jp.ws-interface/project/glite-jp-ws-interface.spec [new file with mode: 0644]
org.glite.jp.ws-interface/project/properties.xml [new file with mode: 0644]
org.glite.jp.ws-interface/project/tar_exclude [new file with mode: 0644]
org.glite.jp.ws-interface/project/version.properties [new file with mode: 0755]

diff --git a/org.glite.jp.ws-interface/.cvsignore b/org.glite.jp.ws-interface/.cvsignore
new file mode 100755 (executable)
index 0000000..1df717b
--- /dev/null
@@ -0,0 +1,2 @@
+.project
+.cdtproject
\ No newline at end of file
diff --git a/org.glite.jp.ws-interface/LICENSE b/org.glite.jp.ws-interface/LICENSE
new file mode 100755 (executable)
index 0000000..01b973b
--- /dev/null
@@ -0,0 +1,69 @@
+LICENSE file for EGEE Middleware
+================================
+
+Copyright (c) 2004 on behalf of the EU EGEE Project: 
+The European Organization for Nuclear Research (CERN), 
+Istituto Nazionale di Fisica Nucleare (INFN), Italy
+Datamat Spa, Italy
+Centre National de la Recherche Scientifique (CNRS), France
+CS Systeme d'Information (CSSI), France
+Royal Institute of Technology, Center for Parallel Computers (KTH-PDC), Sweden
+Universiteit van Amsterdam (UvA), Netherlands
+University of Helsinki (UH.HIP), Finlan
+University of Bergen (UiB), Norway
+Council for the Central Laboratory of the Research Councils (CCLRC), United Kingdom
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met: 
+
+1. Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+
+3. The end-user documentation included with the redistribution, if
+any, must include the following acknowledgment: "This product includes
+software developed by The EU EGEE Project (http://cern.ch/eu-egee/)."
+Alternatively, this acknowledgment may appear in the software itself, if
+and wherever such third-party acknowledgments normally appear.
+
+4. The names EGEE and the EU EGEE Project must not be
+used to endorse or promote products derived from this software without
+prior written permission. For written permission, please contact
+<email address>.
+
+5. You are under no obligation whatsoever to provide anyone with any
+bug fixes, patches, or upgrades to the features, functionality or
+performance of the Software ("Enhancements") that you may develop over
+time; however, if you choose to provide your Enhancements to The EU
+EGEE Project, or if you choose to otherwise publish or distribute your
+Enhancements, in source code form without contemporaneously requiring
+end users of The EU EGEE Proejct to enter into a separate written license
+agreement for such Enhancements, then you hereby grant The EU EGEE Project
+a non-exclusive, royalty-free perpetual license to install, use, copy,
+modify, prepare derivative works, incorporate into the EGEE Middleware
+or any other computer software, distribute, and sublicense your
+Enhancements or derivative works thereof, in binary and source code
+form (if any), whether developed by The EU EGEE Project or third parties.
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL PROJECT OR ITS CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+This software consists of voluntary contributions made by many
+individuals on behalf of the EU EGEE Prject. For more information on The
+EU EGEE Project, please see http://cern.ch/eu-egee/. For more information on
+EGEE Middleware, please see http://egee-jra1.web.cern.ch/egee-jra1/
+
+
diff --git a/org.glite.jp.ws-interface/Makefile b/org.glite.jp.ws-interface/Makefile
new file mode 100644 (file)
index 0000000..73cd9ad
--- /dev/null
@@ -0,0 +1,48 @@
+# Default values
+top_srcdir=.
+builddir=build
+top_builddir=${top_srcdir}/${builddir}
+stagedir=.
+distdir=.
+globalprefix=glite
+package=glite-jp-ws-interface
+version=0.0.0
+PREFIX=/opt/glite
+
+-include Makefile.inc
+
+VPATH=${top_srcdir}/interface
+STAGETO=interface
+
+WSDL=JobProvenancePS.wsdl JobProvenanceTypes.wsdl 
+
+all compile:
+
+check: 
+       @echo No unit test required for interface-only module.
+
+stage:
+       $(MAKE) install PREFIX=${stagedir}
+
+dist: distsrc distbin
+
+distsrc:
+       mkdir -p ${top_srcdir}/${package}-${version}
+       cd ${top_srcdir} && GLOBIGNORE="${package}-${version}" && cp -Rf * ${package}-${version}
+       cd ${top_srcdir} && tar -czf ${distdir}/${package}-${version}_src.tar.gz --exclude-from=project/tar_exclude ${package}-${version}
+       rm -rf ${top_srcdir}/${package}-${version}
+
+distbin:
+       $(MAKE) install PREFIX=${top_srcdir}/tmpbuilddir
+       cd ${top_srcdir}/tmpbuilddir && tar -czf ${top_srcdir}/${distdir}/${package}-${version}_bin.tar.gz *
+       rm -rf ${top_srcdir}/tmpbuilddir
+       
+install:
+       -mkdir -p ${PREFIX}/${STAGETO}
+       -mkdir -p ${PREFIX}/share/doc/${package}-${version}
+       install -m 644 ${top_srcdir}/LICENSE ${PREFIX}/share/doc/${package}-${version}
+       cd ${top_srcdir}/interface && install -m 644 ${WSDL} ${PREFIX}/${STAGETO}
+
+clean:
+       rm -f *.h
+       
diff --git a/org.glite.jp.ws-interface/build.xml b/org.glite.jp.ws-interface/build.xml
new file mode 100644 (file)
index 0000000..44d86eb
--- /dev/null
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+       Copyright (c) 2004 on behalf of the EU EGEE Project: 
+       The European Organization for Nuclear Research (CERN), 
+       Istituto Nazionale di Fisica Nucleare (INFN), Italy
+       Datamat Spa, Italy
+       Centre National de la Recherche Scientifique (CNRS), France
+       CS Systeme d'Information (CSSI), France
+       Royal Institute of Technology, Center for Parallel Computers (KTH-PDC), Sweden
+       Universiteit van Amsterdam (UvA), Netherlands
+       University of Helsinki (UH.HIP), Finland
+       University of Bergen (UiB), Norway
+       Council for the Central Laboratory of the Research Councils (CCLRC), United Kingdom
+
+       Build file for the GLite jp ws-interface component
+       
+       Authors: Joachim Flammer <Joachim.Flammer@Cern.ch>      
+       Version info: $Id$
+       Release: $Name$
+
+       Revision history:
+       $Log$
+       Revision 1.5  2004/07/20 16:08:30  flammer
+       Changed incorrect my_... instead of .._template entries for subsystem and component.
+       
+       Revision 1.4  2004/07/16 16:32:53  flammer
+       Added comment where to add language target.
+       
+       Revision 1.3  2004/07/16 14:56:55  flammer
+       Corrected input path of build.properties.
+       
+       Revision 1.2  2004/07/06 20:43:19  flammer
+       Update of configure & targets.
+       
+       Revision 1.1.1.1  2004/06/18 12:40:17  flammer
+       Added general component template.
+       
+       
+-->
+
+<project name="ws-interface" default="dist">
+
+       <!-- ==============================================
+             Builds the GLite jp ws-interface component
+            ============================================== -->
+       
+       <!-- =========================================
+             Import properties (order is important)
+            ========================================= -->
+       
+       <!-- Import baseline properties & user properties -->
+       <import file="../org.glite/project/baseline.properties.xml" />
+
+       <!-- import component build properties,
+                       component properties &
+                       component common properties -->
+       <import file="./project/properties.xml"/>
+       
+       <!-- import subsystem build properties,
+                       subsystem properties &
+                       subsystem common properties -->
+       <import file="${subsystem.properties.file}"/>
+
+       <!-- import global build properties &
+                       global properties -->
+       <import file="${global.properties.file}" />
+               
+       <!-- =========================================
+             Load dependency property files (order is important)
+            ========================================= -->
+       <property file="${user.dependencies.file}"/>
+       <property file="${component.dependencies.file}" />
+       <property file="${subsystem.dependencies.file}" />
+       <property file="${global.dependencies.file}"/>
+
+       <!-- =========================================
+                 Load configuration definitions (order is important)
+             ========================================= -->
+        <import file="${global.configure.options.file}"/>
+        <import file="${component.configure.options.file}"/>
+       
+       <!-- =========================================
+             Import task definitions (order is important)
+            ========================================= -->
+       <import file="${subsystem.taskdefs.file}" />
+       <import file="${global.taskdefs.file}" />
+       
+       <!-- =========================================
+                Load common targets
+            ========================================= -->
+       <!-- Put your language target (java/c++-ant/c++-autotool/perl) here -->
+       <import file="${global.targets-simple_make.file}" />
+               
+       <!-- =========================================
+                Load version file 
+            ========================================= -->
+       <property file="${module.version.file}"/>
+       
+       <!-- ==============================================
+                Local private targets
+            ============================================== -->
+       
+       <target name="localinit"
+               description="Module specific initialization tasks">
+               <antcall target="lbmakefiles" />
+       </target>
+       
+       <target name="localcompile"
+               description="Module specific compile tasks">
+       </target>
+
+       <target name="localclean"
+               description="Module specific cleaning tasks">
+       </target>
+       
+</project>             
diff --git a/org.glite.jp.ws-interface/interface/JobProvenanceIS.wsdl b/org.glite.jp.ws-interface/interface/JobProvenanceIS.wsdl
new file mode 100644 (file)
index 0000000..84c8844
--- /dev/null
@@ -0,0 +1,110 @@
+<WSDL:definitions
+       xmlns:tns="http://glite.org/wsdl/services/jp"
+       xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+       xmlns:jp="http://glite.org/wsdl/types/jp"
+       xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/"
+       xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/"
+       xmlns="http://schemas.xmlsoap.org/wsdl/"
+       targetNamespace="http://glite.org/wsdl/services/jp"
+       name="JobProvenanceIS">
+
+       <import namespace="http://glite.org/wsdl/types/jp" location="JobProvenanceTypes.wsdl"/>
+
+       <message name="GenericJPFault">
+               <part name="fault" element="jp:GenericJPFault"/>
+       </message>
+
+       <message name="QueryJobsRequest">
+               <part name="conditions" type="jp:IndexQuery"/>
+       </message>
+
+       <message name="QueryJobsResponse">
+               <part name="jobs" type="jp:JobRecords"/>
+       </message>
+               
+       <message name="UpdateJobsRequest">
+               <part name="feedId" type="xsd:string"/>
+               <part name="data" type="jp:UpdateJobsData"/>
+               <part name="feedDone" type="xsd:boolean"/>
+       </message>
+       <message name="EmptyResponse"/>
+       
+       <portType name="JobProvenanceIS_PortType">
+               <operation name="UpdateJobs">
+                       <documentation>Store or update information on jobs within the JP index server.
+Called directly by the primary storage, used for both batch and incremental feed.
+
+Input:
+
+data: list of job record updates. Each contains jobid, list of JP attribute values and user tag values.
+
+feedDone: flag indicating end of batch feed. (In order to avoid potential problems with buffer allocation
+the huge dataset of batch feed is split into reasonable chunks and delivered with more UpdateJobs calls.)
+
+Output: N/A
+
+Faults: GenericJPFault
+
+
+                       </documentation>
+                       <input message="tns:UpdateJobsRequest"/>
+                       <output message="tns:EmptyResponse"/>
+                       <fault name="f" message="tns:GenericJPFault"/>
+               </operation>
+               <operation name="QueryJobs">
+                       <documentation>Retrieve pointers to job records of jobs matching a query.
+Input: conditions - list of lists of query conditions.
+       Elements of the inner lists refer to a single job attribute, the conditions are or-ed.
+       Elements of the outer list may refer to different job attributes, they are and-ed.
+
+Output:
+
+jobs: list of JobId, PSContact (URL of the primary storage which manges this job) pairs
+
+Faults: GenericJPFault
+                       </documentation>
+                       <input message="tns:QueryJobsRequest"/>
+                       <output message="tns:QueryJobsResponse"/>
+                       <fault name="f" message="tns:GenericJPFault"/>
+               </operation>
+       </portType>
+
+       <binding name="JobProvenanceIS" type="tns:JobProvenanceIS_PortType">
+               <SOAP:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+               <operation name="UpdateJobs">
+                       <SOAP:operation style="rpc"/>
+                       <input>
+                               <SOAP:body use="literal" namespace="http://glite.org/wsdl/services/jp"/>
+                       </input>
+                       <output>
+                               <SOAP:body use="literal" namespace="http://glite.org/wsdl/services/jp"/>
+                       </output>
+                       <fault name="f">
+                               <SOAP:fault name="f" use="literal"/>
+                       </fault>
+               </operation>
+               <operation name="QueryJobs">
+                       <SOAP:operation style="rpc"/>
+                       <input>
+                               <SOAP:body use="literal" namespace="http://glite.org/wsdl/services/jp"/>
+                       </input>
+                       <output>
+                               <SOAP:body use="literal" namespace="http://glite.org/wsdl/services/jp"/>
+                       </output>
+                       <fault name="f">
+                               <SOAP:fault name="f" use="literal"/>
+                       </fault>
+               </operation>
+       </binding>
+
+       <service name="JobProvenanceIS">
+               <documentation>Job Provenance Index service</documentation>
+               <port name="JobProvenanceIS" binding="tns:JobProvenanceIS">
+                       <SOAP:address location="http://localhost:10001"/>
+               </port>
+       </service>
+               
+
+</WSDL:definitions>
diff --git a/org.glite.jp.ws-interface/interface/JobProvenancePS.wsdl b/org.glite.jp.ws-interface/interface/JobProvenancePS.wsdl
new file mode 100644 (file)
index 0000000..7c777dd
--- /dev/null
@@ -0,0 +1,307 @@
+<WSDL:definitions
+       xmlns:tns="http://glite.org/wsdl/services/jp"
+       xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+       xmlns:jp="http://glite.org/wsdl/types/jp"
+       xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/"
+       xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/"
+       xmlns="http://schemas.xmlsoap.org/wsdl/"
+       targetNamespace="http://glite.org/wsdl/services/jp"
+       name="JobProvenancePS">
+
+       <import namespace="http://glite.org/wsdl/types/jp" location="JobProvenanceTypes.wsdl"/>
+
+       <message name="RegisterJobRequest">
+               <part name="job" type="xsd:string"/>
+       </message>
+       <message name="StartUploadRequest">
+               <part name="job" type="xsd:string"/>
+               <part name="uclass" type="jp:UploadClass"/>
+               <part name="commitBefore" type="xsd:dateTime"/>
+               <part name="contentType" type="xsd:string"/>
+       </message>
+       <message name="StartUploadResponse">
+               <part name="destination" type="xsd:string"/>
+               <part name="commitBefore" type="xsd:dateTime"/>
+       </message>
+       <message name="CommitUploadRequest">
+               <part name="destination" type="xsd:string"/>
+       </message>
+       <message name="RecordTagRequest">
+               <part name="jobid" type="xsd:string"/>
+               <part name="tag" type="jp:TagValue"/>
+       </message>
+       <message name="FeedIndexRequest">
+               <part name="destination" type="xsd:string"/>
+               <part name="attributes" type="jp:Attributes"/>
+               <part name="conditions" type="jp:PrimaryQuery"/>
+               <part name="history" type="xsd:boolean"/>
+               <part name="continuous" type="xsd:boolean"/>
+       </message>
+       <message name="FeedIndexResponse">
+               <part name="feedId" type="xsd:string"/>
+               <part name="expires" type="xsd:dateTime"/>
+       </message>
+       <message name="FeedIndexRefreshRequest">
+               <part name="feedId" type="xsd:string"/>
+       </message>
+       <message name="GetJobRequest">
+               <part name="jobid" type="xsd:string"/>
+       </message>
+       <message name="GetJobResponse">
+               <part name="jobLog" type="xsd:string"/>
+               <part name="inputSandbox" type="xsd:string"/>
+               <part name="outputSandbox" type="xsd:string"/>
+               <part name="tags" type="xsd:string"/>
+       </message>
+       <message name="GenericJPFault">
+               <part name="fault" element="jp:GenericJPFault"/>
+       </message>
+       <message name="EmptyResponse"/>
+       <portType name="JobProvenancePS_PortType">
+               <operation name="RegisterJob">
+                       <documentation>Register job with JP primary storage.
+Job registration in LB is propagated to JP immediately so that JP is aware of the job,
+despite no furhter information is available in it.
+
+Input: JobId
+
+Output: N/A
+
+Faults: GenericJPFault
+                       </documentation>
+                       <input message="tns:RegisterJobRequest"/>
+                       <output message="tns:EmptyResponse"/>
+                       <fault name="f" message="tns:GenericJPFault"/>
+               </operation>
+               <operation name="StartUpload">
+                       <documentation>Initiate upload of of sandbox/dump of job life log from LB.
+WM component responsible for job sandbox management and LB server call JP to declare
+intention to upload intput/output sandbox and job life log.
+
+Input:
+
+uclass: type of the upload - INPUT_SANDBOX, OUTPUT_SANDBOX, JOB_LOG
+
+commitTimeout: upper limit on time for which JP waits for committing this upload transaction
+
+contentType: MIME type of the uploaded file
+
+Output:
+
+destination: URL where the client should upload the file
+
+commitBefore: acutual time when the upload transaction times out
+
+Faults: GenericJPFault
+
+
+Initiate upload of of sandbox/dump of job life log from LB.</documentation>
+                       <input message="tns:StartUploadRequest"/>
+                       <output message="tns:StartUploadResponse"/>
+                       <fault name="f" message="tns:GenericJPFault"/>
+               </operation>
+               <operation name="CommitUpload">
+                       <documentation>Confirm upload.
+Should be called after a file upload initiaded with StartUpload is finished.
+
+Input:
+
+destination: Upload destination URL (to match with the original request)
+
+Output:
+
+Faults: GenericJPFault
+                       </documentation>
+                       <input message="tns:CommitUploadRequest"/>
+                       <output message="tns:EmptyResponse"/>
+                       <fault name="f" message="tns:GenericJPFault"/>
+               </operation>
+               <operation name="RecordTag">
+                       <documentation>Record a value of user tag.
+JP tags are either standalone or override values of their LB counterparts.
+However, JP tag values are still distinguishable those inherited from LB.
+JP tags may be either strings or blobs.
+
+Input:
+
+jobid:
+
+tag: structure containing name, timestamp, optional sequence number to order tag values
+without relying on timestamps, and string or blob value.
+
+Output: N/A
+
+Faults: GenericJPFault
+                       </documentation>
+                       <input message="tns:RecordTagRequest"/>
+                       <output message="tns:EmptyResponse"/>
+                       <fault name="f" message="tns:GenericJPFault"/>
+               </operation>
+               <operation name="FeedIndex">
+                       <documentation>Start feeding JP index server.
+Called by the index server to start batch feed, and optionally also subscribe for incremental feed.
+
+JP index server subscribes with JP primary storage using a query
+containing conditions on primary metadata and a list of queryable attributes
+of the index server (i.e. data which should be sent to the index server).
+
+When a matching job record is created or modified within the primary storage
+the job record data are sent to the subscribed index server.
+
+The subscription is soft-state, it expires after certain time unless refreshed by the client explicitely.
+
+In the batch mode the query has the same form
+with additional flag asking for all matching records (i.e.\ not only
+arriving afterwards).
+
+Input:
+
+destination: where to send the job record data
+
+attributes: which job record attributes should be sent to the requesting index server
+
+conditions: list of query conditions. Each conditions has the form Attribute Operator Value,
+where Attribute is any of job record attributes and Operator is one of EQUAL, UNEQUAL, LESS, GREATER, WITHIN.
+
+continuous: flag determining that the query is incremental (not batch) 
+
+Output:
+
+feedId: unique Id of the feed request, to be used in refresh, cancelation etc.
+
+expires: when the feed times out. Must be refreshed before this time.
+
+Faults: GenericJPFault
+                       </documentation>
+                       <input message="tns:FeedIndexRequest"/>
+                       <output message="tns:FeedIndexResponse"/>
+                       <fault name="f" message="tns:GenericJPFault"/>
+               </operation>
+               <operation name="FeedIndexRefresh">
+                       <documentation>Extend batch feed subscription (used by index server)
+
+Input: feedId returned previously by FeedIndex
+
+Output: the same as for FeedIndex
+
+Faults: GenericJPFault
+                       </documentation>
+                       <input message="tns:FeedIndexRefreshRequest"/>
+                       <output message="tns:FeedIndexResponse"/>
+                       <fault name="f" message="tns:GenericJPFault"/>
+               </operation>
+               <operation name="GetJob">
+                       <documentation>Retrieve job record URL's when jobid is known
+Used either to bypass JP index server query for this specific case, or after the index server query to
+retrieve actual job record.
+
+Input: jobid
+
+Output:
+
+jobLog, inputSandbox, outputSandbox, tags: URL's to components of the job record.
+
+Faults: GenericJPFault
+                       </documentation>
+                       <input message="tns:GetJobRequest"/>
+                       <output message="tns:GetJobResponse"/>
+                       <fault name="f" message="tns:GenericJPFault"/>
+               </operation>
+       </portType>
+       <binding name="JobProvenancePS" type="tns:JobProvenancePS_PortType">
+               <SOAP:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+               <operation name="RegisterJob">
+                       <SOAP:operation style="rpc"/>
+                       <input>
+                               <SOAP:body use="literal" namespace="http://glite.org/wsdl/services/jp"/>
+                       </input>
+                       <output>
+                               <SOAP:body use="literal" namespace="http://glite.org/wsdl/services/jp"/>
+                       </output>
+                       <fault name="f">
+                               <SOAP:fault name="f" use="literal"/>
+                       </fault>
+               </operation>
+               <operation name="StartUpload">
+                       <SOAP:operation style="rpc"/>
+                       <input>
+                               <SOAP:body use="literal" namespace="http://glite.org/wsdl/services/jp"/>
+                       </input>
+                       <output>
+                               <SOAP:body use="literal" namespace="http://glite.org/wsdl/services/jp"/>
+                       </output>
+                       <fault name="f">
+                               <SOAP:fault name="f" use="literal"/>
+                       </fault>
+               </operation>
+               <operation name="CommitUpload">
+                       <SOAP:operation style="rpc"/>
+                       <input>
+                               <SOAP:body use="literal" namespace="http://glite.org/wsdl/services/jp"/>
+                       </input>
+                       <output>
+                               <SOAP:body use="literal" namespace="http://glite.org/wsdl/services/jp"/>
+                       </output>
+                       <fault name="f">
+                               <SOAP:fault name="f" use="literal"/>
+                       </fault>
+               </operation>
+               <operation name="RecordTag">
+                       <SOAP:operation style="rpc"/>
+                       <input>
+                               <SOAP:body use="literal" namespace="http://glite.org/wsdl/services/jp"/>
+                       </input>
+                       <output>
+                               <SOAP:body use="literal" namespace="http://glite.org/wsdl/services/jp"/>
+                       </output>
+                       <fault name="f">
+                               <SOAP:fault name="f" use="literal"/>
+                       </fault>
+               </operation>
+               <operation name="FeedIndex">
+                       <SOAP:operation style="rpc"/>
+                       <input>
+                               <SOAP:body use="literal" namespace="http://glite.org/wsdl/services/jp"/>
+                       </input>
+                       <output>
+                               <SOAP:body use="literal" namespace="http://glite.org/wsdl/services/jp"/>
+                       </output>
+                       <fault name="f">
+                               <SOAP:fault name="f" use="literal"/>
+                       </fault>
+               </operation>
+               <operation name="FeedIndexRefresh">
+                       <SOAP:operation style="rpc"/>
+                       <input>
+                               <SOAP:body use="literal" namespace="http://glite.org/wsdl/services/jp"/>
+                       </input>
+                       <output>
+                               <SOAP:body use="literal" namespace="http://glite.org/wsdl/services/jp"/>
+                       </output>
+                       <fault name="f">
+                               <SOAP:fault name="f" use="literal"/>
+                       </fault>
+               </operation>
+               <operation name="GetJob">
+                       <SOAP:operation style="rpc"/>
+                       <input>
+                               <SOAP:body use="literal" namespace="http://glite.org/wsdl/services/jp"/>
+                       </input>
+                       <output>
+                               <SOAP:body use="literal" namespace="http://glite.org/wsdl/services/jp"/>
+                       </output>
+                       <fault name="f">
+                               <SOAP:fault name="f" use="literal"/>
+                       </fault>
+               </operation>
+       </binding>
+
+       <service name="JobProvenancePS">
+               <documentation>Job Provenance Primary Storage service</documentation>
+               <port name="JobProvenancePS" binding="tns:JobProvenancePS">
+                       <SOAP:address location="http://localhost:10001"/>
+               </port>
+       </service>
+</WSDL:definitions>
diff --git a/org.glite.jp.ws-interface/interface/JobProvenanceTypes.wsdl b/org.glite.jp.ws-interface/interface/JobProvenanceTypes.wsdl
new file mode 100644 (file)
index 0000000..e1a6db4
--- /dev/null
@@ -0,0 +1,162 @@
+<?xml version="1.0"?>
+<WSDL:definitions
+       xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+       xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/"
+       xmlns="http://schemas.xmlsoap.org/wsdl/"
+       xmlns:jp="http://glite.org/wsdl/types/jp"
+       targetNamespace="http://glite.org/wsdl/types/jp"
+       name="JobProvenanceTypes">
+
+
+<WSDL:types>   
+
+<schema
+       targetNamespace="http://glite.org/wsdl/types/jp"
+       xmlns="http://www.w3.org/2001/XMLSchema"
+       elementFormDefault="unqualified" attributeFormDefault="unqualified">
+       <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
+
+       <simpleType name="AttributeType">
+               <restriction base="xsd:string">
+                       <enumeration value="OWNER"/>
+                       <enumeration value="TIME"/>
+                       <enumeration value="TAG"/>
+               </restriction>
+       </simpleType>
+       <simpleType name="UploadClass">
+               <restriction base="xsd:string">
+                       <enumeration value="INPUT-SANDBOX"/>
+                       <enumeration value="OUTPUT-SANDBOX"/>
+                       <enumeration value="JOB-LOG"/>
+               </restriction>
+       </simpleType>
+       <simpleType name="QueryOp">
+               <restriction base="xsd:string">
+                       <enumeration value="EQUAL"/>
+                       <enumeration value="UNEQUAL"/>
+                       <enumeration value="LESS"/>
+                       <enumeration value="GREATER"/>
+                       <enumeration value="WITHIN"/>
+               </restriction>
+       </simpleType>
+       <complexType name="TagValue">
+               <sequence>
+                       <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
+                       <element name="sequence" type="xsd:int" minOccurs="0" maxOccurs="1"/>
+                       <element name="timestamp" type="xsd:dateTime" minOccurs="0" maxOccurs="1" nillable="true"/>
+                       <element name="stringValue" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
+                       <element name="blobValue" type="xsd:base64Binary" minOccurs="0" maxOccurs="1" nillable="true"/>
+               </sequence>
+       </complexType>
+       <complexType name="Attribute">
+               <sequence>
+                       <element name="type" type="jp:AttributeType" minOccurs="1" maxOccurs="1"/>
+                       <element name="name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+               </sequence>
+       </complexType>
+       <complexType name="Attributes">
+               <sequence>
+                       <element name="item" type="jp:Attribute" minOccurs="0" maxOccurs="unbounded"/>
+               </sequence>
+       </complexType>
+       <complexType name="GenericJPFaultType">
+               <sequence>
+                       <element name="source" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+                       <element name="code" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+                       <element name="text" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+                       <element name="description" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+                       <element name="reason" type="jp:GenericJPFaultType" minOccurs="0" maxOccurs="1"/>
+               </sequence>
+       </complexType>
+       <complexType name="PrimaryQueryElement">
+               <sequence>
+                       <element name="attr" type="jp:Attribute" minOccurs="1" maxOccurs="1"/>
+                       <element name="op" type="jp:QueryOp" minOccurs="1" maxOccurs="1"/>
+                       <element name="value" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+                       <element name="value2" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+               </sequence>
+       </complexType>
+       <complexType name="PrimaryQuery">
+               <sequence>
+                       <element name="item" type="jp:PrimaryQueryElement" minOccurs="0" maxOccurs="unbounded"/>
+               </sequence>
+       </complexType>
+       <complexType name="IndexQueryRecord">
+               <sequence>
+                       <element name="op" type="jp:QueryOp" minOccurs="1" maxOccurs="1"/>
+                       <element name="value" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+               </sequence>
+       </complexType>
+       <complexType name="IndexQueryElement">
+               <sequence>
+                       <element name="attr" type="jp:Attribute" minOccurs="1" maxOccurs="1"/>
+                       <element name="record" type="jp:IndexQueryRecord" minOccurs="1"  maxOccurs="unbounded"/>
+               </sequence>
+       </complexType>
+       <complexType name="IndexQuery">
+               <sequence>
+                       <element name="item" type="jp:IndexQueryElement" minOccurs="1" maxOccurs="unbounded"/>
+               </sequence>
+       </complexType>
+       <complexType name="JobRecord">
+               <sequence>
+                       <element name="jobid" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+                       <element name="PSContact" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+               </sequence>
+       </complexType>
+       <complexType name="JobRecords">
+               <sequence>
+                       <element name="record" type="jp:JobRecord" minOccurs="0" maxOccurs="unbounded"/>
+               </sequence>
+       </complexType>
+
+       <complexType name="AttrUpdate">
+               <sequence>
+                       <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+                       <element name="value" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+               </sequence>
+       </complexType>
+       <complexType name="AttrUpdates">
+               <sequence>
+                       <element name="item" type="jp:AttrUpdate" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+               </sequence>
+       </complexType>
+       <complexType name="JobUpdate">
+               <sequence>
+                       <element name="jobid" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+                       <element name="attributes" type="jp:AttrUpdates" minOccurs="1" maxOccurs="1"/>
+                       <element name="tags" type="jp:AttrUpdates" minOccurs="1" maxOccurs="1"/>
+               </sequence>
+       </complexType>
+       <complexType name="UpdateJobsData">
+               <sequence>
+                       <element name="job" type="jp:JobUpdate" minOccurs="0" maxOccurs="unbounded"/>
+               </sequence>
+       </complexType>
+               
+       <complexType name="FeedIndexResponse">
+               <sequence>
+                       <element name="feedId" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
+                       <element name="expires" type="xsd:dateTime" minOccurs="0" maxOccurs="1" nillable="true"/>
+               </sequence>
+       </complexType>
+       <complexType name="GetJobResponse">
+               <sequence>
+                       <element name="jobLog" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
+                       <element name="inputSandbox" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
+                       <element name="outputSandbox" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
+                       <element name="tags" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
+               </sequence>
+       </complexType>
+       <complexType name="StartUploadResponse">
+               <sequence>
+                       <element name="destination" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
+                       <element name="commitBefore" type="xsd:dateTime" minOccurs="0" maxOccurs="1" nillable="true"/>
+               </sequence>
+       </complexType>
+       <element name="GenericJPFault" type="jp:GenericJPFaultType"/>
+</schema>
+
+</WSDL:types>
+</WSDL:definitions>
diff --git a/org.glite.jp.ws-interface/project/build.properties b/org.glite.jp.ws-interface/project/build.properties
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/org.glite.jp.ws-interface/project/configure.properties.xml b/org.glite.jp.ws-interface/project/configure.properties.xml
new file mode 100644 (file)
index 0000000..4b08208
--- /dev/null
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+        Copyright (c) 2004 on behalf of the EU EGEE Project:
+        The European Organization for Nuclear Research (CERN),
+        Istituto Nazionale di Fisica Nucleare (INFN), Italy
+        Datamat Spa, Italy
+        Centre National de la Recherche Scientifique (CNRS), France
+        CS Systeme d'Information (CSSI), France
+        Royal Institute of Technology, Center for Parallel Computers (KTH-PDC), Sweden
+        Universiteit van Amsterdam (UvA), Netherlands
+        University of Helsinki (UH.HIP), Finland
+        University of Bergen (UiB), Norway
+        Council for the Central Laboratory of the Research Councils (CCLRC), United Kingdom
+
+        Configuration build properties file for the GLite jp ws-interface component
+
+        Authors: Joachim Flammer <Joachim.Flammer@cern.ch>
+        Version info: $Id$
+        Release: $Name$
+
+        Revision history:
+        $Log$
+        Revision 1.3  2004/07/20 16:08:30  flammer
+        Changed incorrect my_... instead of .._template entries for subsystem and component.
+
+        Revision 1.2  2004/07/16 14:56:55  flammer
+        Corrected input path of build.properties.
+
+        Revision 1.1  2004/07/06 20:43:19  flammer
+        Update of configure & targets.
+
+
+
+-->
+<project name="jp ws-interface component configuration properties">
+
+<target name="lbmakefiles">
+       <exec executable="ln" failonerror="true">
+               <arg line="-fs ${component.dir}/Makefile ${module.build.dir}/Makefile"/>
+       </exec>
+       <echo file="${module.build.dir}/Makefile.inc">
+top_srcdir=..
+builddir=build
+stagedir=${stage.abs.dir}
+distdir=${dist.dir}
+globalprefix=${global.prefix}
+jpprefix=${subsystem.prefix}
+package=${module.package.name}
+PREFIX=${install.dir}
+version=${module.version}
+glite_location=${with.glite.location}
+                </echo>
+    </target>
+</project>
diff --git a/org.glite.jp.ws-interface/project/glite-jp-ws-interface.spec b/org.glite.jp.ws-interface/project/glite-jp-ws-interface.spec
new file mode 100644 (file)
index 0000000..dba6d55
--- /dev/null
@@ -0,0 +1,42 @@
+Summary:Change me !!!
+Name:glite-jp-ws-interface
+Version:0.0.0
+Release:0
+Copyright:Open Source EGEE License
+Vendor:EU EGEE project
+Group:System/Application
+Prefix:/opt/glite
+BuildArch:x86_64
+BuildRoot:%{_builddir}/%{name}-%{version}
+Source:glite-jp-ws-interface-0.0.0_bin.tar.gz
+
+%define debug_package %{nil}
+
+%description
+Change me !!!
+
+%prep
+
+%setup -c
+
+%build
+
+%install
+
+%clean
+%pre
+%post
+%preun
+%postun
+%files
+%defattr(-,root,root)
+%{prefix}/interface/JobProvenancePS.wsdl
+%{prefix}/interface/JobProvenanceTypes.wsdl
+%{prefix}/share/doc/glite-jp-ws-interface-0.0.0/LICENSE
+
+%changelog
+
diff --git a/org.glite.jp.ws-interface/project/properties.xml b/org.glite.jp.ws-interface/project/properties.xml
new file mode 100644 (file)
index 0000000..4ec8018
--- /dev/null
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+       Copyright (c) 2004 on behalf of the EU EGEE Project: 
+       The European Organization for Nuclear Research (CERN), 
+       Istituto Nazionale di Fisica Nucleare (INFN), Italy
+       Datamat Spa, Italy
+       Centre National de la Recherche Scientifique (CNRS), France
+       CS Systeme d'Information (CSSI), France
+       Royal Institute of Technology, Center for Parallel Computers (KTH-PDC), Sweden
+       Universiteit van Amsterdam (UvA), Netherlands
+       University of Helsinki (UH.HIP), Finland
+       University of Bergen (UiB), Norway
+       Council for the Central Laboratory of the Research Councils (CCLRC), United Kingdom
+
+       Common build properties file for the GLite jp ws-interface component
+       
+       Authors: Joachim Flammer <Joachim.Flammer@cern.ch>
+       Version info: $Id$
+       Release: $Name$ 
+       
+       Revision history:
+       $Log$
+       Revision 1.4  2004/07/20 16:08:30  flammer
+       Changed incorrect my_... instead of .._template entries for subsystem and component.
+       
+       Revision 1.3  2004/07/16 14:56:55  flammer
+       Corrected input path of build.properties.
+       
+       Revision 1.2  2004/07/16 14:36:49  flammer
+       
+       Corrected build.properties include.
+       
+       Revision 1.1.1.1  2004/06/18 12:40:17  flammer
+       Added general component template.
+       
+       
+-->
+
+<project name="jp ws-interface component common properties">
+
+       <!-- Include build properties to allow overwriting 
+            of properties for subsystem                    -->
+       <property file="project/build.properties" />    
+
+       <!-- ======================================================
+              Define corresponding subsystem properties
+            ====================================================== -->
+
+       <!-- Subsystem name -->
+       <property name="subsystem.name" value="${jp.subsystem.name}"/>
+               
+       <!-- Subsystem prefix -->
+       <property name="subsystem.prefix" value="${jp.subsystem.prefix}"/>
+
+       <!-- ======================================================
+              Define component properties
+            ====================================================== -->
+                               
+       <!-- Component name prefix -->
+       <property name="component.prefix" value="ws-interface" />
+                       
+       <!-- ======================================================
+              Define general component properties
+            ====================================================== -->
+       
+       <import file="${component.general.properties.file}" />
+                                               
+       <!-- ======================================================
+             Define extra properties here ...
+            ====================================================== -->
+       
+               
+</project>
diff --git a/org.glite.jp.ws-interface/project/tar_exclude b/org.glite.jp.ws-interface/project/tar_exclude
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/org.glite.jp.ws-interface/project/version.properties b/org.glite.jp.ws-interface/project/version.properties
new file mode 100755 (executable)
index 0000000..e78612b
--- /dev/null
@@ -0,0 +1,3 @@
+module.version = 0.0.0
+module.build = 0
+module.age = 0
\ No newline at end of file