Changes between Version 6 and Version 7 of UserObservationHub


Ignore:
Timestamp:
11/06/07 19:01:41 (17 years ago)
Author:
sauermann
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UserObservationHub

    v6 v7  
    11= UserObservationHub (UOH) = 
    22 
     3Check out the UOH from this SVN repository: 
     4{{{ 
     5https://usercontext.opendfki.de/repos/trunk/UserObservationHub 
     6}}} 
     7 
     8Important classes: 
     9 * [source:trunk/UserObservationHub/src/de/dfki/km/usercontext/userobservationhub/UserObservationHub.java UserObservationHub.java] 
     10 * [source:trunk/UserObservationHub/src/de/dfki/km/usercontext/userobservationhub/outgoing/UserObservationListener.java UserObservationListener.java] 
     11 
    312The UserObservationHub - shortly: UOH (pronounced "uh-oh!" ;-)) 
    4 ist a *tiny* project and service catching several registered user observation notifications (e.g., from http://dragontalk.opendfki.de) and passes them on to interested listeners. 
     13ist a compact project and service catching several registered user observation notifications (e.g., from http://dragontalk.opendfki.de) and passes them on to interested listeners. 
    514There are multiple input sources that actually observe the user - these '''observers''' are implemented as plugins to applications or as listeners to operating system events. They connect to the User observation hub, or more precisely to '''collectors''' which are started together with the user observation hub. Each collector provides a different kind of interface, the differences can be both on communication layer (SOAP, REST, XML-RPC) or on the message layer. Some observers report messages to the collectors using serialized RDF conforming to the NOP ontology, others call methods of a collector and pass information as method arguments. Therefore, multiple collectors exist providing the needed interfaces. Each collector standardizes the input observations to RDF, which is then passed to the user observation hub. 
    615 
     
    2736}}} 
    2837 
    29 As the name indicates, the UOH receives messages and notifies other components about them. The listeners can be registered with the UOH on startup. All registered listeners are called in sequence. 
     38As the name indicates, the UOH receives messages and notifies other components about them. The listeners can be registered with the UOH on startup. All registered listeners are called in sequence. In the default implementation, there are multiple listeners: 
     39 * [source:trunk/UserObservationHub/src/de/dfki/km/usercontext/userobservationhub/outgoing/OutputObservedNops.java OutputObservedNops] - prints the message to system-out for debugging purposes 
     40 * [source:trunk/UserObservationHub/src/de/dfki/km/usercontext/userobservationhub/outgoing/NepomukNopForwarder.java NepomukNopForwarder] - sends the message to NEPOMUK's User Context service which will compute the current work context 
     41 * [source:trunk/UserObservationHub/src/de/dfki/km/usercontext/userobservationhub/outgoing/RemoteUserObsListener.java RemoteUserObsListener] - sends the message to MyMory's User Context service which will compute the current work context 
     42 * [source:trunk/UserObservationHub/src/de/dfki/km/usercontext/userobservationhub/outgoing/SimpleUrlCounter.java SimpleUrlCounter] - an example implementation that counts URIs of navigated web resources. 
    3043 
    3144== Message format and mapping == 
     
    4558For NEPOMUK's NIE ontology, such a mapping was implemented. It is based on the Jena rule engine and uses horn clauses to generate the additional data in the UOH vocabulary based on data objects represented in NIE. User who want to extend the implementation and pass RDF messages using other vocabularies to express DataObjects, they must provide a mapping module for the UserObservationHub to the UOH vocabulary. 
    4659 
    47 Involved Persons: 
     60== Usage of the UserObservationHub == 
     61To use the UserObservationHub in your project, checkout the project from SVN and export a JAR file of it using the packaged build.xml file. '''Note that the build.xml file does not make a compilation but depends on eclipse to compile the classes.''' 
     62 
     63 * You need all dependencies that are included in the {{{lib}}} folder of the project.  
     64 * To start the hub, call {{{UserObservationHubLauncher.bat}}}, which uses ant to gather the dependencies. 
     65 * If you have startup scripts for other operating systems, please send them to the involved persons or commit them to the project. 
     66 
     67The UserObservationHub runs as a standalone application and will open listening ports to receive messages via the registered collectors. It will also test if NEPOMUK is running and forward messages to the NEPOMUK server, as with Mymory. This behavior is determined by the [source:trunk/UserObservationHub/src/de/dfki/km/usercontext/userobservationhub/StartUserObservationHub.java StartUserObservationHub] class, other configurations require another startup class. 
     68 
     69Once started, the UserObservationHub listens to incoming messages. Typically, plugins added to existing desktop applications will observe the user and once interesting user operations occur, generate a message and fire them to the collector that can retrieve the message. One way of using the Hub is to write more plugins for desktop applications and send more detailled messages about the user operations. This would be the side of '''creating messages'''. If a programmer wants to register a new listener, for example to generate log data for long-term data gathering experiments, this would involve writing a new Output Listener and registering it at the UserObservationHub during the startup phase. 
     70 
     71End-users never interact with the hub. Applications that want to query the current work context usually contact the '''Current Work Context service''' provided by NEPOMUK or MyMory. Indirectly, the last operations and relevant resources can be accessed via these services and shown to the user for context-sensitive support. 
     72 
     73== Involved Persons == 
    4874 - Sven Schwarz (DFKI GmbH, Kaiserslautern) -> ''for Projects Mymory and Nepomuk'' 
    4975 - Leo Sauermann (DFKI GmbH) -> ''for Project Nepomuk'' 
     
    5177 - Gianluca Demartini (L3S, Hannover) -> ''for Project Nepomuk'' 
    5278 
    53  
    54 Check out the UOH from this SVN repository: 
    55 {{{ 
    56 https://usercontext.opendfki.de/repos/trunk/UserObservationHub 
    57 }}} 
    58  
    59 Important classes: 
    60  * [source:trunk/UserObservationHub/src/de/dfki/km/usercontext/userobservationhub/UserObservationHub.java UserObservationHub.java] 
    61  * [source:trunk/UserObservationHub/src/de/dfki/km/usercontext/userobservationhub/outgoing/UserObservationListener.java UserObservationListener.java] 
    6279 
    6380== NOP ontology (vocabulary) ==