May From the Pages Features

Developing Intelligent Systems With Java and Prolog
Lalit Pant
Lalit examines the use of Prolog as a logic "engine" for Java programs. He begins with a brief introduction to logic programming and a more detailed introduction to Prolog. He describes how to embed Prolog code within Java and illustrates the problem of finding the shortest route between two cities on a map utilizing a graph-search algorithm in Prolog and Java.

An Architecture for Making Asynchronous EJB Calls Using JMS
Tyler Jewell
Discussed here is the design and implementation of an architecture that supports asynchronous EJB calls using JMS as the notification engine. Asynchronous requests allow a client to make an invocation and then immediately perform some other action while the request is being handled by another thread or process. The answer of the request is also propagated back to the client using some form of callback mechanism. This type of architecture allows a client program to invoke multiple paths of execution in parallel and synchronize their results at a later point in time.

Pluggability Patterns

Richard Deadman
Pluggability is often seen in APIs as banal as JDBC or as wild as Jini. In fact, the whole Java framework is ripe with pluggable patterns binding the generic framework to platform-, data-, or vendor-specific implementations. Richard outlines the requirements for building pluggable components, reviews possible strategies, and offers guidelines and caveats.

Method Properties in Java
Dirk Riehle
Dirk presents seven key method properties to use in our daily design and programming work. He presents them using a running example and catalogs them for use as part of a shared vocabulary. Each method property comes with its own naming convention. Mastering this vocabulary helps us implement our methods and document our classes and interfaces, to communicate more effectively.