Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

STP Toolbox

Revision as of 08:05, 11 February 2009 by Unnamed Poltroon (Talk) (New page: It often happens that projects have common needs regarding some specific tasks.<br /> STP is probably concerned by this statement.<br /> Here is a discussion about tools that could be shar...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

It often happens that projects have common needs regarding some specific tasks.
STP is probably concerned by this statement.
Here is a discussion about tools that could be shared among components and sub-projects of STP.


Use Cases

Those are STP use cases in which there are tools that could be used in other projects.

SCA Tools

Reference any web service (or JBI endpoint) in an SCA application. Meaning that the only thing you have for an SCA reference interface is a WSDL file. It's about wsdl2java transformations. In SCA tools, we are only focused on Java implementations for the moment. So, we need something simple to create the java interfaces from WSDLs, so that our Java implementation can compile.

For SCA, it would be better to not have data-binding elements. That would add dependencies to our implementation and complexity in usage. As an example, if you use JAXB, you have to use the associated factories to create objects. "Real" web services have complex messages in general, not just simple types like string. A developer would prefer makes a "new Bean()" instead of using the JAXB factory to create it. In particular when message beans have a high degree of imbrication.

For the moment, the most simple approach Vincent found with Eclipse for this se case, is using the WTP "create a web service client" wizard, with a "developer" level. It generates the beans and some useless things for us, the stub, the locator... Then, the user has to manually remove these extra-classes and remove the code parts that depend on Axis (which are "hidden" in the bottom of the beans).

Vincent is thinking to make some better front-end solution, relying on WTP and cleaning automatically these classes. The thing is that we have very specific needs in SCA.


Ideas of Tools

WSDL manipulation

Some of the following features may already be available in Eclipse WSTP.


Several tools work with WSDL files. But they are not already available in Eclipse or easily usable (Maven, ANT scripts or code dependencies). Sometimes also, they are just intended for the scope of these projects, while others would be glad to reuse these features.

Here is a list of features that would be nice to have:

  • WSDL parsng and writing: be able to parse and write any WSDL (WSDL 1.1 and 2.0).
  • wsdl2java: convert WSDL files in Java interfaces. Be able to choose the data-binding and other settings.
  • java2wsdl: create WSDL files from a Java interface. Be able to define the generation settings.
  • WSDL import: import remote or local WSDL files, with all their dependencies (import also the WSDL related resources - XSDs, other WSDLs...).
  • WSDL browsing: make a WSDL explorer (provide a nice UI to explore WSDLs).


Ontology

SCA Tools

In SCA, we would like to be able to semantically annotate SCA composites.\\ It consists in adding SAWSDL annotations on XML elements.\\ For this, we 'd like to have a view that allows to load *.owl files (or other ontology files) and search for semantic concepts.\\ Once the user has found the concept he wanted, he can dragged and dropped it from the search view to the SCA element to annotate.


Existing Tools

WSDL-related tools

Here is a small list existing tools working with WSDLs. This list is not exhaustive. Feel free to complete it.


  • wsdl4j

wsdl4j is a WSDL parser for WSDL 1.1. Handle parsing and writing.

Link: http://sourceforge.net/projects/wsdl4j


  • Apache Woden

Woden is an Apache project for WSDL 2.0. Can convert WSDL 1.1 to WSDL 2.0. Parsing works. The last time I checked, the writing was not supported.

Link: http://ws.apache.org/woden/


  • EasyWSDL

A new OW2 project to manipulate WSDL 1.1 and 2.0.

Link: https://www.ohloh.net/p/easywsdl (no official page yet, only the forge seems available). http://svn.forge.objectweb.org/cgi-bin/viewcvs.cgi/easywsdl/


  • Apache CXF

Provides wsdl2java and java2wsdl libraries. They can be called from Java code (=> dependency), ANT tasks and Maven. Handles JAX-B binding and WSDL 1.1.

Links: http://cxf.apache.org/ http://cwiki.apache.org/CXF20DOC/wsdl-to-java.html http://cwiki.apache.org/CXF20DOC/java-to-wsdl.html http://cwiki.apache.org/CXF20DOC/java-to-ws.html


  • Apache Axis

Provides wsdl2java and java2wsdl libraries. Axis databinding and WSDL 1.1.

Link: http://ws.apache.org/axis/


  • Apache Axis2

Provides wsdl2java and java2wsdl libraries.

Provides a java2wsdl library and can create clients from a WSDL. Has an Eclipse plug-in to use from Eclipse. Covers WSDL 1.1, 2.0. Data-binding: AXIOM, ADB, XML Beans, JiBX.

Link: http://ws.apache.org/axis2/


  • Eclipse WTP

Eclipse WTP provides a WSDL editor, wizards and a "front-end" for Axis. Also uses Axis2 but I don't know how.

Links: http://www.eclipse.org/webtools/ http://www.eclipse.org/webtools/ws/


  • Eclipse WTP Incubator

The former Service Creation from STP has now moved in the WTP incubator. It deals with JAX-WS. So it must have things related to WSDLs.

Links: http://www.eclipse.org/webtools/incubator/ http://wiki.eclipse.org/JAXWS


  • BPEL Designer

The BPEL Designer provides some tools to easily orchestrate web services and extract WSDL information (in particular for the operation messages). Define XPath conditions from the XML schemas contained in the WSDL.

Link: http://www.eclipse.org/bpel/

Back to the top