wiki:Development/Design

[ Development | Internal RDF Schema ]

Design

Nabu is implemented as Jive Messenger plugin. The following graph shows the top-level components of Nabu:

http://www-user.rhrk.uni-kl.de/~f_osterf/nabu/topleveldesign.png

The central component of Nabu is Archive. Archive contains the RDF model, consisting of the public model, that stores the conversation logs and can be accessed from outside, and an internal model, managing internal configuration data and privacy policies. The Nabu implementation uses Jena for RDF handling, graphs are stored persistently in a database, where the database backend is fully encapsulated by Jena.

Archive is accessed in two ways:

  • Logging: the plugin intercepts XMPP messages, converts them to RDF and stores them in Archive. This is done by the Logger component. The logger component simply takes the message, checks whether logging is enabled and if so, adds the RDF message to the RDF graph.
  • User requests like search queries are executed on the RDF graph. This is done by the RequestExecutor interface. It takes parsed requests in the form of request objects, executes them, and returns a response object.

The Nabu Bot component is the interface between the users and the plugin. It parses user requests as defined in the Nabu protocol, creates request objects and passes them to the RequestExecutor. It takes the returned responses, encodes them in a string and sends them back to the requestors.

[ Development | Internal RDF Schema ]

Last modified 12 years ago Last modified on 07/30/05 23:33:06