· Visualization
· Polychaeta server
The Polychaeta server is responsible for the Content Management System (CMS)
and the layout layer. The CMS layer holds core data elements such as websites,webpages, images, and text elements.
The layout layer is based on the CMS layer and provides layout specific data for the core objects.
The Polychaeta server provides services to manage both the CMS and the layout
layer, and a service to handle incoming HTTP requests sent by web browsers. The
latter is also in charge of collecting log data. :: TOP ::
· Polychaeta adaptation
Polychaeta adaptation holds the sugar scape layer which adapts a complete website
by means of the IBux framework and a layout strategy. The IBux framework is responsible for moving webpage elements according
to the sugar scape model rules; the layout strategy transforms that model into a "real" web layout.
The adapted layout data is written back to the server using the Layout- Facade. :: TOP ::
· Polychaeta client
The Polychaeta client modifies the CMS data. The client uses the CMSFacade to
connect to the server and to create, retrieve, and update data. :: TOP ::
· Browser
A web browser visualizes the generated webpages. The browser requests webpages
from the WebFacade and sends log data back to the server. :: TOP ::
· Communication
Compared to the first version of Polychaeta, we have completely revised the communication
between the different parts:
· We use asynchronous messaging provided by Java Messaging Service
(JMS) to implement observer/event handling. The observable object (notifier) publishes
messages to a topic which is subscribed by the observer (listener).
· Data Transfer Objects (DTOs) are used to exchange data between polychaeta
parts. Compared to the object-oriented (OO) paradigm, which typically
uses remote method invocation, the DTO approach implements a more serviceoriented
mechanism. A facade provides (service) methods that meet the caller's
requirements and deliver well-grained data objects. This helps reducing network
traffic, leading to more scalable applications and higher performance.
:: TOP ::
|