The on-premises API feature provides a way to store workspace data behind your corporate firewall, or using servers anywhere on the Internet, by hosting a local version of the Structurizr API. To use this feature, you need to be subscribed to a paid plan.
The on-premises API is a Java EE web application, packaged as a
.war file for deployment into any compatible Java EE server such as Apache Tomcat.
A link to download the current version of the on-premises API application can be found on your dashboard. Simply deploy this into
an Java EE application server by following the instructions here.
To use the on-premises API feature, upload an empty workspace to the Structurizr cloud environment that includes a reference to the URL of the on-premises API server that will ultimately store the workspace content. For example, with Java:
Workspace workspace = new Workspace("Name", "Description"); workspace.setApi("https://my-local-server"); StructurizrClient structurizrClient = new StructurizrClient("key", "secret"); structurizrClient.putWorkspace(1234, workspace);
You then upload your real workspace data to your local installation of the on-premises API server.
Workspace workspace = new Workspace("Name", "Description"); // add people, software systems, containers and components // add views // add documentation StructurizrClient structurizrClient = new StructurizrClient("https://my-local-server", "key", "secret"); structurizrClient.putWorkspace(1234, workspace);
The data associated with Structurizr is stored as follows.
Inside your corporate firewall
- The full workspace content (the JSON representation of your workspace).
Structurizr cloud environment
- User profile information (e-mail addresses, passwords, etc).
- Workspace role information (the set of owners, read-write and read-only users).
- Workspace metadata to support the dashboard (name, description, last updated timestamp and a low resolution thumbnail).
If you're subscribed to a Team Plan, workspaces can be marked as private and shared with other Structurizr users as usual. Additionally, marking an on-premises workspace as public will allow only those people with access to the on-premises API server to view the workspace data. For example, if you install the on-premises API server behind your corporate firewall and mark the workspace as public, everybody within the boundaries of your corporate firewall will be able to access the workspace data through Structurizr, using the public URL, without authentication. Users who don't have access to your corporate network will see an empty workspace.