Frameworks
Integrations
Mendix
SharePoint
Default UI
Modular UI
AnnotationManager
Annotation Types
Customize
Version 11
Version 10
v10.12
v10.11
v10.10
v10.9
v10.8
v10.7
v10.6
v10.5
v10.4
v10.3
v10.2
v10.1
v10.0
Version 8
v8.12
v8.11
v8.10
v8.9
v8.8
v8.7
v8.6
v8.5
v8.4
v8.3
v8.2
v8.1
v8.0
Version 7
Version 6
v6.3
v6.2
v6.1
v6.0
Version 5
Version 4
Version 3
Version 2
WebViewer Server
WebViewer BIM
This guide will show you how to build a highly reliable auto scaling server backend that will automatically work with your WebViewer based application to display documents. This server backend is built through a CloudFormation template.
We also offer directions on running WebViewer Server on a single EC2 server.
This will be the easiest and quickest way to get going on Amazon. This guide will show you how to setup a single EC2 server and run the WebViewer Server container on it.
Launch Instance
. From here we will configure this EC2 server for launch.Amazon Linux AMI
for your server. Select Choose Instance Type
- select the instance you want. We recommend at minimum the t2.medium
instance. Select Configure Security Group
and hit Add Rule
. Set the type to HTTP
. Select Review and Launch
. In moments your server is will be online. The next step will setup and install Docker.he DNS public name. SSH can be done with a tool such as putty on windows and the ssh command on Linux.
If you choose to attach a load balancer to WebViewer Server there are some things to keep in mind.
In this portion of the guide we go over using our CloudFormation template to launch an auto scaling server architecture for running WebViewer Server.
This auto-scaling server setup will provide a way to handle any incoming load by scaling servers out as required, and in as required. Prior to launching this template, you should already have an Amazon Web Services account that is able to use these features: EC2
, VPC
, Lambda
, CloudWatch
, CloudFormation
, IAM
, ACM
and the Elastic Container Service
.
The steps for usage are as follows.
Create a New Stack
on CloudFormation using this template.Stack Name
- All resources will be prefixed with the stack name. Required.EC2Key
- The private key the infrastructure resources will use. Required.AvailabilityZone (1 & 2)
- The zones your resources are run in, must be two seperate zones. Required.Path
- The path of your resources in AWS, should be ‘/’ unless there are special considerations. Required.PDFNetKey
- Your Apryse license. The server will continue to run in demo mode until an Apryse key is provided.SSLServerCertificateARN
- required to run the server with HTTPS, to setup a SSL Certificate on AWS we suggest using the Certificate Manager: https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.htmlECSNotificationTopic
- The ARN of a SNS notification topic. Notifications will be sent to the group given when the containers upscale and downscale.2a. This template works out of the box for WebViewer Server version >= 2.1.6, for versions below this, please change HealthCheckCall option to the following...
node /usr/local/apache-tomcat/bin/healthcheck.js
I acknowledge that AWS CloudFormation might create IAM Resources
. Click Create
. In approximately 15 minutes your stack will be created and ready to go.Outputs
in the dropdown menu on CloudFormation. This will show links to the resources created.Now that your server has built you have a complete WebViewer backend for viewing documents. To target the server with your application you need to find the DNS name of the main load balancer. The load balancer will be prefixed with your stack name. It can be also found by:
Outputs
section of your stack in CloudFormation.LoadBalancer
.Any certificates or domains you are using for the WebViewer Server should be tied to this DNS name. From here, you can use this DNS name in your WebViewer initializer as directed by the WebViewer Server guide.
A demo of the WebViewer Server’s capabilities can also be found at: your-load-balancer-address/demo?s
CloudFormation
. Right click on your stack and select Update Stack
.CloudFormation
. Right click on your stack and select Update Stack
.If your update becomes stuck during this update it means the CloudFormation changes were too complex for CloudFormation to handle. In this situation we recommend creating a new stack with the new template.
CloudFormation
.Delete
.All logs for the Apryse server will be placed under a single log group in CloudWatch. This log group can be found in the Outputs of your stack under PDFTronCloudWatchGroup. The log group name will be prefixed with your stack name.
Contained within the group will be 2 types of log, one for each container. The logs within the group represent each ECS cluster and are as follows:
As of version 1.1.0 of the template we now offer built in notification alarms regarding container upscaling and downscaling activity. We offer an option within the settings for placing your SNS group for notifications on AWS.
WebViewer Server does not come with built in alarms to notify users on server state changes. These can be user added. Below are some key metrics that could be used for your alarms and notifications:
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html
In our documentation we describe several arguments. These arguments can be set in the template as well by modifying the PDFDTaskDefEnvironment
variable. Some variables are set in the template by default. Do not alter existing options under this Environment
variable, they are either required in their state or controlled by the options available at the start of the template load.
There are a handful of known issues:
Updating an existing stack after changing AWS::ECS::Service
configuration in the template may cause failure on update as well as long delays before this failure notification.
Deleting the stack results in failure occasionally.
When deploying the server, the CloudFormation template is used as a blueprint for AWS infrastructure. It builds this infrastructure and pulls in our WebViewer Server Docker image. These images are pulled directly from DockerHub.
The diagram below shows how the CloudFormation
auto scaling server setup is designed
The Elastic Container Service
is the backbone of the system. It manages 2 types of container:
The Elastic Container Service
, in tandem with the auto scaling groups control container and server instance scalability. A series of Lambda functions manage performance measures, alarms and network mapping for these containers. This ensures high availability for the server. We use Fargate
servers rather than direct EC2 instances by default in the newest version of the template.
At the front of everything sits an AWS Application Load Balancer
. The internal network is private and heavily restricted to ensure security. As a result, the AWS Application Load Balancer is the only public facing part of the system and gives access to the main functionality required for application development with WebViewer.
Some customers may choose to construct their own architecture on Amazon when using WebViewer Server. This part of the guide will detail things you will need to know when doing so.
Did you find this helpful?
Trial setup questions?
Ask experts on DiscordNeed other help?
Contact SupportPricing or product questions?
Contact Sales