Hello,I think it would be great if Taverna could understand WSDL HTTPBinding (and possibly WADL).
As I am working on WSDL 2 parser: http://sourceforge.net/projects/tinywsdl/
I also included two converters: WSDL 1.1 (wsdl4j) -> WSDL2.0 WSDL 2.0 -> WADLOf course it's not an easy task. Even after spending a year on it there are some things I do not understand. As an example I have created a simple WSDL 1.1 definition for the PDB RESTFul service and generated a WSDL 2.0, then WADL for it. SOAPUI may import WADL files into a project, so I believe in Taverna guys ;-).
Cheers, Dmitry On 5/29/2013 2:49 PM, Alan R Williams wrote:
On 28/05/2013 23:58, Mark Fortner wrote:I had the opportunity to work on a number of workflows recently and had a few suggestions for some ease-of-use improvements.Hello,- It would help if the "Updates and Plugins" checks could be done in the background and you should be able to select all of the plugins that you want updated in one go, and then click update to queue them up.David Withers is working on an improved updates and plugin system for Taverna 3. He says he is making it the phone App installation procedure.- It would be very useful if there was a way to create REST service templates. A template editor would let you create the URL template (similar to the existing uniprot URL template), and register all of the input and output ports and any ontology tags associated with the ports. The editor would also let you register the service with biocatalogue.That is a good suggestion. At the moment, BioCatalogue and Taverna is one direction. This would require changes to the BioCatalogue API. I've checked on http://www.biocatalogue.org/wiki/doku.php?id=public:api#table_of_endpoints and it does have POST for SOAP and REST services, but neither is "live". I will ask the BioCatalogue people what is happening with it. I had added this to Jira as http://dev.mygrid.org.uk/issues/browse/T3-806- Cut/Copy/Paste/Delete shortcuts should work in the Services folder of the Workflow explorer. Also if you copy a service, you can't paste it into the Services folder you have to paste it into the workflow pane.Someone would have to work through the expected behaviour. It should be possible though.- Popup menus in the Workflow explorer have a tendency to extend behind the dock on Mac OS X.Yes. This looks like a known Java/Mac issue - see http://stackoverflow.com/questions/14193882/java-jpopupmenu-mac-os-x for example. Any suggestions on how to get around this will be welcome. I didn't find it in Jira so have added it as http://dev.mygrid.org.uk/issues/browse/T3-805- "seperator" is misspelled in "Merge_String_List_to_a_String".I think the reason it has not been changed is that special hacks would have to be made to the XML deserializer and the reader of Taverna 1 workflows. It is annoying, I agree. It is in Jira as http://dev.mygrid.org.uk/issues/browse/T3-118- I've always thought it odd that the icon for an input is a red triangle whose apex points *out* of a workflow, and an input is a green icon that points *into* a workflow. It seems counterintuitive.I do not know why they are like that. I prefer icons like for Taverna Online, with an explicit arrow, althouigh I have seen people be confused by those as well. This is in Jira as http://dev.mygrid.org.uk/issues/browse/T3-466- It would be easier if the fields that let you enter port ontology and description were apparent when you created the port.Yes. This is in Jira as http://dev.mygrid.org.uk/issues/browse/T3-430- It would be nice if there was a "cached" mode that lets you work with cached responses from REST calls. This would be more server friendly when users are designing their workflows. During the course of writing a workflow you may hit a service multiple times with the same query, which is annoying for a service provider to have to deal with, and may get you blocked from using a service.Agreed. I think this overlaps several other areas. One of the proposals for components is to allow them to use cached results, also improving the caching of ontologies. Also, the W3 "tar pit" for xsd's can cause issues.- A templating service (perhaps using velocity) would be useful to allow people to export results from a workflow into a single report. It would be nice if it were abstract enough so that other strategies could be plugged in. A simple Velocity templating service might be a good start, but I can also foresee wanting to use Word templating APIs like docx4j.There is a ScriptEngine done by Apache Sling that wraps the Velocity Engine. So this could be done that way using the script service I am working on. We already use Velocity for some of the interaction pages. Do you know anyone who has experience with docx4j ?- A simple string template service would also be useful.Velocity works for strings as well.- It would be useful to be able to register individual beanshell scripts with myExperiment. That would make it easier to use it as a component repository.With the components plugin, you can make a component out of a beanshell (inside a workflow). Simplification of creating a single service component is on the list of improvements.- It would make Beanshell scripts more easily portable, if you could simply register the dependencies as Gradle-like strings, and let Taverna handle the caching, rather than have users manually install JARs into folders. When a user runs someone else's script, it would download the dependencies for them -- similar to the way that Groovy's @Grab annotation works.It is possible to add maven artifacts as dependencies, but this is not exposed in the UI. I will check on why it was hidden.Let me know if you have any questions.Any comments or suggestions will be welcome.Cheers, Mark FortnerAlan ------------------------------------------------------------------------------ Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET Get 100% visibility into your production application - at no cost. Code-level diagnostics for performance bottlenecks with <2% overhead Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap1 _______________________________________________ taverna-hackers mailing list [email protected] Web site: http://www.taverna.org.uk Mailing lists: http://www.taverna.org.uk/about/contact-us/ Developers Guide: http://www.taverna.org.uk/developers/
<?xml version="1.0" encoding="UTF-8"?> <application xmlns="http://wadl.dev.java.net/2009/02" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <grammars> <xs:schema xmlns="" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:sawsdl="http://www.w3.org/ns/sawsdl" xmlns:tns="webservices.pdb.org" xmlns:whttp="http://www.w3.org/ns/wsdl/http" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" attributeFormDefault="unqualified" elementFormDefault="unqualified" jaxb:version="2.0"> <xs:annotation> <xs:appinfo> <jaxb:schemaBindings> <jaxb:package name="org.pdb.webservices"/> </jaxb:schemaBindings> </xs:appinfo> </xs:annotation> <xs:element form="unqualified" name="PDBdescription" type="PDBdescription"/> <xs:element form="unqualified" name="PDB" type="PDB"/> <xs:complexType name="PDBdescription"> <xs:sequence> <xs:element form="unqualified" minOccurs="0" name="PDB" type="PDB"/> </xs:sequence> </xs:complexType> <xs:complexType name="PDB"> <xs:attribute name="structureId" type="xs:string"/> <xs:attribute name="title" type="xs:string"/> <xs:attribute name="pubmedId" type="xs:string"/> <xs:attribute name="expMethod" type="xs:string"/> <xs:attribute name="resolution" type="xs:float"/> <xs:attribute name="replaces" type="xs:string"/> <xs:attribute name="keywords" type="xs:string"/> <xs:attribute name="nr_entities" type="xs:int"/> <xs:attribute name="nr_atoms" type="xs:int"/> <xs:attribute name="deposition_date" type="xs:date"/> <xs:attribute name="release_date" type="xs:date"/> <xs:attribute name="last_modification_date" type="xs:date"/> <xs:attribute name="structure_authors" type="xs:string"/> <xs:attribute name="citation_authors" type="xs:string"/> <xs:attribute name="CURRENT" type="xs:string"/> </xs:complexType> </xs:schema> <xs:schema xmlns="" xmlns:tns="webservices.pdb.org" xmlns:whttp="http://www.w3.org/ns/wsdl/http" xmlns:wsdl="http://www.w3.org/ns/wsdl" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="webservices.pdb.org"> <xs:element name="request"> <xs:complexType> <xs:sequence> <xs:element name="structureId" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> </grammars> <resources base="http://www.rcsb.org/pdb/rest/"> <resource path="describePDB"> <method name="GET"> <request> <param name="structureId" style="query" type="xs:string"/> </request> <response> <ns0:representation xmlns="" xmlns:ns0="http://wadl.dev.java.net/2009/02" element="PDBdescription" mediaType="application/xml"/> </response> </method> </resource> </resources> </application>
<wsdl:definitions name="PDBFileDescription" targetNamespace="webservices.pdb.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:sawsdl="http://www.w3.org/ns/sawsdl" xmlns:tns="webservices.pdb.org" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"> <jaxws:bindings> <jaxws:package name="org.pdb.webservices" /> </jaxws:bindings> <wsdl:types> <xs:schema version="1.0" elementFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0"> <xs:annotation> <xs:appinfo> <jaxb:schemaBindings> <jaxb:package name="org.pdb.webservices" /> </jaxb:schemaBindings> </xs:appinfo> </xs:annotation> <xs:element name="PDBdescription" type="PDBdescription" form="unqualified"/> <xs:element name="PDB" type="PDB" form="unqualified"/> <xs:complexType name="PDBdescription"> <xs:sequence> <xs:element name="PDB" type="PDB" form="unqualified" minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:complexType name="PDB"> <xs:attribute name="structureId" type="xs:string"/> <xs:attribute name="title" type="xs:string"/> <xs:attribute name="pubmedId" type="xs:string"/> <xs:attribute name="expMethod" type="xs:string"/> <xs:attribute name="resolution" type="xs:float"/> <xs:attribute name="replaces" type="xs:string"/> <xs:attribute name="keywords" type="xs:string"/> <xs:attribute name="nr_entities" type="xs:int"/> <xs:attribute name="nr_atoms" type="xs:int"/> <xs:attribute name="deposition_date" type="xs:date"/> <xs:attribute name="release_date" type="xs:date"/> <xs:attribute name="last_modification_date" type="xs:date"/> <xs:attribute name="structure_authors" type="xs:string"/> <xs:attribute name="citation_authors" type="xs:string"/> <xs:attribute name="CURRENT" type="xs:string"/> </xs:complexType> </xs:schema> </wsdl:types> <wsdl:message name="request"> <wsdl:part name="structureId" type="xs:string" /> </wsdl:message> <wsdl:message name="response"> <wsdl:part name="out" element="PDBdescription" /> </wsdl:message> <wsdl:portType name="PDB_File_Description_Service_Port"> <wsdl:operation name="describePDB"> <wsdl:input message="tns:request"/> <wsdl:output message="tns:response"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="PDB_File_Description_Service_Binding" type="tns:PDB_File_Description_Service_Port"> <http:binding verb="GET"/> <wsdl:operation name="describePDB"> <http:operation location="describePDB"/> <wsdl:input><http:urlEncoded/></wsdl:input> <wsdl:output><mime:mimeXml/></wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="PDB_File_Description_Service"> <wsdl:port name="PDB_File_Description_Service" binding="tns:PDB_File_Description_Service_Binding"> <http:address location="http://www.rcsb.org/pdb/rest/"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
<?xml version="1.0" encoding="UTF-8"?> <description targetNamespace="webservices.pdb.org" xmlns="http://www.w3.org/ns/wsdl" xmlns:tns="webservices.pdb.org" xmlns:wsdl="http://www.w3.org/ns/wsdl" xmlns:whttp="http://www.w3.org/ns/wsdl/http"> <types> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" attributeFormDefault="unqualified" elementFormDefault="unqualified" jaxb:version="2.0"> <xs:annotation> <xs:appinfo> <jaxb:schemaBindings> <jaxb:package name="org.pdb.webservices"/> </jaxb:schemaBindings> </xs:appinfo> </xs:annotation> <xs:element form="unqualified" name="PDBdescription" type="PDBdescription"/> <xs:element form="unqualified" name="PDB" type="PDB"/> <xs:complexType name="PDBdescription"> <xs:sequence> <xs:element form="unqualified" minOccurs="0" name="PDB" type="PDB"/> </xs:sequence> </xs:complexType> <xs:complexType name="PDB"> <xs:attribute name="structureId" type="xs:string"/> <xs:attribute name="title" type="xs:string"/> <xs:attribute name="pubmedId" type="xs:string"/> <xs:attribute name="expMethod" type="xs:string"/> <xs:attribute name="resolution" type="xs:float"/> <xs:attribute name="replaces" type="xs:string"/> <xs:attribute name="keywords" type="xs:string"/> <xs:attribute name="nr_entities" type="xs:int"/> <xs:attribute name="nr_atoms" type="xs:int"/> <xs:attribute name="deposition_date" type="xs:date"/> <xs:attribute name="release_date" type="xs:date"/> <xs:attribute name="last_modification_date" type="xs:date"/> <xs:attribute name="structure_authors" type="xs:string"/> <xs:attribute name="citation_authors" type="xs:string"/> <xs:attribute name="CURRENT" type="xs:string"/> </xs:complexType> </xs:schema> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="webservices.pdb.org" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="webservices.pdb.org"> <xs:element name="request"> <xs:complexType> <xs:sequence> <xs:element name="structureId" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> </types> <interface name="PDB_File_Description_Service_Port"> <operation name="describePDB"> <input xmlns:ns3="webservices.pdb.org" element="ns3:request"/> <ns3:output xmlns:ns3="http://www.w3.org/ns/wsdl" xmlns="" element="PDBdescription"/> </operation> </interface> <binding name="PDB_File_Description_Service_Binding" interface="tns:PDB_File_Description_Service_Port" type="http://www.w3.org/ns/wsdl/http" whttp:methodDefault="GET"> <operation ref="tns:describePDB" whttp:location="describePDB" whttp:outputSerialization="application/xml"> <input/> <output/> </operation> </binding> <service name="PDB_File_Description_Service" interface="tns:PDB_File_Description_Service_Port"> <endpoint name="PDB_File_Description_Service" address="http://www.rcsb.org/pdb/rest/" binding="tns:PDB_File_Description_Service_Binding" /> </service> </description>
------------------------------------------------------------------------------ Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET Get 100% visibility into your production application - at no cost. Code-level diagnostics for performance bottlenecks with <2% overhead Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________ taverna-hackers mailing list [email protected] Web site: http://www.taverna.org.uk Mailing lists: http://www.taverna.org.uk/about/contact-us/ Developers Guide: http://www.taverna.org.uk/developers/
