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/01/11 16:01:49 UTC

general JBI Question

Hi all,

I have a general question about JBI use.

Is it possible to "enter" in the JBI container by another way as by 
calling a BC which will transfer the message to the NMR and then call a 
SE...

In fact when you have a look at the following picture designed by sun 
(http://java.sun.com/developer/technicalArticles/WebServices/soa/fig4.gif), 
we think it is possible for example to enter the NMR through an EJB.

I hope my question is clear...

Thanks,
Regards,
Charles

Re: general JBI Question

Posted by Guillaume Nodet <gu...@worldonline.fr>.
I'll try to answer all your questions.
Tell me if I forgot one ;)

The only JBI compliant way to access the JBI bus are
  * sending a message through a Binding Component
  * using an existing DeliveryChannel
The second option is usually done when inside an existing component.
The default ServiceMix client uses this way, but creates a lightweight 
component to obtain a
DeliveryChannel : this means it can only be used within the same jvm.
The remote ServiceMix client can be used when the jms flow is used on 
the ServiceMix container:
it creates a lightweight clustered container to communicate with the 
other container.

Accessing the JBI bus from a servlet or an EJB must be done through a 
BC, unless you can have a direct access
to the JBIContainer object (if you embed it in a web app for example).  
We should provide a better way to do that :
i think we could put an interface in the jndi context so that everyone 
will be able to communicate with the
container using a client api.

Accessing external resources (EJBs, JDBC) from JBI is one of the goal of 
the JBI spec.
Currently, we do not have specific components to do so, but you should 
be able to do that, with a bit of configuration:
spring comes with proxies to access EJB, so that you could leverage them 
and use an existing component like
the org.apache.servicemix.components.reflection.ReflectionOutBinding or 
the new servicemix-jsr181 component.
We do not have a JDBC related component yet, but you can easily create a 
component and hit the database in the usual
way.

I am not sure to understand the last question about MDBs.  AFAIK, MDB 
are "Message Driven Bean", so if your MDB
is written for JMS, I do not really see how you could use it with 
another messaging technology.  Could you please
elaborate ?

The publish / subscribe is a ServiceMix specific feature, but you can 
use the new WS-Notification Service Engine,
which can be used in a JBI compliant environment.
Quality of Service (best-effort, at-least-once aso) is not really 
related to publish/subscribe.

Cheers,
Guillaume Nodet


Charles Souillard wrote:

> Sorry...
> it would have been better to ask all my questions in only one mail...
>
> I want to know if it is possible to call an MDB Bean from JBI by 
> another way than sending a JMS message ?
> In addition, it is not clear for me if the "publish/subscribe" is 
> available in JBI...
> I think it could be one of the delivering policy (best effort or at 
> least one) but I am not sure these concept are actually the same...
>
> Thanks
> Charles
>
> Simon Čarni wrote:
>
>> Hi Charles,
>>
>> I think you should look at ServiceMixClient.
>> Cheers,
>> Simon
>>
>>
>> 2006/1/11, Charles Souillard <Ch...@ext.bull.net>:
>>  
>>
>>> Hi all,
>>>
>>> I have a general question about JBI use.
>>>
>>> Is it possible to "enter" in the JBI container by another way as by
>>> calling a BC which will transfer the message to the NMR and then call a
>>> SE...
>>>
>>> In fact when you have a look at the following picture designed by sun
>>> (http://java.sun.com/developer/technicalArticles/WebServices/soa/fig4.gif 
>>>
>>> ),
>>> we think it is possible for example to enter the NMR through an EJB.
>>>
>>> I hope my question is clear...
>>>
>>> Thanks,
>>> Regards,
>>> Charles
>>>
>>>   
>>
>>
>>  
>>
>
>
>


Re: general JBI Question

Posted by Charles Souillard <Ch...@ext.bull.net>.
Sorry...
it would have been better to ask all my questions in only one mail...

I want to know if it is possible to call an MDB Bean from JBI by another 
way than sending a JMS message ?
In addition, it is not clear for me if the "publish/subscribe" is 
available in JBI...
I think it could be one of the delivering policy (best effort or at 
least one) but I am not sure these concept are actually the same...

Thanks
Charles

Simon Čarni wrote:

>Hi Charles,
>
>I think you should look at ServiceMixClient.
>Cheers,
>Simon
>
>
>2006/1/11, Charles Souillard <Ch...@ext.bull.net>:
>  
>
>>Hi all,
>>
>>I have a general question about JBI use.
>>
>>Is it possible to "enter" in the JBI container by another way as by
>>calling a BC which will transfer the message to the NMR and then call a
>>SE...
>>
>>In fact when you have a look at the following picture designed by sun
>>(http://java.sun.com/developer/technicalArticles/WebServices/soa/fig4.gif
>>),
>>we think it is possible for example to enter the NMR through an EJB.
>>
>>I hope my question is clear...
>>
>>Thanks,
>>Regards,
>>Charles
>>
>>    
>>
>
>  
>


Re: general JBI Question

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

I had a look.
This a ServiceMix functionality but is it compatible with the JBI concept ?
This is not a standard way to access the JBI bus...

Let me know if I am wrong please....

Regards,
Charles

Simon Čarni wrote:

>Hi Charles,
>
>I think you should look at ServiceMixClient.
>Cheers,
>Simon
>
>
>2006/1/11, Charles Souillard <Ch...@ext.bull.net>:
>  
>
>>Hi all,
>>
>>I have a general question about JBI use.
>>
>>Is it possible to "enter" in the JBI container by another way as by
>>calling a BC which will transfer the message to the NMR and then call a
>>SE...
>>
>>In fact when you have a look at the following picture designed by sun
>>(http://java.sun.com/developer/technicalArticles/WebServices/soa/fig4.gif
>>),
>>we think it is possible for example to enter the NMR through an EJB.
>>
>>I hope my question is clear...
>>
>>Thanks,
>>Regards,
>>Charles
>>
>>    
>>
>
>  
>


Re: general JBI Question

Posted by Charles Souillard <Ch...@ext.bull.net>.
In fact I want to know how a servlet, an EJB could communicate with a 
component of the JBI container.
Is it mandatory to enter the container through a BC or is it possible to 
access the JBI bus in a standard form directly ?

What about the reverse communication ?
Is it possible for the NMR to call directly an EJB or a JDBC API ?

Thanks
Regards,
Charles

Simon Čarni wrote:

>Hi Charles,
>
>I think you should look at ServiceMixClient.
>Cheers,
>Simon
>
>
>2006/1/11, Charles Souillard <Ch...@ext.bull.net>:
>  
>
>>Hi all,
>>
>>I have a general question about JBI use.
>>
>>Is it possible to "enter" in the JBI container by another way as by
>>calling a BC which will transfer the message to the NMR and then call a
>>SE...
>>
>>In fact when you have a look at the following picture designed by sun
>>(http://java.sun.com/developer/technicalArticles/WebServices/soa/fig4.gif
>>),
>>we think it is possible for example to enter the NMR through an EJB.
>>
>>I hope my question is clear...
>>
>>Thanks,
>>Regards,
>>Charles
>>
>>    
>>
>
>  
>


Re: general JBI Question

Posted by Simon Čarni <si...@gmail.com>.
Hi Charles,

I think you should look at ServiceMixClient.
Cheers,
Simon


2006/1/11, Charles Souillard <Ch...@ext.bull.net>:
>
> Hi all,
>
> I have a general question about JBI use.
>
> Is it possible to "enter" in the JBI container by another way as by
> calling a BC which will transfer the message to the NMR and then call a
> SE...
>
> In fact when you have a look at the following picture designed by sun
> (http://java.sun.com/developer/technicalArticles/WebServices/soa/fig4.gif
> ),
> we think it is possible for example to enter the NMR through an EJB.
>
> I hope my question is clear...
>
> Thanks,
> Regards,
> Charles
>