Application Messaging
Application Messaging OverviewApplication messaging architectures provide a platform that supports interoperability among loosely coupled applications over a message passing bus. When the targeted scope of interoperability is broad (for example, spanning multiple application systems and organizational boundaries), application messaging architectures might be required. This is because the likelihood of conformance in the software implementation base (for example, the selected distributed object standard) across the set of participating applications is diminished. Additionally, the set of participating applications can exhibit asynchronous, disconnected operation, executing with no direct point-to-point communication session, yet requiring guaranteed fulfillment of requests for service or event delivery. This degree of operational heterogeneity introduces several requirements that are reflected in the application messaging infrastructure. Heterogeneity in the implementation base of the various applications (including perhaps, retrofitted legacy applications) suggests a need for a reasonably non-intrusive integration mechanism. The semantics of application messaging satisfy this need, generally expressing open, close, send, and receive functionality with flexible application-defined message structures. Heterogeneity with respect to the asynchronous, disconnected execution and notification modes of end-point participants introduces requirements for service qualities that include routing, assured just-once delivery, and retained sequencing. The architecture that has emerged within commercial application messaging products to express these quality-of-service properties is store-and-forward queuing. In a store-and-forward model, messages are sent to named queues, which are in turn hosted at specific destination network addresses. The navigation of messages from their origin occurs through a transmission network that ensures the integrity of message delivery to the destination queue and presentation to the recipient process. Ever more frequently, the simple design pattern of two identifiable applications that interoperate over a message passing bus is inconsistent with the realities of an event-driven enterprise. Interdependencies across multiple applications with respect to events occurring within an enterprise combined with an ever-changing topology of event supplier and consumer applications is often present. Decision-makers require information pertinent to their domain of responsibility regardless of the reporting applications. Automated business processes require modification in rapid response to changing operational conditions. The ability to satisfy these requirements in a timely manner, and thereby reduce the latencies too common in information interchange, is critical to efficient and effective enterprise performance. To support such dynamism, extended application messaging infrastructure facilities in the form of message brokers are emerging. Message brokers are being effectively positioned as enterprise application integration and event-management focal points, which function as hub processes that manage the information flow throughout an enterprise. Operationally, message brokers provide rules-based message routing and distribution as well as message transformation and augmentation capabilities that enable the removal of this aspect of implementation logic from participating applications. Interfaces to three principal commercial messaging platforms, IBM's WebSphere MQ (previously named MQSeries), Microsoft's MSMQ, and TIBCO Software's TIB/Rendezvous (including the Certified Message Delivery transport) are provided with SAS Integration Technologies. Support for these platforms enables SAS software's information delivery capabilities to be leveraged within various enterprise solution scenarios, including application integration, asynchronous/mobile synchronization, and event notification. Support for client environments is broad. IBM provides WebSphere MQ on a vast array of operating system platforms with programming language support including C/C++, Java, and Cobol as well as ActiveX control support that enables Visual Basic participation. The Enterprise Java JMS facility also anticipates a provider for WebSphere MQ. Microsoft likewise provides full language support for MSMQ. |