Provenance Interface Definitions in WSDL ---------------------------------------- Products of the PASOA and EU Provenance projects This ReadMe briefly discusses the set of interface definitions contained in this distribution. It describes the hierarchy, motivation and extensibility of the WSDL. This distribution contains all the files necessary to generate Java stubs using the WSDL2Java program included with Globus Toolkit 4 (GT4). Therefore, there are files that included in this distribution that are NOT generated by either project. The hierarchy is as follows: ReadMe.txt : this file CPL.txt : The CPL open source license used by interfaces produced by the EU Provenance Project pasoalicense : The open source license (MIT) used by interfaces produced by the PASOA project PStruct.xsd : The common logical structure of the proveance store used by all interfaces WPStruct.xsd : Web services specific definition of the p-structure extends PStruct.xsd PHeader.xsd : Definition of the p-header exchanged by application actors ProvenanceService.wsdl : This file defines an example Provenance Service web service implementation. /pquery : directory contains all files defining the provenance query interface /xquery : directory contains all files defining the xquery interface /record : directory contains all files defining the PReP compatible recording interface /wsrf : directory contains all files defining the ProvenanceStore resource and all future WSRF related interfaces /wsrf/faults : directory copied from GT4 containing interface definitions necessary for generating stubs /wsrf/lifetime : directory copied from GT4 containing interface definitions necessary for generating stubs /wsrf/notification : directory copied from GT4 containing interface definitions necessary for generating stubs /wsrf/servicegroup : directory copied from GT4 containing interface definitions necessary for generating stubs /wsrf/properties : directory copied from GT4 containing interface definitions necessary for generating stubs /ws : contains all external web service specification (XML,XSD,WSDL files) needed to generate stubs. Future web services specifications should be added under this directory. Approach The approach taken was divide functionality into ports. Where each port has its own directory. Under each directory there is the definition of the PortType as well as the SOAPBinding for that port type. Also each directory will contain the necessary schema files for defining the message to be sent to the particular port. The ProvenanceService.wsdl is then an example of how a Provenance Service web service can be defined to include different bits of functionality by adding various port types. Therefore, there is a clear upgrade mechanism. As new functionality is made available a new port type can be created and added to the ProvenanceService definition if the provenance service implements the given functionality.