Web Service Messaging by Senthil Krishnamurthy from Aspire Systems (India) Pvt. Ltd.
Web services are revolutionizing Internet by enabling applications to speak a common language: XML. While Web services technology enables execution of remote functions, it does not provide a robust infrastructure for handling information. As solution of this problem this article describes concepts of web services with messaging.
Web Services Web services are a new breed of Web application. They are self-contained, self-describing, modular applications that can be published, located, and invoked across Web. Web services perform functions, which can be anything from simple requests to complicated business processes.
How it is differ from web application Where current web enables users to connect to applications, web services architecture enables applications to connect to other applications. A web service is therefore a key technology in enabling business models to move from B2C (Business to Consumer) to B2B (Business to Business).
Web Services provide companies with a standards-based technology to simply integrate applications, share information with partners, and provide access to enterprise systems through a variety of devices.
Where is problem? An enterprise-class application that communicates with Web services must ensure that data can be handled appropriately.
When employing Web services, one must ask questions like: Can our application scale to increased messaging demands? If our application crashes, is Web service’s data lost? How do we connect our Web-services-facing applications to back-end systems? These problems are created but unfortunately not solved through Web services architecture. Web services must be combined with additional technology called Messaging for robust enterprise messaging.
Messaging Concept Messaging provides high-speed, asynchronous, program-to-program communication with guaranteed delivery.
A simple way to understand what messaging does is to consider voice mail (as well as answering machines) for phone calls. Before voice mail, when someone called, if the
receiver could not answer, caller hung up and had to call back later to see if receiver would answer at that time. With voice mail, when receiver does not answer, caller can leave him a message; later receiver (at his convenience) can listen to messages queued in his mailbox. Voice mail enables caller to leave a message now so that receiver can listen to it later, which is often a lot easier than trying to get caller and receiver on phone at same time. Voice mail bundles (at least part of) a phone call into a message and queues it for later; this is essentially how messaging works.
In enterprise computing, messaging makes communication between processes reliable, even when processes and connection between them are not so reliable.
There are two main defacto messaging standards for enterprise computing:
1. The Java 2 Platform, Enterprise Edition (J2EE) includes Java Message Service
2. The Microsoft .NET Framework SDK (.NET) includes System.Messaging
namespace for accessing MicroSoft Message Queue (MSMQ).
JMS At its simplest level, JMS is java based messaging that sends messages between servers and clients. The format of these messages is quite flexible and can include ordinary text messages (including raw text, SOAP, and XML), entire Java objects, and "empty" messages that are suitable for basic communication (like acknowledgments).