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
>