WPS Orchestration in Taverna - Jorge Mendes de Jesus
1. WPS Orchestration in Taverna
Jorge S. Mendes de Jesus
Web Processing Service (WPS) technologies for Integrated Assessment Modelling in Urban Areas
COST Action: TU0902 – 21-24 Jan 2014, Luxemburg
2. WhoAmI
Programmer, working in Wageningen (NL) @ ISRIC
This presentation covers my work @ PML
(Plymouth Marine Laboratory)
7. WSDL
The Web Services Description Language is an XML-based
interface description language that is used for describing the
functionality offered by a web service.
XML that describes how your web
service works , what it accepts and
how it communicates.
8. WSDL
Yes, we need to re-invent the wheel....in this case WPS..inside WSDL
<definitions>
<types>
definition of
types........
</types>
<message>
definition of a
message....
</message>
<portType>
definition of a
port.......
</portType>
<binding>
definition of a
binding....
</binding>
<service>
defintion of a service
<service>
</definitions>
11. SOAP
Dummy process, adds and subtracts 1
<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<ExecuteProcess_DummyProcess>
<datainput1>10</datainput1>
<datainput2>20</datainput2>
</ExecuteProcess_DummyProcess>
</soap:Body>
</soap:Envelope>
Attr in El name
XML blasphemy !!!
Totally different from WPS
13. 4-some: PyWPS, WSDL, SOAP and XSLT
Information Source
DescribeProcess (all) XML
Python Code
(PyWPS process code)
XSLT
14. 4-some: PyWPS, WSDL, SOAP and XSLT
New worlds, new opportunities !!!!! Before the new world......
15. 4-some: PyWPS, WSDL, SOAP and XSLT
If you create a PyWPS it will be automatically translate to
WSDL....so no extra config.....everything transparent
SOAP requests are translated to/from WPS requests/responses
Processes splited into sync and async since we need to
define a different reply for async (No WSDL overloading)
16. 5-some: PyWPS, WSDL, SOAP, XLST and Taverna
Lets give a look at the bioinformatics jungle....
17. 5-some: PyWPS, WSDL, SOAP, XLST and Taverna
Having WSDL/SOAP we can run WPS in
Taverna....Orchestration