Wednesday, July 11, 2007

JMS

- A distributed system logically divide into two pieces: actual business/functional code and infrastructure/pluming code (middleware). Definition of middleware: "The wide range of software layered between applications and an operating system that provide specialized services and interoperability between distributed applications" There are Remote Procedure Call (RPC) based middelware and Message-oriented Middleware (MOM).

- JMS is a specification that defines a set of interfaces and associated semantics, which allow applications written in Java to access the services of any JMS compliant Message MOM product.

- JMS supports two messaging styles: point-to-point and publish-and-subscribe. Point-to-point system typically either a one-to-one to many-(senders)-to-one (receivers); publish/subscribe is a many-to-many system. (Queue vs. Topic)

- Administrable objects - destination and connection factory, not standardized by JMS. JMS defines "marker" interface, but JMS providers create and customize the objects, used by client to gain access to messaging product.

- ConnectionFactory => Connection => Session (QueueSession, TopicSession) => MessageConsumer (QueueReceiver, TopicSubscriber), MessageProducer (QueueSender, TopicPublisher)

No comments: