This is a common scenario usually motivated by a desire to extend existing message oriented middleware (MOM) infrastructures using simple, low-cost and standards-based Web services, to bring the MOM features you outline to Web services, or both. Solutions are available, and here's what I'd look for.
First, you'll need to have SOAP-enabled the endpoints on all the applications you wish to connect. WS-ReliableMessaging (a specification introduced last year from Microsoft, IBM, BEA and TIBCO) would be even better on the endpoints so that you can extend the reliability handshake offered by many MOM's without you having to write any code. In terms of SOAP, many of the Java-based applications may have built-in support for Web services, but probably not all; very few of the C/C++ application will be SOAP enabled. WS-ReliableMessaging will start to appear in products and will be increasingly supported by its authors and others.
Second, you'll need a gateway that maps Web service protocols and data models to JMS and ideally other infrastructures, such as native TIBCO Rendezvous and IBM WebsphereMQ. Ideally, this gateway should also support WS-ReliableMessaging, should support a WS-Eventing-based subscription interface and should support multiple MOM infrastructures simultaneously. This ensures that reliable messaging can be extended from the underlying MOM to the Web service endpoints in a consistent and standard way. This gateway should also have the capability to transform bi-directionally between Web services-based and binary MOM messages – both payloads and headers. A robust security framework is also critical if messages will be crossing firewalls.
Third, it is often a good idea to manage the topology, endpoint interface descriptions and message schemas using WSDL's, Schema and a UDDI-based registry.
This solution may sound complex, but it's actually quite simple to implement and maintain, and would be a fraction of the cost of building out a solution based entirely on MOM. I'm aware of several large organizations that have successfully implemented solutions like the one I describe.
Dig Deeper on Topics Archive
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.