Presents your JAVA E-NEWSLETTER for August 28, 2003 <-------------------------------------------> JMS ALLOWS JAVA APPs TO COMMUNICATE WITH EACH OTHER For years, developers have been pondering how separate applications can communicate with each other. If the applications in question are Java programs, then the answer is Sun's Java Message Service (JMS), which was integrated into the release of J2EE 1.3. JMS is Sun's take on Message-Oriented Middleware (MOM), which allows two or more applications to communicate in a well-defined manner without knowing about the underlying communication implementation details. JMS is an API that requires an implementation. In order to use JMS in your applications, you'll need a JMS server and JMS client libraries for that server. J2EE 1.3 comes with both pieces, so if you want to start right away, you can read Sun's JMS tutorial using the J2EE's built-in JMS functionality. There are also third-party JMS applications available. Some of the apps deliver superior speed, while others deliver reliability; however, all of these applications promise to offer both. http://java.sun.com/products/jms/tutorial/index.html Using JMS, there are two ways for applications to communicate with each other: Topics and Queues. Topics are used when a message needs to deliver to one or more consumers. (All subscribers to the Topic receive each message.) Topic publishing is known as Publish/Subscribe or Pub/Sub. Queues are used when only one subscriber needs to consume each message. This type of publishing is known as point-to-point (PTP). In PTP publishing, no matter how many processes subscribe to a Queue, only one will receive a given message. If you have multiple applications that must communicate with each other--especially those running in separate virtual machines--then JMS might be for you. Learn more by visiting Sun's JMS page. http://java.sun.com/products/jms/ David Petersheim is a Senior Java Developer with Genscape, Inc. He designs and develops server-side applications to acquire and process real-time energy data. ----------------------------------------