You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Stefan Freyr Stefansson <st...@hugsmidjan.is> on 2005/12/16 15:12:57 UTC

A few beginners questions (ServiceMix and SOA in general)

Hello.

I'm new to the whole SOA community including fundamental things such as web 
services in Java so please be kind.

I'm trying to get started but I'm overwhelmed with all the acronyms, standards 
and general reading material. There's a lot of talk about idealistic 
situations but it seems to be a lot harder to find tangible solutions and 
examples.

That being said I have stubled across some things that have looked promising. 
JBI for instance seems to be catching on and ServiceMix, PXE, XFire and 
probably some other projects look promising.

But on to the questions:

1) The difference between JBI and ESB? I have an idea but I'm not quite sure 
if it's the right one. My idea is that JBI is a specification while ESB is 
more of a general idea. ServiceMix then uses the JBI specification to 
implement the idea of an ESB. I heard somewhere that ServiceMix uses JBI for 
components plugging into the ESB which is also the case with many other ESB 
implementations such as Mule, but the difference with ServiceMix is that it 
also uses JBI "internally". I'm not quite getting this so if anyone cares to 
explain this a bit I'd appreciate it.

2) Integration. Ok, so I need (in the end) to integrate ServiceMix into 
Tomcat. Currently that is our situation but in the future we might be moving 
towards Geronimo or some other EJB container. So I've taken a look at the 
http://servicemix.org/Tomcat+Integration and that looks reasonable. But the 
only thing bothering me is that the instructions do not tackle the problem of 
adding new "members" to the ESB (sorry if I'm not using the correct 
terminology) after deployment. The instructions compile ServiceMix from 
source which creates a WAR file and this file is deployed to Tomcat and then 
what? How do I add my PXE BPEL engine to that ServiceMix ESB instance? How do 
I specify that this newly added ESB member should handle all messages of this 
or that type? There seems to be no easy way of configuring this ESB without 
extracting the WAR, changing some config files and re-packaging it. Am I 
misunderstanding something?

3) BPEL deployment. I know, a bit off topic for this but it relates to the 
general idea of having interchangeable BPEL engines connected to ServiceMix. 
What I'm wondering is the general form of a BPEL deployment "entity". Can you 
point me to some reference where the structure of a BPEL "entity" is 
explained generally (that is, not specific to a single implementation of a 
BPEL engine). This is basically what is giving me the most headache, I can't 
quite get my head around how the deployment of ServiceMix so that I can 
easily add new ESB components when needed and still keep those components 
(such as BPEL, a web service engine, etc) easily configurable so that I can 
add components to them. I hope I'm making myself understood here.

4) The only thing that worries me is that I've been subscribed to this mailing 
list for a few days now and in that time it has received something like 3 
questions but not one answer to them. Is this something that I should worry 
about or does it just so happen that things are a bit slow before 
Christmas ;o)

I hope someone can shed some light on these questions for me.

Kind regards, Stefan Freyr.

Re: A few beginners questions (ServiceMix and SOA in general)

Posted by James Strachan <ja...@gmail.com>.
Hi Stefan

On 16 Dec 2005, at 14:12, Stefan Freyr Stefansson wrote:
> Hello.
>
> I'm new to the whole SOA community including fundamental things  
> such as web
> services in Java so please be kind.
>
> I'm trying to get started but I'm overwhelmed with all the  
> acronyms, standards
> and general reading material. There's a lot of talk about idealistic
> situations but it seems to be a lot harder to find tangible  
> solutions and
> examples.
>
> That being said I have stubled across some things that have looked  
> promising.
> JBI for instance seems to be catching on and ServiceMix, PXE, XFire  
> and
> probably some other projects look promising.
>
> But on to the questions:
>
> 1) The difference between JBI and ESB? I have an idea but I'm not  
> quite sure
> if it's the right one. My idea is that JBI is a specification while  
> ESB is
> more of a general idea.

Agreed. JBI is kind an API to ESB components. Though ESB is a kinda  
fuzzy word (as is SOA) so lots of people claim lots of things as  
being SOA or ESBs.


> ServiceMix then uses the JBI specification to
> implement the idea of an ESB. I heard somewhere that ServiceMix  
> uses JBI for
> components plugging into the ESB which is also the case with many  
> other ESB
> implementations such as Mule,

Not quite; Mule traditionally is built around an API called Mule UMO  
which is quite different to JBI - though recently Mule has been  
adding JBI support.


> but the difference with ServiceMix is that it
> also uses JBI "internally". I'm not quite getting this so if anyone  
> cares to
> explain this a bit I'd appreciate it.

SeviceMix started life as a JBI container; so its a full  
implementation of the JBI container, normalized message router and  
then a suite of JBI components. Mule started out well before JBI  
existed and built its own infrastructure and APIs around the Mule UMO  
model. Since then Mule has been increasingly becoming more JBI  
friendly. I'm not sure if Mule have a JBI container yet though, but  
they certainly can deploy as a JBI component. More detail here...
http://servicemix.org/How+does+ServiceMix+compare+to+Mule


> 2) Integration. Ok, so I need (in the end) to integrate ServiceMix  
> into
> Tomcat.

Firstly Geronimo has already done that for you; integrating Tomcat  
and ServiceMix together into one container....


> Currently that is our situation but in the future we might be moving
> towards Geronimo or some other EJB container. So I've taken a look  
> at the
> http://servicemix.org/Tomcat+Integration and that looks reasonable.  
> But the
> only thing bothering me is that the instructions do not tackle the  
> problem of
> adding new "members" to the ESB (sorry if I'm not using the correct
> terminology) after deployment.

Once ServiceMix is deployed inside some JVM (be it J2SE, a web  
container or full J2EE stack) you can then deploy new components into  
it via JMX or the Ant tasks.
http://servicemix.org/Ant+Tasks

Or the simplest option is you can drop JBI deployment units in the  
installation directory.
http://servicemix.org/Configuration


> The instructions compile ServiceMix from
> source which creates a WAR file and this file is deployed to Tomcat  
> and then
> what? How do I add my PXE BPEL engine to that ServiceMix ESB  
> instance? How do
> I specify that this newly added ESB member should handle all  
> messages of this
> or that type? There seems to be no easy way of configuring this ESB  
> without
> extracting the WAR, changing some config files and re-packaging it.  
> Am I
> misunderstanding something?
>
> 3) BPEL deployment. I know, a bit off topic for this but it relates  
> to the
> general idea of having interchangeable BPEL engines connected to  
> ServiceMix.
> What I'm wondering is the general form of a BPEL deployment "entity".

A JBI deployment unit. Have a play with the BPEL example which uses  
PXE as a JBI deployment unit...

http://servicemix.org/BPEL+example

> Can you
> point me to some reference where the structure of a BPEL "entity" is
> explained generally (that is, not specific to a single  
> implementation of a
> BPEL engine). This is basically what is giving me the most  
> headache, I can't
> quite get my head around how the deployment of ServiceMix so that I  
> can
> easily add new ESB components when needed and still keep those  
> components
> (such as BPEL, a web service engine, etc) easily configurable so  
> that I can
> add components to them. I hope I'm making myself understood here.

Yes. There are 2 main sets of users with ServiceMix; those who use  
JBI deployment units, or those who tend to wire stuff together in one  
single class loader (maybe a JVM or WAR) using Spring. Its sounding  
like you want the former.

> 4) The only thing that worries me is that I've been subscribed to  
> this mailing
> list for a few days now and in that time it has received something  
> like 3
> questions but not one answer to them. Is this something that I  
> should worry
> about or does it just so happen that things are a bit slow before
> Christmas ;o)

With travel to/from apachecon and the Apache list being quite new,  
its taking a little while for folks to get up to speed. If you want  
to see how active we've been up to now try...

http://news.gmane.org/gmane.comp.java.servicemix.devel
http://news.gmane.org/gmane.comp.java.servicemix.user
http://forums.logicblaze.com/forums/show/3.page

James
-------
http://radio.weblogs.com/0112098/