Protege Client Server Tutorial Administration
Protege Server Administration
This page describes the administration of the Protege server. It describes the Protege Server Administration user interface and gives instruction on how to stop (shut down) a server project for maintenance purpose, how to cancel a scheduled shutdown and to start a server project. It also shows how to kill other user sessions.
This page is part of the Protege client-server tutorial.
- 1 The Server Admin user interface
- 2 The Projects Tab
- 3 The Sessions Tab - kill other users' sessions
- 4 The Metaproject tab - live changes of the server configuration
- 5 The Server Control Tab
The Server Admin user interface
The Server Admin user interface allows the control of the Protege server in a user-friendly way. A user with the appropriate permissions (see the Policy section in the server configuration page can start or stop server projects for maintenance without shutting down the server, she may kill other users' sessions (e.g., zombie sessions), or may shut down the server. It is also possible to make live changes to the metaproject content (e.g., add users, projects, change policies, etc.) The Server Admin user interface provides also useful statistics about the server work load.
The user interface is composed of three tabs:
- Projects Tab
- Sessions Tab
- Metaproject Tab
- Server Control Tab
The Server Admin interface can be started in the Server login panel by selecting the Administer server check box as shown in the figure below.
To refresh the information displayed in the tabs, you need to click on the Refresh button. The information is not refreshed automatically.
The Projects Tab
The Projects tab provides information about the available projects on the server.
The Remote Projects table shows each project with its status and connected sessions. The status of a project is one of:
- READY - The project is ready to use and can be opened by the Protege clients.
- SHUTTING_DOWN - The project has been scheduled for shutting down. New Protege clients will not be able to open this project. The shut down can be canceled at this point.
- CLOSED_FOR_MAINTENANCE - The project is shut down on the server. New Protege clients will not be able to open this project.
The sessions column shows what sessions (i.e, Protege clients) are connected to the project.
The lower part of the panel shows detailed information about the selected project in the Remote projects table.
- Estimated round trip time (ms) - is a measure in milliseconds of how long a server call between this administrative client and the server takes. The round trip time is an indicator of the expected client performance: a long round trip time means worst performance; a good (< 30ms) indicates a good performance and user interface response.
- Milliseconds to calculate frame cache - shows how hard the server has to work to compute the cache for a frame in this particular project. If the value is higher than 10ms, then probably the server is loaded and you may expect slower performance.
- Transaction isolation level - show the transaction isolation level for this particular project. If this is a file project, then the level will be
NONE. If this is a database project, this field will show the database transaction level, which is one of
Serializable. Read more about the database transaction levels on this webpage: http://en.wikipedia.org/wiki/Isolation_(database_systems).
The Users table show the connected users for this particular project, together with their session information, and information about whether the user is in a transaction or not. If a user is in a long-running transaction, other users may experience a slow down in the UI. While a user is in a transaction, other Protege clients are not able to write to the ontology. The Users table also shows the server backlog - the number of requests the server has to calculate for that particular user and project. Normally you should not see a backlog, or if you do, the server should be able to process it. Click on refresh button to update the information. If the backlog is not cleared, then something may be wrong with the server (too high load).
Stopping (shut down) a server project
To stop a server project you need the permissions: Administer Server or Stop Remote Project, which can be configured in the metaproject. See the server configuration page for more details on how to do this.
If you have the appropriate permissions, you can stop a server project by selecting the project in the table and clicking on the "X" icon at the top right corner of the Remote Projects table. A dialog will come up. Set the time in minutes of when to shutdown the project and click on the OK button
Once you have clicked OK, the status of the project will be changed from READY to SHUTTING_DOWN. The server will send repeated notification messages to all the clients that have that particular project open (in the screenshot: Collaborative Pizza) to announce them that the project will be shut down. The notifications that the clients will get look like this:
When the last notification is sent, the Protege clients will close the remote project automatically. At this point, the status of the project is CLOSED_FOR_MAINTENANCE. You need to click on the Refresh button to see the new status.
NOTE ABOUT SHUTTING DOWN A PROJECT WITH ANNOTATION PROJECT. If a project has an associated annotation project, e.g., it is used with Collaborative Protege, then you need to stop first the domain project (e.g., Collaborative Pizza), and then, if desired, shut down the corresponding annotation project (e.g. Collaborative Pizza Annotation). It is not required to shut down the annotations project if the domain project has been shut down. However, do not shutdown the annotations project without shutting down first the domain project.
Canceling a scheduled shutdown of a server project
To cancel a scheduled project shutdown, the project has to be in the SHUTTING_DOWN state. If the project is already in CLOSED_FOR_MAINTENANCE state, this means that the project is already shut down and you cannot cancel the operation anymore. So, to cancel the shut down, select the project in the Remote Projects table and click on the green tick mark icon. You will see a dialog like this:
Click on OK button to cancel the shutdown. The operation may fail if the server is already in the process of final shut down of the project.
Starting a project
To start a project, the project has to be in the CLOSED_FOR_MAINTENANCE state. To start the project, select the project in the Remote Projects table and click on the green tick mark icon. Click OK in the dialog:
If the project is started successfully, the status of the project will change to READY. Protege clients will now be able to open this project.
The Sessions Tab - kill other users' sessions
The Session Tab allows a user with appropriate permissions to kill other users' session. The required permissions are: Administer Server or Kill other user session, which can be configured in the metaproject. See the server configuration page for more details on how to do this. This is a particular useful feature if there are zombie sessions (e.g. a Protege client quit unexpectedly, a misbehaving plugin, etc.).
The Sessions Tab is shown below:
The Live sessions table shows all the sessions that are connected to the server. For each session, you can see the session id, the user name and IP, the projects in the session, and the login time.
If you are using Collaborative Protege, you will see 3 sessions for a user: the domain project (e.g., Collaborative Pizza), the annotation project (e.g., Collaborative Pizza Annotations) and the Chat Project - which is shown as (none) in the table because it is not a project configured in the metaproject. If the Chat tab is not enabled, you will not see the Chat session. It is easy to tell which sessions "go together" by looking at the login time: For example, the 3 sessions corresponding to user Guest and project Collaborative Pizza have login time around 12:17:30.
Your own administrative session is marked with an
* in the session id column. In the figure above, the admin session has id 109.
To kill a session, select the session in the table and click on the "X" icon. You will get a dialog like:
To kill the session click on the OK button. You cannot kill your own administrative session.
If the Protege client with the killed session is still running, it will get a notification from the server that its session has been killed. A dialog window will inform the user and the client will shut down cleanly.
The Metaproject tab - live changes of the server configuration
The Metaproject tab allows you to modify the server configuration of a running Protege server. Some of the operations you can perform are:
- add new users; change passwords
- modify policies associated to projects, groups or server
- add new projects
- delete projects (shut them down first!)
If you are going the delete a project it is strongly recommended that you shut it down first from the Projects tab, and then delete the project from the Metaproject Tab.
If you have changed the metaproject, please save it in the Server Control tab (see below).
The Metaproject Tab will only show up if the user has Admin privileges.
The Server Control Tab
In the current version, the Server Control Tab allows one to shut down the Protege server or to save the metaproject. We may add other features in future versions.
To shut down the server, you need to have the Administer Server or Shut down server permissions, which can be configured in the metaproject. See the server configuration page for more details on how to do this.
To shut down the server, click on the button. You will get a warning dialog like this:
Before the server shuts down, it will save all the server projects. All connected clients will get a warning message that the server has been disconnected and their working sessions will be terminated cleanly. The dialog that the Protege clients get looks like this:
To save the metaproject, you need to have admin privileges. Saving the metaproject is recommended if changes have been made in the Metaproject Tab.
Read more about the Protege multi-user support in the Protege client-server tutorial.