Sure :-)
The goal is to be JBI compliant.  But the short term and first step is to be
able to deploy the JBI components and sample applications from ServiceMix
3.x.  To do that, I have recently added to the builds in smx3 the
servicemix-shared-compat shared library which contains everything needed for
servicemix jbi components (servicemix-shared only contains jars that are not
included in the container classpath by default).
Using the offline tool that you've just patched, we should be able to
convert the JBI artifacts (components, shared libraries and service
assemblies).  These transformed components should be able to be deployed by
copying them in the deploy directory of smx4.
These task involves three different modules:
  * the offline tool
  * the deployment bundle
  * the jbi runtime
You've already worked on the first one.  The deployment tool need to be
enhanced to deploy service assemblies (this has not been written yet).  Take
a look at
http://svn.apache.org/repos/asf/servicemix/branches/servicemix-4.0/jbi/deployer/src/main/java/org/apache/servicemix/jbi/deployer/impl/Deployer.java
Once the SAs are deployed onto smx4, we need to ensure that they work
correctly: the jbi api must be correctly implemented (we can discard the
management apis for the time being), which means exchanges are sent to the
correct target endpoint, the exchange status are correctly updated, etc...
The basics should work, as I've already written an integration test that
deploys servicemix-shared-compat, servicemix-eip and send an exchange to it.

To sum up, the first thing is to write the SA deployment code and make some
real tests using the servicemix 3.x examples (they should run, not only
deploy).
Also, I'd like to make sure Ode can be deployed, but this is related to
SM-1070 which is assigned to Santosh (not sure if he is still willing to
help on that).

The deployment of SAs involves several things, as described in the JBI
specification (you should read the section about deployment, which is at the
end of the spec iirc).  The steps are:
  * check everything is ok (components exists and they are started)
  * extract the SA to an internal folder ([smx-home]/jbi/sas for example)
and extract each service unit inside the sa
  * retrieve jbi component (retrieved from the osgi registry), retrieve
their ServiceUnitManager, call the deploy method
  * register a ServiceAssembly object in the osgi registry with lifecycles
methods (init, start, stop, shutdown) implemented by calling the
corresponding methods on the ServiceUnitManager
Feel free to take a look and copy some code from smx3 or ask any
questions...

On Nov 30, 2007 4:42 PM, Jeff Yu (JIRA) <[EMAIL PROTECTED]> wrote:

>
>    [
> https://issues.apache.org/activemq/browse/SM-1091?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_40763]
>
> Jeff Yu commented on SM-1091:
> -----------------------------
>
> Can someone help me elaborate this task, I'm interested in the JBI
> compatibility layer on SMX 4.0.
>
>
> > Deployment bundle for JBI artifacts
> > -----------------------------------
> >
> >                 Key: SM-1091
> >                 URL: https://issues.apache.org/activemq/browse/SM-1091
> >             Project: ServiceMix
> >          Issue Type: New Feature
> >            Reporter: Guillaume Nodet
> >            Assignee: Jeff Yu
> >             Fix For: 4.0
> >
> >
>
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>


-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Reply via email to