Protege Client-Server Tutorial
From Protege Wiki
Protege Client-Server Tutorial
This tutorial explains how to configure and run Protege in client-server mode. Client-server mode allows multiple Protege clients to simultaneously edit a shared ontology stored on a Protege server. 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.
Protege's client-server mode
The client-server mode allows multiple Protege clients to simultaneously edit 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.
Note. There is a known Java bug in Java 1.6.0_29 and Java 1.7 that affects the starting of the Protege server. If you use this version, please read this information first.
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
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
- Shutting down the Protege server
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
Occasionally things to wrong. It is especially hard sometimes to debug problems with the first connection from the client to the server and we have started a troubleshooting page to give some of ideas on how to troubleshoot a problem.
- 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. The list of enforced policies is available on the server configuration wiki page. 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).
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).