[Design of JBoss ESB] - WS Proxy Scenarios
by burrsutter
We have heard that "proxying" a WS endpoint through the JBossESB is difficult and somewhat painful. The goal of this thread to try to describe the scenarios where people consume a web service, mediate it and provide a web service.
A simple diagram to set the terminology:
PHP Client -> ESB receive SOAP, host WSDL -> ESB consume external service -> .NET WS
In this case the ESB is both a consumer and a provider. Some refer to this concept as the ESB hosting a virtual service to hide the actual service.
Feel free to add to or modify this list of scenarios:
- Basic: The ability to provide location abstraction, the ultimate consumer/client is unaware of where the ultimate service provider is as the ESB sits in the middle. In this case the whole of the SOAP request/response should be available in the action chain and passed from the consumer to the service provider. The original WSDL is hosted by the ESB with a simple modification to the soap:address.
- Versioning: The ESB could host two virtual proxy services (v1 and v2) that have slightly different WSDLs with routing to the appropriate service provider endpoint.
- Transformation: Hundreds of deployed consumers clients produce a particular SOAP request, the service provider has since modified the WSDL of the endpoint (e.g. they previously wanted fullName and now want firstName and lastName), the ESB can provide a transformation before and after as a wrapper.
- Routing: The ESB can publish a common WSDL as an entry-point, intake service, the SOAP Header/Body are evaluated to determine which external WS service provider will fulfill the request and provide the response.
- Service Chaining: Multiple ESB hosted virtual services can be routed through before hitting the external service provider that will provide the synchronous response.
- Orchestrated: A ESB hosted service starts either a BPEL or JPDL process flow that will drive which external WS endpoint(s) are invoked to fulfill the request.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4229154#4229154
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4229154
16 years, 11 months
[Design the new POJO MicroContainer] - Re: OnDemand as an aspect
by jason.greene@jboss.com
"alesj" wrote : "jason.greene(a)jboss.com" wrote : or better yet automated on first non-lifecycle MC method access.
| How would you do that?
|
| Which beans should be automated?
| How would you know what to fully install (which beans to activate)?
|
| You need extra info.
| And annotations are a perfect fit.
| Not to mention that "first access" screams for AOP interceptors. :-)
It definitely screams for proxies, not sure about all of the AOP baggage. :) What I meant was that you could express that pojo A has hard dependency on B, but A also has lazy dependency on C. Then when A is started, it gets a the normal ref to B, but a lazy proxy of C (non-start/activated). The first call on C triggers activation of C.
In addition, there could be some kind of lazy registry call to get a lazy ref to an MC service.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4229113#4229113
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4229113
16 years, 11 months
[Design of JBoss ESB] - Re: Websphere MQ with XA connections
by tfennelly
Sorry... I was wrong on something there (at least one thing ;) )....
I am getting an XAResource enlisted into a new transaction (org.jboss.soa.esb.listeners.jca.EndpointProxy:326:branches/JBESB_4_4_GA_CP) when I use the WMQ Adapter config (option #1 above).
So what's the magic for getting the com.ibm.mq.jms.context.WMQInitialContextFactory class to create an XA Connection Factory (com.ibm.mq.jms.MQXAQueueConnectionFactory I assume) using direct JNDI??
As you can see from my config above, my non-JCA listener config is:
| <jms-provider name="IBMMQ" jndi-URL="localhost:1414/SYSTEM.DEF.SVRCONN"
| jndi-context-factory="com.ibm.mq.jms.context.WMQInitialContextFactory"
| jndi-pkg-prefix=""
| connection-factory="ConnectionFactory">
|
|
| <jms-bus busid="quickstartEsbChannel1">
| <jms-message-filter dest-type="QUEUE" dest-name="WMQESBAWARE1" transacted="true"/>
| </jms-bus>
|
| </jms-provider>
|
Any ideas?
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4229029#4229029
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4229029
16 years, 11 months