r7 - 26 May 2006 - 11:24:05 - JuneFinchYou are here: myGrid wiki >  Techreq Web  > ComplexTypes

High Level Requirement Specification

Handling Complex Types

Reference Techreq.ComplexTypes
Referenced Use-cases  
Dependencies  
Champion StuartOwen
Status PLANNED for 1.4

  Taverna 1.3 Taverna 2.0
Priority 3  
Rough estimate MONTH WEEK(s)

Overview

Currently services that require complex types as an input simply provide an input of type 'text/xml' without giving an further information about the type required. This requirement is to be able to query the type the service requires, add UI improvements to portray this information, and naturally be able to invoke the service.

Its likely that some services will never be supported because of difficulties in handling some types of messaging. This includes mainly RPC/encoded style services. Whilst keeping this at a minimum some feedback is required to the user to warn about services that may not work as expected.

Overall Goals

To be able to parse the WSDL and extract information about the input type information. To be able to traverse the complex type required by a service to mulitple levels within the UI, down to the primative types that can be assigned values by the workflow designer.

Mirroring this, a similar technique is required for drilling down to the interesting data within the XML output representing complex types returned by a service.

To be able to handle document/literal and RPC/literal services, and handle RPC/encoded services as much as possible.

Handling of arrays, and arrays of complex types, and complex types that contain arrays!

A service validation service, and mechanism for reporting to the user a warning about particularly troublesome services. A ciriteria for this could be conforming to the WS-I standards.

Assessment

Affected Components

Taverna Workbench

Key Tasks

  • Parse the WSDL to extract type information.
  • Modifications to the UI to reflect the type information (adding an upstream processor that splits the XML to a single level)
  • A validation component, that detects troublesome services and reports back to the user with a meaningful warning. This should be designed in a way that it is easily modified as the processor evolves to be able to handle additional types of services.
  • Invoke the service with XML generated from the types and their values.
  • Repeat the above for outputs in a similar way.
  • All requirments require testing, but this in particular needs a solid and extensible testing framework to allow regular testing of all the types of web services available.

Appendix

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r7 < r6 < r5 < r4 < r3 | More topic actions
 
Powered by myGrid wiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding myGrid wiki? Send feedback