OW2 EasyWSDL WSDL manipulation library has just been released. This release fix many bugs and introduces some new tooling such as java2wsdl (create WSDL from Java interfaces) and xsd2xml (create XML from XSD definition).
EasyWSDL is easy since you can manipulate both WSDL 1.1 and WSDL 2.0 with the same object model.
// Read a WSDL 1.1 or 2.0
WSDLReader reader = WSDLFactory.newInstance().newWSDLReader();
Description desc = reader.readWSDL(new URI("http://file/path/document.wsdl"));
// Write a WSDL 1.1 or 2.0 (depend of desc version)
Document doc = WSDLFactory.newInstance().newWSDLWriter().getDocument(desc);
// Create a WSDL 1.1 or 2.0
Description desc11 = WSDLFactory.newInstance().newDescription(WSDLVersionConstants.WSDL11);
Description desc20 = WSDLFactory.newInstance().newDescription(WSDLVersionConstants.WSDL20);
Once the Description object is loaded from the WSDL document, you can maniulate all parts of the service description. Let’s look at endpoints :
// Endpoints take place in services.
// Select a service
Service service = desc.getServices().get(0);
// List endpoints
List endpoints = service.getEndpoints();
// Read specific endpoint
Endpoint specificEndpoint = service.getEndpoint("endpointName");
// Add endpoint to service
service.addEndpoint(specificEndpoint);
// Remove a specific enpoint
service.removeEndpoint("endpointName");
// Create endpoint
Endpoint createdEndpoint = service.createEndpoint();
service.addEndpoint(createdEndpoint);
Easy!
WebService, soa
easywsdl, release, soa, WebService, wsdl
The PEtALS Architecture document I wrote last winter has just been published. You can get it from the OW2 PEtALS web site or read from my slideshare account.
PEtALS
documentation, PEtALS, soa
This news has not been published on the PEtALS Web Site (why?) but yes we now have some SCA (Service Component Architecture) tools available with PEtALS ESB!
This work is a result of the ScorWare project in which eBM WebSourcing was involved in.
The SCA feature is provided in PEtALS by the SCA JBI Service Engine (link to the component and link to the documentation)
The main advantage of SCA over other approaches, like BPEL or EIP, is that you can define the composition with Java instead of XML. The SCA composite defines services, which are exposed in the bus. It also defines references, which point to services that might be called or used by the composite at runtime. These references define possible dependencies. And eventually, your composite embeds a Java implementation which allows you to manipulate the references as simple Java objects. This makes the user job easier, in particular to call a service operation or test conditions on a service call result.
For more details on SCA, on tools and more, take a look at the links below :
- SCA is a specification defined by the Open SOA consortium.
- SCA is in standardization process by the OASIS Consortium.
- OW2 FraSCAti is the SCA platform the SCA service engine is based on.
- Eclipse SCA Tools exist and are hosted by the SOA Tools Platform project. They can be used with the SCA service engine.
- PEtALS Eclipse tools complete the STP SCA tools for PEtALS specifics (PEtALS Maven plug-in support, packaging for PEtALS…).
PEtALS
PEtALS, SCA, soa
The Dragon SOA Governance solution (http://dragon.ow2.org) has just been released. Dragon is a high performance SOA Governance solution. It allows you organize, enforce and reconfigure your Service Oriented infrastructure.
There are a lot of cool features and as you can see in the following figure and one of the main goals is to connect Dragon to existing SOA platforms such as PEtALS ESB (http://petals.ow2.org).

I have worked with the Olivier (the Dragon product leader) to define the connector API and I have implemented it on the PEtALS side.
I hope publish a PEtALS snapshot this month wich will be connected to Dragon… Stay tuned !
Governance, dragon
dragon, Governance, ow2, PEtALS, soa
Here is a series of articles about how to create a JBI Component with the PEtALS Component Development Kit (CDK).
The current one describes how to create the project structure with the PEtALS Maven archetypes, how to use it in Eclipse and how to package it as a JBI component.
Create the project structure
(I assume that Maven is installed and is in the path, if not please refer to the Apache Maven website).
mvn archetype:create
-DarchetypeGroupId=org.ow2.petals
-DarchetypeArtifactId=maven-archetype-petals-jbi-service-engine
-DarchetypeVersion=1.3.0-SNAPSHOT
-DgroupId=com.ebmws.petals
-DartifactId=petals-se-sample
-Dversion=1.0-SNAPSHOT
This will create the standard component structure.
You can check the JBI descriptor in petals-se-sample/src/main/jbi. Note that some fields such as the classpath are automatically filled during the packaging phase from the dependencies specified in your POM descriptor.
Create the Eclipse project
cd petals-se-sample
mvn eclipse:eclipse
In Eclipse, import the project and you will get
Do your business code
Now in the JBIListener class, you can implement the business logic which will be called when a JBI message is received in the activated JBI Endpoind (How to activate endpoint will come in the next article).
For example, just say hello to the world in the JBIListener like this :
Package the component
Simply package it with
mvn install
You will get a ZIP archive in the target directory which is the component you can deploy in PEtALS container
The source of this component are available here http://christophe.hamerling.free.fr/ebm/blog/tuto/cdk/petals-se-sample.zip
PEtALS
jbi, PEtALS, soa