Service Bridges

Concordia agents travel to machines on a network where they can locally access the services they require in order to accomplish their tasks. For example, an agent can travel to a database server and interact with the data tables available at that server. Concordia service bridges are application specific service providers that operate within the Concordia server and provide functionality to agents. Service bridges are Java objects which are written by agent application developers. These objects can be installed into a Concordia server such that they are automatically instantiated at server startup and are registered with a naming service within the server. Concordia agents can then travel to the server, retrieve references to the service objects and then interact with the service's public interface to gather the information they need or to perform the tasks they need to accomplish.

Service bridges can be thought of as the non-mobile component of your agent application. They represent machine-specific resources and provide a public interface through which agents can access those resources. Service bridges also can act as interfaces (or bridges) to existing services or servers. For example, a service bridge could provide an interface through which an agent can access an existing application server. The bridge could provide access to the server via interprocess communication, remote procedure calls, distributed object technologies such as RMI, CORBA, or DCOM or via native methods.

As an example of a service bridge, we will modify the example database query agent from Chapter 1 to use a service bridge as its implementation.