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 -> WADL

Of 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 Fortner
Alan


------------------------------------------------------------------------------
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/

Reply via email to