appropriate to common application areas and whose meaning is defined in a
shared ontology. A declarative communication language is a messaging
protocol, where a message is a textual expression composed of (1) a com-
munication primitive, called performative, that corresponds to a specific
linguistic action (e.g. query, answer, assert, define), and (2) the content, i.e.
a sequence of declarative statements built using a knowledge representation
language. The implementation of the declarative communication paradigm
does not call for the use of the stub
skeleton mechanism, or a common
execution environment as code mobility does. Each distributed component
relies on a parser component that interprets the incoming messages.
Java applications supporting the declarative communication paradigm
use the Java Socket mechanism to exchange messages over the network or
the Java Servlet API.
Servlets are small applications that run within a web server. The pro-
grammer implements specific servlets on the server side and gives them
network names in the same way as is done for standard web pages. A remote
user connects to a servlet's URL using a web browser. A servlet can receive
multiple connection requests from different browsers simultaneously and
can return entire web pages containing images, sounds and text resulting
from a query to the server's database. The user can send data and commands
to a remote servlet by means of a HTML form or an applet. Java Server
Pages (JSP) are an extension of servlet technology that provide a declarative
method of developing servlets.
The third part of this topic exemplifies the development of distributed
software architectures addressing the architectural models and distribution
paradigms discussed above (see Table 12.1).
Chapter 13 (Supervisory control and data acquisition system) exemplifies
the development of a simple supervisory control and data acquisition
(SCADA) system for car surface painting. The emphasis is on the design of
the distributed client
server architecture, and the Java RMI mechanism is
used to interconnect distributed components such as the work cell simulator,
the colour tank controllers and the supervisory station.
Chapter 14 (Supermarket operation support system) deals with the design
of a typical information system supporting the activities of a supermarket.
Table 12.1 Architectural models, distribution paradigms and technologies adopted
in each case study
Stub - skeleton
16 Ubiquitous email