Protege Client-Server Tutorial

From Protege Wiki
Revision as of 18:45, February 12, 2009 by TaniaTudorache (talk | contribs)

Jump to: navigation, search

Protege Client-Server Tutorial

This tutorial explains how to configure and run Protege in client-server mode. The client-server mode allows multiple Protege clients to edit simultaneously a shared ontology stored on a Protege server. The client-server mode is also referred to as the multi-user mode of Protege and is suitable for projects in which multiple users need to access and edit the same ontology.



The Protege client-server mode

The client-server mode allows multiple Protege clients to edit simultaneously a shared ontology stored on a Protege server. The client-server mode is also referred to as the multi-user mode of Protege and is suitable for projects in which multiple users need to access and edit the same ontology.

The communication between the client and server is realized using the Java Remote Method Invocation (RMI), which works also if the clients and server are behind firewalls. See the Advanced Topic section for information on how to setup the server to run with a firewall.

The tutorial is structured in the following way: first, it describes how to configure and start the Protege server and some trouble shooting tips, then it will describe how to connect a Protege client to a server, and then it will describe some advance topics, such as working with firewalls, compression, debugging, etc.


Setting up the Server

The setup of the Protege server is described in details on the Server setup wiki page. The covered topics include:

  • Starting the server
  • Testing the server
  • Shutting down the server
  • Troubleshooting


Configuring the Server: Users and Policies

The configuration of the Protege server is described in details on the Protege server configuration wiki page. The covered topics include:

  • Description of the metaproject
  • Creating new users
  • Setting the policies


Administering the server: Starting and shutting down server projects

The administration of the Protege server is described in details on the Protege server administration wiki page. The covered topics include:

  • User guide for the Protege Server Administration user interface
  • Starting and shutting down server projects
  • Killing other users' sessions


Advanced Topics

The advanced topics related to the Protege server are described in details on the Advanced wiki page. The covered topics include:

  • Running the Protege server as a Windows Service
  • Working with Firewalls
  • Configuration Settings in the start-up scripts of the server and client
  • Debug and Performance Monitoring
  • Accessing the Server Programmatically


Limitations

  • Forms configuration made on the client are not propagated to the server. All clients will see the same forms configuration of the project stored on the server side. We do not currently support different forms for different users. So, if you want to change the forms configuration of a project, you will need to edit the server project in the standalone version of Protege on the server side, and then restart the Protege server for the changes to take effect.
  • Policy mechanism. Currently we only enforce some of the operations in the GroupOperations that define the policies for accessing the server. We enforce the Read and the DisplayInProjectList policies. We also provide a policy mechanism that is accessible via an API. If a project defines its own custom operations and policies for its own UI, then the application can use the policy manager API and enforce their own policies in their custom application (it can also be a tab widget, or a separate application).


Resources

You may take a look at Collaborative Protege that provides support for collaboration (e.g., change tracking, annotations, discussion threads on ontology entities, chat, etc.). Collaborative Protege works in client-server mode with different ontology languages (OWL, RDF, Frames) and for different Protege backends (files or databases).