Objectivity/DB Administration : Administration Tasks : Working With Objectivity Studio
6 
Working With Objectivity Studio
Studio is a tool for viewing and managing the data in an Objectivity/DB federated database. You can also use Studio to perform various administrative tasks.
This chapter describes:
Background information about Studio.
Starting the Studio server.
Connecting to Studio.
Opening a federated database in Studio.
   s
About Objectivity Studio
Studio provides a convenient graphical interface for executing statements in the Declarative Objectivity (DO) language. As such it is a graphical alternative to using the DO command-line tool.
Studio can help you perform tasks such as:
Creating, inspecting, changing, and deleting the types in a federated database’s schema.
Creating, inspecting, changing, and deleting the data in a federated database.
Performing queries to find particular persistent objects in the federated database.
Visualizing graphs of connected data in the federated database.
Studio provides a convenient graphical alternative to a number of Objectivity/DB command-line tools.
Studio as a Web Application
Studio consists of:
A Studio server, which connects to one or more federated databases.
A browser interface, which is a Web client that communicates with the Studio server through the WebSocket protocol.
Studio as an Objectivity/DB Application
The Studio server uses the DO language as the API for accessing data in a federated database. Because the DO language is built on an Objectivity/DB kernel, it can access data in files that are distributed among any number of hosts on the same network.
Furthermore, every Studio operation is a complete, independent transaction with the current federated database. Thus, a Studio session consists of a series of transactions (and not, for example, a series of actions taken within a single transaction). Consequently, you can perform Studio operations in any order and you can leave Studio idle as long as you like between operations.
Studio transactions use the lock server of the opened federated database to obtain any required locks, which means you can use Studio concurrently with other tools or applications that access the same federated database.
Starting the Studio Server
You start the Studio server as a local process on the current host, using the start_studio script, which is installed with ThingSpan in the installDir/bin directory. At a minimum, you must specify the -logDir option with the path to a directory in which to write log files. The directory must be local to the Studio server host.
Start the Studio server by running the following at a command prompt:
start_studio -logDir logDirPath
Example
The following script starts the Studio server with the specified log directory:
start_studio -logDir C:\work\studioLogs 
Required Permissions
You must start the Studio server under a user account with sufficient access permissions to:
Read and write in the log directory you specified to the -logDir option.
Read the boot file for each federated database to be accessed by Studio.
Read and write all data files and journal files to be accessed, and the directories containing them.
Create any new data files or journal files, as necessary.
(Windows only) Use any required UNC network share names.
Changing the TCP/IP Port for the Studio Server
By default, Objectivity/DB assigns the Studio server to TCP/IP port 8190. On rare occasions, you may be prevented from starting the Studio server because another service is already using the default port. If possible, you should assign the other service to a different TCP/IP port. If you cannot do this, you can assign the Studio server to a nondefault port.
To start the Studio server on a nondefault TCP/IP port:
Run start_studio with the -port option.
Example
The following script starts the Studio server on port 8800:
start_studio -logDir C:\work\studioLogs -port 8800
Storing a List of Federated Databases
By default, you open a federated database in Studio by explicitly entering the boot file path in the Studio web client; see Opening a Federated Database in Studio.
If you plan to use Studio to access the same federated database again and again, you can store the boot file path in the Studio server. The stored path will appear as an entry in the Federated Databases side panel when you connect to Studio. To start the Studio server with a stored boot file path:
Run start_studio with the -bootFile option.
If you plan to use Studio to repeatedly access a group of federated databases, you can place the boot file paths into a single directory, and store the directory name in the Studio server. Each boot file in that directory will appear as an entry in the Federated Databases side panel when you connect to Studio. To start the Studio server with a stored list of the boot files from a particular directory:
Run start_studio with the -fdDir option.
Note:Stored boot file paths are displayed as entries in all clients that connect to the Studio server.
Example
The following script stores C:\work\data\rentalFleet.boot with the Studio server:
start_studio -logDir C:\work\studioLogs -bootFile C:\work\data\rentalFleet.boot
Example
The following script stores the directory C:\work\data with the Studio server:
start_studio -logDir C:\work\studioLogs -fdDir C:\work\data
Stopping the Studio Server
You stop a Studio server using the stop_studio script, which is installed with ThingSpan in the installDir/bin directory. You must run this script on the host of the Studio server to be stopped.
Stop the Studio server by running the following at a command prompt:
stop_studio 
By default, this script stops a Studio server process running on TCP/IP port 8190. If you started the Studio server on a nondefault port, you must run stop_studio with the -port option.
Connecting to Studio
You can connect to the Studio server to view Studio in a browser.
If your browser is running on the host that is running Studio server:
Enter the following URL:
localhost:8190/index.html
If your browser is running on a host other than the one running Studio server, replace localhost with the name of the Studio server host:
Enter the following URL:
studioServerHostName:8190/index.html
Note:If Studio server was started with a nondefault TCP/IP port number, specify that port number instead of 8190.
Note:Multiple users can connect to the same Studio server simultaneously.
Opening a Federated Database in Studio
You can use Studio to open an existing federated database. Opening a federated database loads its schema into Studio so that Studio operations can access your data.
To open an existing federated database in Studio for the first time:
1. In the Studio menu click the Database icon to display the Federated Databases side panel.
2. Click the + symbol next to Federated Databases.
3. In the Boot File field, specify the boot file for the federated database. If the boot file resides on a remote host, specify the host name in the Host Name field.
4. Click Finish. An entry for the federated database is displayed in the Federated Databases side panel.
To reopen a federated database in Studio:
In the Federated Databases side panel, click on the entry for the federated database you want to reopen.
When you explicitly open an existing federated database in Studio, its entry remains on the Federated Databases side panel as long as the Studio server is running. If you stop and restart the Studio server, you will need to explicitly open the federated database again. As a convenience, you can keep entries in the Federated Databases side panel by starting the Studio server as described in Storing a List of Federated Databases.
You can switch between federated database by clicking on different entries in the Federated Databases side panel. Note that only one federated database can be open at a time.