From Linux to Mac OS X – Tip 1 : The Aliases

11/03/2009 Aucun commentaire

Here are a serie of tips when developing under Mac OS X after mostly 8 years in the Linux word.

First tip : The aliases in the Terminal (because I really think that the Terminal is cool :o ) )

1. Create a .profile file in your $HOME folder
cd $HOME
touch .profile

2. Add aliases in this .profile file
pico .profile
and then syntax is alias foo=’bar’. For example, here are some of my aliases :
alias tx=’open /Applications/TextEdit.app/’
alias mvn2=’/Users/chamerling/Developpement/bin/mvn/apache-maven-2.0.10/bin/mvn’
alias meclipse=’mvn2 eclipse:eclipse’
alias mpetals=’mvn2 archetype:generate -DarchetypeCatalog=http://petals.ow2.org’

Share and Enjoy:
  • Digg
  • Google Bookmarks
  • del.icio.us
  • Facebook
  • StumbleUpon
  • email
Categories: Non classé Tags:

My Son

16/02/2009 Aucun commentaire

I was offline for the past 3 weeks since my first son, Loris, was born on January 27th at 4:55 am. Even if I am very tired, this is a really extraordinary experience and I am back!

LIfe is really cool

Share and Enjoy:
  • Digg
  • Google Bookmarks
  • del.icio.us
  • Facebook
  • StumbleUpon
  • email
Categories: Non classé Tags:

OW2-Dragon connected to OW2-PEtALS

16/01/2009 Aucun commentaire

This blog entry is about how to use the OW2-Dragon SOA Governance with the OW2-PEtALS ESB.

Thanks to the flexible Fractal architecture PEtALS is based on, I have implemented the Dragon API and integrated it into a custom PEtALS distribution.

Here are some screenshots of my tests, I used the JSR181 Service Engine (based on PEtALS CDK and Axis2) to ‘quickly’ create a collection of JBI services with real WSDL descriptions which will be used in Dragon.

All the resources needed (PEtALS, Dragon and JBI artifacts) and their download links are listed at the bottom of this article.

At startup, PEtALS exposes the Dragon API implementation as a web service at http://localhost:9001/petals/ws/DragonService. This address is the one which as to used to fill the ‘Add Runtime Manager’ Dragon section.

Figure 1 – Configure Connector Service

When submitting, Dragon retrieves the PEtALS runtime manager properties and need to synchronize the execution environments to get an updated view of all the containers and their services.

Figure 2 – Sysnchronize execution environments

After synchronization, the Dragon tool has retrieved all the services definitions which are hosted by the PEtALS container. All all this is now referenced in the Dragon registry. For more details on Dragon features, you can get the Dragon user manual here : http://dragon.ow2.org/doc/doc-en/dragon-userguide-0.9.1.pdf .

Figure 3 – List of hosted Services on PEtALS

I just did a quick test and try to search all the services which have an operation which starts by ‘get’. Going to the ‘Search Service’ section and entering ‘get*’ in the search field returns me a list of compliant services.

Figure 4 – Searching Services
Figure 5 – Search results
By Clicking on a service I just search at, I am now able to see all its properties and its original WSDL file.
Figure 6 – WSDL description

Resources

The Dragon Web Application : http://download.forge.objectweb.org/dragon/dragon-0.9.1.war

The PEtALS-Dragon Enabled standalone distribution : http://maven.objectweb.org/maven2-snapshot/org/ow2/petals/petals-standalone-dragon/1.0-SNAPSHOT/petals-standalone-dragon-1.0-20090116.150059-1-light.zip

The JSR181 Service engine : http://maven.objectweb.org/maven2-snapshot/org/ow2/petals/petals-se-jsr181/1.1-SNAPSHOT/petals-se-jsr181-1.1-20090116.152803-72.zip

The Service Assembly : http://maven.objectweb.org/maven2-snapshot/org/ow2/petals/su/jsr181/sa-jsr181-collection/1.0-SNAPSHOT/sa-jsr181-collection-1.0-20090116.151044-1.zip

Share and Enjoy:
  • Digg
  • Google Bookmarks
  • del.icio.us
  • Facebook
  • StumbleUpon
  • email
Categories: Non classé Tags:

New SOA Governance Solution : OW2-Dragon

14/01/2009 Aucun commentaire

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 !

Share and Enjoy:
  • Digg
  • Google Bookmarks
  • del.icio.us
  • Facebook
  • StumbleUpon
  • email
Categories: dragon, Governance Tags: , , , ,

I am on Twitter

13/01/2009 Aucun commentaire

You can now follow me on Twitter : http://twitter.com/chamerling

Share and Enjoy:
  • Digg
  • Google Bookmarks
  • del.icio.us
  • Facebook
  • StumbleUpon
  • email
Categories: Non classé Tags:

PEtALS November Releases

28/11/2008 Aucun commentaire

Here are the latest PEtALS releases :

  • petals-se-xslt-2.2.2 : Transform messages
  • petals-se-validation-0.9 : Validate messages payload
  • petals-bc-ftp-3.0 : Expose FTP server as service
  • petals-bc-mail-3.0 : Send/receive mails
  • petals-se-eip-2.3 Enterprise Integration Patterns for light orchestration
  • petals-bc-filetransfer-2.2 : Transfer files
  • petals-jbi-ext-1.0.0 : JBI specification extensions
  • petals-cdk-jbidescriptor-1.1.1 : CDK level JBI descriptors manipulation
  • petals-cdk-api-1.0.2 : CDK API…
  • petals-cdk-core-4.0.6 : THE Component Development Kit

Get all of this stuff on http://petals.ow2.org

Share and Enjoy:
  • Digg
  • Google Bookmarks
  • del.icio.us
  • Facebook
  • StumbleUpon
  • email
Categories: Non classé Tags:

PEtALS Distributed Service Bus Illustrated

28/11/2008 Aucun commentaire

Here are some slides extracted from a SOA4All presentation I gave last month in a technical meeting. It introduces the distributed aspects of PEtALS and also give some deployment and orchestration samples.



Share and Enjoy:
  • Digg
  • Google Bookmarks
  • del.icio.us
  • Facebook
  • StumbleUpon
  • email

JSR181 Tip#1

26/11/2008 Aucun commentaire

Here is a tip on the PEtALS JSR181 Service Engine (which is also available for all JSR181 annotated classes outside of PEtALS).

Today, I spent some time on a customer bug which was not really a bug… I was quite surprising when he said me that he was unable to get its annotated class working on the component. The error was at instantiation time (first JBI message handling) :

org.apache.axis2.AxisFault: The service is unable to load the foo.bar.Service service implementation class. at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) at org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:220) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) at org.ow2.petals.se.jsr181.JBIListener.onJBIMessage(JBIListener.java:120) at org.ow2.petals.component.framework.listener.MessageExchangeProcessor.processInOutAsProvider(MessageExchangeProcessor.java:524) at org.ow2.petals.component.framework.listener.MessageExchangeProcessor.processAsProvider(MessageExchangeProcessor.java:421) at org.ow2.petals.component.framework.listener.MessageExchangeProcessor.process(MessageExchangeProcessor.java:308) at org.ow2.petals.component.framework.listener.MessageExchangeProcessor.run(MessageExchangeProcessor.java:145) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) Caused by: javax.xml.ws.WebServiceException: The service is unable to load the org.ow2.petals.usecase.jsr181.TestService service implementation class. at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:173) at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:70) at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:118) at org.apache.axis2.jaxws.server.endpoint.lifecycle.impl.EndpointLifecycleManagerImpl.createServiceInstance(EndpointLifecycleManagerImpl.java:242) at org.apache.axis2.jaxws.server.endpoint.lifecycle.impl.EndpointLifecycleManagerImpl.createServiceInstance(EndpointLifecycleManagerImpl.java:94) at org.apache.axis2.jaxws.server.ServiceInstanceFactoryImpl.createServiceInstance(ServiceInstanceFactoryImpl.java:49) at org.apache.axis2.jaxws.server.EndpointController.handleRequest(EndpointController.java:253) at org.apache.axis2.jaxws.server.EndpointController.invoke(EndpointController.java:98) at org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:159) … 9 more

So what? I launched PEtALS in debug mode, and going step by step until the foo.bar.Service class instantiation. ‘Hey what’s up InstanciationException?’.
This is simply because the foo.bar.Service class contains constructors and not the empty one!

The solution is to remove all the constructors which are not very usefull here (since they can not be used), or add an empty constructor. Now it works!

Share and Enjoy:
  • Digg
  • Google Bookmarks
  • del.icio.us
  • Facebook
  • StumbleUpon
  • email

Creating a JBI Component with PEtALS CDK (Part 1)

24/10/2008 un commentaire

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

Share and Enjoy:
  • Digg
  • Google Bookmarks
  • del.icio.us
  • Facebook
  • StumbleUpon
  • email
Categories: PEtALS Tags: , ,

September 08 : PEtALS ESB releases

25/09/2008 Comments off
September is generally the month of major PEtALS releases. But this year, it is not the case...
We have decided to delay the next major PEtALS release to the end of the year, this is simply because we have lot of things to deal around PEtALS : Customers, French and European research projects (http://www.ebmwebsourcing.com/partenaires/partenaires-recherche.html?lang=en ), ...

So, don't be worry, PEtALS v3.0 will be great, PEtALS v4.0 will be...

While working on these other things, here are some release we have done this month :
  • Standalone distribution 2.2.1 : Bugfix and stability again
  • Component Development Kit 4.0.3
  • Updated JBI components such as SOAP (now with REST support), POJO, XQUARE (JDBC), XSLT, EIP...
  • Initial release of the BPEL component based on Orchestra (http://orchestra.ow2.org )

The website has been updated, a forum has been added (http://petals.objectweb.org/forum.html).


Categories: Non classé Tags: