Repository Architecture and Design

From TeamServer ER/Studio
Jump to: navigation, search

Go Up to Repository Administration


The Repository relies on a native client connection and the TCP/IP protocol to send and receive information between ER/Studio DA, the Repository Server, and the Repository Database. Communications between the client and server are secure. SSL support in the client and repository allows you to specify the common URL and port to support secure communications between the client and the repository.

There is a metadata diagram of the Repository schema in the System Models directory (Repository300MetaModel.dm1). It includes relationships between entities as documentation whereas the actual database, for performance reasons, does not include FK constraints. The file shows the propagation chain which could be helpful for writing queries to run against the Repository.

For a complete list of software and installation requirements, and supported Repository Databases, see the Database Server Requirements.

Repository Client

Team Server provides the user interface for the Diagram data stored in the Repository. The ER/Studio Repository menu gives you access to all Repository functions and features. To access and use the Repository, you must have ER/Studio DA running.

You can access Repository metadata, search, and create reports through ER/Studio Team Server.

Repository Server

The Repository Server links ER/Studio DA to the Repository Database. The Repository Server contains the SQL code necessary to query the database to retrieve data or to insert data into the database. The Repository Server runs this code when it receives a request to execute an operation that requires it to read data in the database and return the appropriate information and when it receives a request to execute an operation that requires it to write new data to the database.

Notepad blue icon 2.pngNote: Because the Repository Server is responsible for inserting data into the database, and retrieving data from the database, you can only have one Repository Server for each Repository Database.

The Repository Server manages the state of the Repository data, which it stores in the Repository database. It records modeling change operations as requested by Team Server users.

When the server receives a request, it does the following:

  1. Checks to make sure the user has the necessary permissions to perform the operation.
  2. If the operation requests data from the Repository database, the server retrieves the data from the database and sends it to the Team Server instance from which the request originated.
  3. If the operation attempts to store data in the Repository database, the Repository Server writes the data out to the database.
  4. Notifies all Team Server “clients” of the new state of the Repository and sends them the appropriate information to update the displays.

Repository Database

The Repository uses a database to store information about the Repository Diagrams and their objects. The database is updated each time a user checks out, checks in, adds, or deletes any element of a Diagram. In addition, the Repository database stores the history of certain Repository operations, as well as all security rules and data.


Warning.gif WARNING: Do not directly update Repository tables because the database is a transactional system designed to handle collaborative model use. Updating the Repository database outside of ER/Studio DA can corrupt the data. The SQL scripts in the \...\IDERA\Repository\Utilities\MasterScripts and SQLScripts directories are used by the Repository within ER/Studio DA and should be used outside ER/Studio DA only at the request and under the guidance of IDERA Support.


See Also