You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Charles Souillard <Ch...@ext.bull.net> on 2006/03/02 08:39:54 UTC

SE Architecture

Hi all,

I have a very important question about the JBI compliance. I hope 
someone would know the answer !

I read many times the JBI spec and I never found the answer...
In fact, it is written : (4.3 High-Level Achitecture) :
The JBI environment exists within a single JVM. External to the JBI 
environment are service consumers and providers.

My question is :
Is it forbidden to install a SE acting like a proxy to a remote 
application ?
It means, the SE will execute the exposed service by calling (via rmi or 
http for example) a remote java application.
In this case, the JBI container and the java app (provider) are running 
in different JVMs.

                                         JVM 
1                                                                                 
JVM 2
____________________________________________________
|                                      
__________                            |                             
__________________________
|                                     |                
|                           |                           
|                                           |
|                                     |      SE     | 
---------------------------------------------------> |   Java app 
providing the  |
|                                     
|__________|                           |                           
|       business service        |
|    __________________________________________           
|                           |___________________________|
|    |                                                                  
|          |
|    |                      JBI container                      |           |
|    |_________________________________________|           |
|                                                                                  
|
|                                                                                  
|
|____________________________________________________|

My feeling is that nothing in the spec is telling that this case is wrong.

Thanks a lot for your advices.

Charles

Re: SE Architecture

Posted by Guillaume Nodet <gn...@gmail.com>.
AH ok,

yes i think this is fine. The only downside is that you will loose the xa
transaction support in SM.  Not much of a problem if you don't use them.

Guillaume

On 3/2/06, Charles Souillard <Ch...@ext.bull.net> wrote:
>
> Hi Guillaume,
>
> thanks for your answer.
> In fact I don't want to call an external ws.
> My BPEL Engine is running on a J2EE app server which is not yet
> integrated with SM.
> What I want to do is to install a SE on SM which will act as a proxy
> between the JBI container and my BPEL engine.
> Thanks to SM, my BPEL engine is available on the bus (through the SE).
> My SE is in charge to route each message coming from the NMR to my BPEL
> Engine which is running outside the SM JVM. I get back the reply (if
> there is one) and I send the exchange to the NMR...
> When I want to call an external WS from my BPEL engine, I call the SE
> which call a BC...
>
> Is that right ?
>
> Thanks
> Charles
>
> Guillaume Nodet wrote:
>
> >I guess, you want your bpel engine to call external services, right ?
> >I do not think it is forbidden, though i do think this is not the best
> way,
> >because you will loose the possibility to have several interactions
> >(transformation or whatever) before reaching the final service and
> >the external services won't be able to be called by other SEs.
> >This is against the "spirit" of the spec, but not against the programming
> >model.
> >
> >The "right" way to do that is to have a BC between the SE and the
> external
> >service.  At the end, if your BPEL engine receives http requests and
> sends
> >http requests, you do really need jbi ;)
> >
> >Cheers,
> >Guillaume Nodet
> >
> >On 3/2/06, Charles Souillard <Ch...@ext.bull.net> wrote:
> >
> >
> >>Hi all,
> >>
> >>I have a very important question about the JBI compliance. I hope
> >>someone would know the answer !
> >>
> >>I read many times the JBI spec and I never found the answer...
> >>In fact, it is written : (4.3 High-Level Achitecture) :
> >>The JBI environment exists within a single JVM. External to the JBI
> >>environment are service consumers and providers.
> >>
> >>My question is :
> >>Is it forbidden to install a SE acting like a proxy to a remote
> >>application ?
> >>It means, the SE will execute the exposed service by calling (via rmi or
> >>http for example) a remote java application.
> >>In this case, the JBI container and the java app (provider) are running
> >>in different JVMs.
> >>
> >>                                         JVM
> >>1
> >>JVM 2
> >>____________________________________________________
> >>|
> >>__________                            |
> >>__________________________
> >>|                                     |
> >>|                           |
> >>|                                           |
> >>|                                     |      SE     |
> >>---------------------------------------------------> |   Java app
> >>providing the  |
> >>|
> >>|__________|                           |
> >>|       business service        |
> >>|    __________________________________________
> >>|                           |___________________________|
> >>|    |
> >>|          |
> >>|    |                      JBI container                      |
> >>|
> >>|    |_________________________________________|           |
> >>|
> >>|
> >>|
> >>|
> >>|____________________________________________________|
> >>
> >>My feeling is that nothing in the spec is telling that this case is
> wrong.
> >>
> >>Thanks a lot for your advices.
> >>
> >>Charles
> >>
> >>
> >>
> >
> >
> >
>

Re: SE Architecture

Posted by Charles Souillard <Ch...@ext.bull.net>.
Hi Guillaume,

thanks for your answer.
In fact I don't want to call an external ws.
My BPEL Engine is running on a J2EE app server which is not yet 
integrated with SM.
What I want to do is to install a SE on SM which will act as a proxy 
between the JBI container and my BPEL engine.
Thanks to SM, my BPEL engine is available on the bus (through the SE). 
My SE is in charge to route each message coming from the NMR to my BPEL 
Engine which is running outside the SM JVM. I get back the reply (if 
there is one) and I send the exchange to the NMR...
When I want to call an external WS from my BPEL engine, I call the SE 
which call a BC...

Is that right ?

Thanks
Charles

Guillaume Nodet wrote:

>I guess, you want your bpel engine to call external services, right ?
>I do not think it is forbidden, though i do think this is not the best way,
>because you will loose the possibility to have several interactions
>(transformation or whatever) before reaching the final service and
>the external services won't be able to be called by other SEs.
>This is against the "spirit" of the spec, but not against the programming
>model.
>
>The "right" way to do that is to have a BC between the SE and the external
>service.  At the end, if your BPEL engine receives http requests and sends
>http requests, you do really need jbi ;)
>
>Cheers,
>Guillaume Nodet
>
>On 3/2/06, Charles Souillard <Ch...@ext.bull.net> wrote:
>  
>
>>Hi all,
>>
>>I have a very important question about the JBI compliance. I hope
>>someone would know the answer !
>>
>>I read many times the JBI spec and I never found the answer...
>>In fact, it is written : (4.3 High-Level Achitecture) :
>>The JBI environment exists within a single JVM. External to the JBI
>>environment are service consumers and providers.
>>
>>My question is :
>>Is it forbidden to install a SE acting like a proxy to a remote
>>application ?
>>It means, the SE will execute the exposed service by calling (via rmi or
>>http for example) a remote java application.
>>In this case, the JBI container and the java app (provider) are running
>>in different JVMs.
>>
>>                                         JVM
>>1
>>JVM 2
>>____________________________________________________
>>|
>>__________                            |
>>__________________________
>>|                                     |
>>|                           |
>>|                                           |
>>|                                     |      SE     |
>>---------------------------------------------------> |   Java app
>>providing the  |
>>|
>>|__________|                           |
>>|       business service        |
>>|    __________________________________________
>>|                           |___________________________|
>>|    |
>>|          |
>>|    |                      JBI container                      |
>>|
>>|    |_________________________________________|           |
>>|
>>|
>>|
>>|
>>|____________________________________________________|
>>
>>My feeling is that nothing in the spec is telling that this case is wrong.
>>
>>Thanks a lot for your advices.
>>
>>Charles
>>
>>    
>>
>
>  
>

Re: SE Architecture

Posted by Guillaume Nodet <gn...@gmail.com>.
I guess, you want your bpel engine to call external services, right ?
I do not think it is forbidden, though i do think this is not the best way,
because you will loose the possibility to have several interactions
(transformation or whatever) before reaching the final service and
the external services won't be able to be called by other SEs.
This is against the "spirit" of the spec, but not against the programming
model.

The "right" way to do that is to have a BC between the SE and the external
service.  At the end, if your BPEL engine receives http requests and sends
http requests, you do really need jbi ;)

Cheers,
Guillaume Nodet

On 3/2/06, Charles Souillard <Ch...@ext.bull.net> wrote:
>
> Hi all,
>
> I have a very important question about the JBI compliance. I hope
> someone would know the answer !
>
> I read many times the JBI spec and I never found the answer...
> In fact, it is written : (4.3 High-Level Achitecture) :
> The JBI environment exists within a single JVM. External to the JBI
> environment are service consumers and providers.
>
> My question is :
> Is it forbidden to install a SE acting like a proxy to a remote
> application ?
> It means, the SE will execute the exposed service by calling (via rmi or
> http for example) a remote java application.
> In this case, the JBI container and the java app (provider) are running
> in different JVMs.
>
>                                          JVM
> 1
> JVM 2
> ____________________________________________________
> |
> __________                            |
> __________________________
> |                                     |
> |                           |
> |                                           |
> |                                     |      SE     |
> ---------------------------------------------------> |   Java app
> providing the  |
> |
> |__________|                           |
> |       business service        |
> |    __________________________________________
> |                           |___________________________|
> |    |
> |          |
> |    |                      JBI container                      |
> |
> |    |_________________________________________|           |
> |
> |
> |
> |
> |____________________________________________________|
>
> My feeling is that nothing in the spec is telling that this case is wrong.
>
> Thanks a lot for your advices.
>
> Charles
>