ceno Logo          

Documentation

This documentation corresponds to a rather high lever architecture description of the ceno project. A technical API documentation will be provided in the javadoc export.

When making a crosscut through the ceno platform, two different subcomponents are identifiable. These are ceno communication and ceno tracker. The following sections will care abouth both in more detail.

ceno architecture overview

ceno communication

This foundation of ceno is an open platform for inter-workbench communication. The main goal is to communicate events in a manner which is transparent (invisible) to those using the applications that are using the protocol (i.e. Network transparency). Since employing an event based protocol, the ceno communication layer can be extended by providing custom events. The ceno implemention is shipped with some basic event code which can be distinguished into:

  • Resource Event Asynchronous events which do not require a response from the receiver. Resource events relate to workspace resources such as .java documents and so on. Examples are OpenResourceEvent or CloseResourceEvent.
  • Returnable Event Synchronous event which require a response from the receiver. Possible Events have a query character such as QueryMessagesEvent
  • Session Events Returnable events with the semantics of Login and Logout.

ceno communications is not vendor specific and is shipped with a Net4J implementation. The Net4J signal protocol is part of the eclipse platform and is also used inside of CDO. The current ceno configuration is based on TCP connections. The event handling is based on the extension point concept of eclipse. It possibile to hook in a certain event handler to the platform to receive specified events.

ceno tracker

The tracker compontent is built on top of the "communication" foundation. Architecturally it mediator between the eclipse workbench UI and ceno communication. The main goal is to track and send user events on the "client part" and to persist and query events on the server side. The persistence implementation of choice is a embedded Apache database. Similar to data warehouse architectures, all thrown events are simply persisted as database entries. Later query events are able to do reporting and analysis issues.

The tracker also hooks in into eclipse UI related extension points such as views, tree decoratios, preferences and so on.

Bundle Overview

The following package diagram display dependencies of the ceno eclipse plugins. A click on the image will enlarge the diagram.

Click to enlarge

Ceno Model

The basic ceno domain concepts are displayed here

Click to enlarge