140 likes | 245 Views
Asynchronous Communication Between Components. Presented By: Sachin Singh. Characteristics of Synchronous Communication. The remote object must currently be alive. The client must establish a connection to the object.
E N D
Asynchronous Communication Between Components Presented By: Sachin Singh
Characteristics of Synchronous Communication • The remote object must currently be alive. • The client must establish a connection to the object. • The client must invoke a method on the object, and wait while the remote object executes the method and returns the result, if any.
Real Life Business Applications • Applications distributed across heterogeneous platforms over the network • Networks/Components prone to failure • Dynamic Business needs- scalable architecture • Requirement “Loose Coupling”
Message Oriented Middleware • Rather than connecting directly to a remote object, the client connects to the message-oriented middleware and sends its message. • MOM middleware is an event-driven, asynchronous, non-blocking and message-based communication method that guarantees message delivery.
Quote • Every DAD needs a MOM. --The Message Oriented Middleware Consortium Interpretation? ? ? Every Distributed Application Development needs a Message-Oriented Middleware.
MOM Products • MSMQ (Microsoft Message Queuing) • IBM MQSeries • JMS (Java Message Services)
The JMS Case • The Java Message Service (JMS) provides a standard Java-based interface to the message services of a MOM of some other provider.
JMS Characteristics • Messaging • loosely coupled communication • sender/receiver do not have to be active at the same time • Sender/receiver only have to agree on message format • Applications • no dependency on interfaces • components which may be disconnected (e.g. mobile phones)
JMS API Architecture • A JMS provider is a messaging system that implements the JMS interfaces and provides administrative and control features. J2EE platform release 1.3 • JMS clients are the programs or components, written in the Java programming language, that produce and consume messages. • Messages are the objects that communicate information between JMS clients. • Administered objects are pre configured JMS objects created by an administrator for the use of clients. (Ex destinations and connection factories)
Advantages • High-level abstraction • physical location/ physical details hidden • Interoperability • Portability • Flexibility • Scalability • Reduces complexity
Disadvantages • Implementations are proprietary • Component can overwhelm other component