The issue isn't the provider side, it's the consumer side. I thought the whole point of ESB was that I can provide a myriad of provider BCs eventually getting to a service implementation. For example, I could configure my JBI XyzConsumerVMBC to route to an XyxProviderHessianBC. The point being I don't want to have to go through another transformation; I want to be able to have my client retrieve (or have an implementation injected) a POJO implementation of an interface and not care where the true implementation is. I want my client to invoke a method on a Java interface and not care what the implementation is. If I have to use JMS, I'm locked into JMS.

Using Spring's remoting solutions, I can, through configuration only, have my client code to an interface, the implementation I retrieve via the ApplicationContext, and choose a variety of (java-oriented) protocols. If I want a concrete implementation, my ApplicationContext refers to a local implementation. If I need a remote implementation, I use the appropriate remoting solution. I want the same freedom in ServiceMix. Is what I diagrammed in the original post adequate, or is there a better way?


Philip Dodds wrote:

This looks more akin to using JAX-WS to generate a SOAP interface, once you have a WSDL for you SOAP interface you can use JAXB 2.0 to generate a set of POJO's so that you can call the SOAP interface through a POJO. You might find this approach better than developing a specific BC for it. You might want to have a look at the stuff James has done on WS-Notification where he is using JAX-WS and JAXB 2:

See http://www.servicemix.org/WS+Notification, and also http://servicemix.org/maven/ws/jaxws/wspojo/apidocs/org/servicemix/wspojo/notification/package-summary.html <http://servicemix.org/maven/ws/jaxws/wspojo/apidocs/org/servicemix/wspojo/notification/package-summary.html> and http://servicemix.codehaus.org/maven/ws/jaxws/wspojo/apidocs/index.html.

Cheers

P



On 9/29/05, *Chris* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    Is it reasonable to create a BC that is basically a specific VM
    interface?  The way I see it, is why go through another
    transformation (e.g. JMS) rather than just create a specific BC
    for the interface in question.

    Am I missing something?  Or is this an appropriate use of ServiceMix?


Reply via email to