DevX Skillbuilding for IBM DeveloperWorks
DevX Skillbuilding for IBM DeveloperWorks
DevX Skillbuilding for IBM DeveloperWorks
Get regular email alerts when we publish new features!
DevX Update for IBM developerWorks

More Newsletters
 Print Print
Give Your SOA Messaging Some Backbone
IBM WebSphere MQ's proven messaging technology and assured delivery solves your SOA integration challenges by simplifying data transfer and reducing the risk of data loss across more than 80 supported operating environments.  

Moving data between applications and different systems is essential for any business. If you are an experienced developer, you certainly know that it is a real pain to keep track of the myriad, tedious details required to do this successfully. At the very least you have to develop or purchase the code or middleware with the necessary logic to determine how to correctly process all the following conditions:
Related Resources
  • Article: The Enterprise Service Bus and Your SOA—A Great Team
  • Download: WebSphere MQ 6.0.2
  • Webcast: Broadening Your SOA Assets
  • Tutorial: Invoking a Web Service with a JMS Client
  • IBM SOA Foundation: Providing What You Need to Get Started with SOA
    1. Determine which data needs to go to what specific location
    2. Move data across different software systems, hardware platforms, networks, and devices
    3. Ensure transmission security, integrity, and recovery
    4. Overcome differences between the sending and receiving networks, different protocols, and data formats
    5. Ensure both the sending and receiving applications are available and in the right state to complete data transfers
    6. Overcome network or system failures
    7. Efficiently distribute events
    8. Synchronize operations to ensure multi-step transactions complete successfully
    9. Audit who sent data, what time it was sent, when it arrived, who received it, and if it was received correctly
    10. Handle rejected, lost, or duplicate data
    11. Ensure effective and appropriate security measures are in place to comply with appropriate governance and legal regulations
    12. Scale to process large volumes of data across distributed systems and locations

    To further complicate matters, as soon as you have written, tested, and deployed all the code to handle the previously mentioned situations, sure as the sun rises, something in the network, application, or enterprise will change. The need to discover what changed, then rewrite, retest, and redeploy your code to accommodate that change delays deployment of essential business services. It also increases costs, and adds additional stress on your development team and your customers.

    If you want an easier, less cumbersome, and more cost-effective solution that will automatically handle all these tasks—as well as simplify your service-oriented architecture (SOA) development efforts—take a closer look at IBM WebSphere MQ.

    WebSphere MQ Easily Handles Critical Communications Challenges
    You probably already know that IBM WebSphere MQ is the de facto network communication technology standard and IBM states it has approximately 75-80 percent market share. WebSphere MQ provides reliable, flexible, scalable, enterprise-class, integration and connectivity across most programming languages, messaging interfaces, application environments, and platforms. It relies on a small set of commands that are common across all systems and implementations to send a message, ensure one-time delivery, acknowledge receipt, and alert senders to problems should messages fail to arrive.

    Traditionally, file transfer protocol (FTP), had been the most popular method of exchanging messages and data. However, FTP has no mechanism in to ensure the message is delivered promptly or reliably. There is also no way to acknowledge receipt of the message or to track message delivery using FTP alone.

    IBM's pioneered the concept of enterprise messaging middleware with its original MQSeries more than 10 years ago as a way to create consistent, reliable, guaranteed one-time delivery. The financial services industry was an early adopter of the MQSeries and still depends on WebSphere MQ for most of its mission-critical, high-risk financial transactions. WebSphere MQ can mediate between different systems as it guarantees delivery.

    Ron Donson, IT Architect at Wachovia agrees. "MQ enabled us to simplify our cross-platform communications. We could easily go from various disparate platforms including UNIX, HPUX, Solaris, AIX, to our mainframe assets. MQ gives us a much better transport to our legacy assets on the mainframe and between disparate systems. It also gives us the ability to guarantee delivery."

    WebSphere MQ Simplifies Your SOA Integration Tasks
    SOA makes the process of building and adjusting composite applications fast and easy by facilitating the reuse of existing assets. SOA helps your company quickly adapt to changing business conditions through the use of composite applications, which are software services that have been assembled and strung together to support your business activities.

    Webcast: Broadening Your SOA Assets

    SOA implementations often involve almost all aspects of your business, utilizing numerous, diverse software assets. As a result, SOA frequently increases the number of parameters and details that have to be accounted for in any data or messaging transaction. Consequently, the complexity of the details that have to be tracked, programmed, and packaged for successful data transfer goes up exponentially when you are implementing a SOA. For reuse to be effective, and for composite applications to be created from existing assets, you need to decouple the connections between applications. By delegating the connectivity logic to WebSphere MQ you can easily accomplish this while enabling the reuse of your applications.

    WebSphere MQ can effortlessly handle your SOA integration challenges and requirements. It delivers a proven, robust solution to link your applications and Web services in a trustworthy manner. It connects all your software assets, wherever they reside within virtually any commercial IT environment, while preserving the integrity of messages and reducing the risk of data loss across more than 80 supported operating environments.

    WebSphere MQ's message and queue architecture delivers a secure, flexible backbone that works with technologies and skills you already have in place and easily connects to whatever new or legacy software assets you acquire. With very little effort you can share, integrate, and exchange all required business-critical information with confidence and assured deliveries.

    It simplifies your SOA integration tasks by moving the data transport and storage logic from your applications into middleware. It supports loosely-coupled applications for on-demand computing. Since WebSphere MQ virtually eliminates the need to write complex communication code, you can focus your development efforts on the business logic portion of your applications and enhancing the reuse of your applications—as services

    WebSphere MQ's rich application development interface gives you a choice of cross-platform languages and interfaces that are consistent across all platforms. WebSphere MQ natively uses the Message Queue Interface (MQI) as its native programming interface. MQI lets you connect and disconnect programs from a queue manager, open and close objects (e.g. queues, name lists, queue managers, etc.), place messages and receive messages from queues, determine and set queue attributes, etc.

    A simple mechanism attaches your applications, Web services, and other SOAP-formatted messages to a WebSphere MQ transport. The WebSphere MQ transport can be integrated into your existing applications with minimal effort and without any changes to the WSDL or the code of your applications. Once it is integrated, your messages will be sent using the specified MQ queue instead of the default HTTP protocol.

    Tutorial: Invoking a Web Service with a JMS Client

    WebSphere MQ also features full support for Java Message Service (JMS) as an interface to use WebSphere MQ for Java programs—with JMS providing application messaging calls that are implementation neutral. JMS uses messaging to connect Java-based applications to each other, to legacy applications, or to an integration hub. It is an ideal choice when you are using Java and need to create fully portable programs. You should know JMS messages sent over different JMS implementations may not always be able to communicate with each other, since JMS is an API, not a messaging technology. However, all JMS messages implemented on WebSphere, whether WebSphere MQ or WebSphere Application Server can intercommunicate securely and reliably.

    WebSphere Message Broker, an advanced enterprise service bus (ESB), extends WebSphere MQ and implements a JMS any-to-any functionality that supports message interaction between different JMS providers. This facilitates the integration of JMS messages sent over other third-party messaging providers.

    WebSphere MQ uses publish/subscribe messaging that removes the limitations of point-to-point messaging and polling. Publish/subscribe messaging enables any number of consumers of information to receive messages sent from one or more producers of that information. You can send messages containing information about a particular topic to all subscribers to that topic, without any knowledge of how many subscribers there are, or the details of the nodes that host those subscribers. In this way publish/subscribe messaging completely decouples the provider of the information from the consumer of that information. You can also request the current state of information or information about events when they begin processing and WebSphere MQ will automatically keep you informed of changes to the state or the events.

    Security, Configurability, and Messaging Resources for All Your Business Needs
    WebSphere MQ moves your data securely with traceable manageability. Its audit, validation, and verification processes ensure that you will meet your security, compliance, and governance requirements without having to rely on any other applications to track and monitor data movement and results. WebSphere MQ assures business-critical data is delivered without duplication—even if your application, Web service, or network fails.

    David Griffes, Manager of Wachovia's Application Server Competency Group said, "WebSphere MQ is a key piece of our technology framework. MQ is very reliable with, in essence, no down time. We're very proud of the fact that we are rated as the highest customer satisfaction bank in the United States. And MQ really enables us to be able to do that. We know we can make use of MQ's guaranteed delivery features to be able to guarantee every customer transaction."

    WebSphere MQ gives you configurable qualities of service to meet all your data transport needs. For instance, your data can be delivered either synchronously or asynchronously depending on the requirement of your applications and Web services. It can be configured to provide a less-robust quality of service for increased performance on less-critical data. It also gives you the ability to defer workloads to when it is more convenient to run them—such as overnight batch processing.

    Finally, WebSphere MQ provides messaging resources that can form the foundation for your ESB, which can grow incrementally with your business needs. This is important because the ESB architectural pattern supports virtualization and management of SOA services. It enables interactions among service providers and requesters and can be implemented using a variety of middleware technologies and programming models. An ESB provides a variety of services within the SOA once it is implemented in a business. It makes use of the transport layer, which would typically be the messaging backbone provided by WebSphere MQ. Mediation services move messages between different protocols and mediate the message content themselves. This allows data to be altered without programming while it moves from the sender application/service to the receiver application/service.

    Simple, Secure, and Effective Solution for Critical Business Problems
    WebSphere MQ actually does more than give your SOA messaging some backbone. It also solves many of your most costly or critical business problems including:

    • Protects the security, integrity, and privacy of moving data in compliance with regulatory, audit, or governance requirements.
    • Avoids costly, time consuming, and error-prone manual coding of processes and logic required to move data
    • Delivers a more reliable, secure, and traceable method of transferring data between systems
    • Integrates different applications and systems that were never designed to interoperate
    • Delivers a more effective and controlled method for sending and receiving critical business information
    • Extends your legacy systems to your trading partners as part of your SOA implementation
    • Lowers your IT costs by leveraging existing investments and promoting more effective reuse your software assets
    • Frees existing staff from maintenance and tedious debugging of data transfer errors to work on new projects

    So give your SOA development projects some backbone, while lightening your workload and overhead. You'll find that WebSphere MQ is a much better and more cost-effective alternative to wrestling with the complexities of connecting applications and Web services.


    Page 1 of 1
    Rikki Kirzner is a freelance writer and veteran computer industry professional with experience as an analyst and former Research Director for IDC, Gartner Group, and Meta Group and as a Senior Editor with Open Computing Magazine. Rikki covers software, development, open source, SOA, and mobile computing.
    Submit article to:
    Featured Resources from IBM