Introduction
This section explains how to deploy and administer your own self-hosted PrizmDoc Viewer backend.
Architecture Overview
The PrizmDoc Viewer backend is comprised of two tiers, PAS and PrizmDoc Server:
-
PrizmDoc Server, the technical heart of the product, is a document processing and conversion engine. It is compute intensive but has no permanent storage.
-
PAS is a layer in front of PrizmDoc Server responsible for viewing concerns, such as saving and loading of annotations. As such, PAS requires access to a storage system which you manage (there are several supported options; see more below).
An application can send REST API requests to both of these tiers:
- For viewing, an application will send HTTP requests to PAS (and PAS will, in turn, send requests to PrizmDoc Server):
- For document processing (like file conversion or redaction), an application will send HTTP requests directly to PrizmDoc Server:
Load Balancing and Cluster Management
It is common in a production deployment to run multiple instances of PAS and PrizmDoc Server. The PAS and PrizmDoc Server tiers are conceptually independent, and each should be fronted by a load balancer of your choice:
Application developers needing to make PAS or PrizmDoc Server REST API calls should only send their requests to the load balancer sitting in front of the tier they are calling.
For PAS, any incoming request to the PAS tier can be routed to any PAS instance. You can use any off-the-shelf load balancer in front of your PAS instances (there is no need for anything like sticky sessions). Any PAS instance is capable of directly handling any request.
For PrizmDoc Server, the process is similar. Any incoming request to the PrizmDoc Server tier can be sent to any PrizmDoc Server instance. You can use any off-the-shelf load balancer in front of your PrizmDoc Server instances (there is no need for anything like sticky sessions). However, this is not because any PrizmDoc Server is capable of directly handling a request. Rather, this is because PrizmDoc Server instances are capable of routing any incoming request to the correct PrizmDoc Server instance in the cluster (the instance where document processing is actually occurring).
In order for PrizmDoc Server's automatic routing to work correctly, each PrizmDoc Server instance MUST have an up-to-date, accurate list of all of the instances in the PrizmDoc Server cluster. Each time you add or remove PrizmDoc Server instances to your cluster, you must inform each instance that the server list has changed (you can do this with a REST API call to each instance). For more information about this, see Cluster Server Environments > PrizmDoc Server.
Supported Storage Options for PAS
Your PAS instances will need to be configured to use some sort of shared storage. PAS supports several options for this:
- File system (such as network attached storage)
- Microsoft SQL Server
- MySQL
- Amazon S3
- Azure Blob Storage (beta)
For more information, see PAS Configuration.
Licensing
Self-hosted licensing is based upon your use of PrizmDoc Server. Each PrizmDoc Server instance you run must be configured with your license key (PAS instances do not require a license key to run).
For your convenience, PrizmDoc Server automatically runs in evaluation mode without a license: images may be displayed with a watermark on them and occasionally dialogs may be posted reminding you that PrizmDoc Viewer is in evaluation mode with a fixed feature set. When you are ready to deploy to production, a license will be required to run PrizmDoc Server in your production environment. Please contact info@accusoft.com to obtain a deployment license. For more information, see Deployment Licensing.
Deployment Options
For both PAS and PrizmDoc Server, we offer ready-to-run Docker images as well as Windows and Linux installers.
PAS
For PAS, deploying is easiest with Docker, and we recommend you use the PAS Docker image.
Deployment Option | PAS Pre-Installed |
---|---|
Docker | Yes |
Windows Installer | No |
Linux Installer | No |
-
To use the PAS Docker image, see Install PAS > Using Docker.
-
To install PAS directly on Windows, see Install PAS > Install on Windows.
-
To install PAS directly on Linux, see Install PAS > Install on Linux.
PrizmDoc Server
For deploying PrizmDoc Server, we recommend you use the PrizmDoc Server Docker image.
It largely depends on whether you need to render with Microsoft Office. If you do, then your only option is to deploy to a Windows machine with our Windows installer. However, if you plan to use PrizmDoc Server's built-in LibreOffice rendering, you can use any of our deployment options, including the Docker image.
Deployment Option | PrizmDoc Server Pre-Installed | Office Rendering |
---|---|---|
Docker | Yes | LibreOffice |
Windows Installer | No | LibreOffice or Microsoft Office |
Linux Installer | No | LibreOffice |
-
To use the PrizmDoc Server Docker image, see Install PrizmDoc Server > Using Docker.
-
To use the PrizmDoc Server Windows installer, see Install PrizmDoc Server > Install on Windows.
-
To use the PrizmDoc Server Linux installer, see Install PrizmDoc Server > Install on Linux.
Minimal Backend Quick Start
If you just want to quickly setup a single instance of PAS and PrizmDoc Server running on a single machine (perhaps for evaluation), check out our Minimal Backend Quick Start.