Web Service
The Web Front is an ASP.NET application developed for Microsoft’s IIS. In order to successfully deploy it, please make sure IIS is properly configured in the system, and that the required ASP.NET components are enabled for the server:
Copying Voxel Farm Web Front files
The next step is to copy Voxel Farm’s Web Front to the published web root directory for the server.
The contents of the Web Front Server can be found in the “<SDKFolder>\Server.Web” folder:
Select all files and copy them into the public web folder for the IIS deployment, typically “c:\inetpub\wwwroot”:
Editing Web.config
Open Web.config in a text editor. In this file you will provide configuration values specific of your new deployment. You will find these as entries under the <appSettings> node.
The following table lists the key pairs and their intended use:
Key |
Description |
Example |
aws_region |
Used only in AWS. Contains the AWS region identifier. |
<add key="aws_region" value="us-west-2" /> |
aws_dynamo_region |
Used only in AWS. Contains the AWS region identifier for the database service (dynamo). If it is omitted aws_region will be used in place. |
<add key="aws_dynamo_region" value="us-west-2" /> |
aws_sqs_region |
Used only in AWS. Contains the AWS region identifier for queue service (SQS). If it is omitted aws_region will be used in place. |
<add key="aws_sqs_region" value="us-west-2" /> |
aws_s3_region |
Used only in AWS. Contains the AWS region identifier for storage service (S3). If it is omitted aws_region will be used in place. |
<add key="aws_s3_region" value="us-west-2" /> |
aws_sns_region |
Used only in AWS. Contains the AWS region identifier for notification service (SNS). If it is omitted aws_region will be used in place. |
<add key="aws_sns_region" value="us-west-2" /> |
aws_bucket_name |
Used only in AWS. The name of the S3 bucket that will be used for storage. |
<add key="aws_bucket_name" value="com.voxelfarm.vfcloud.0.0.0.0" /> |
aws_table_name |
Used only in AWS. The name of the table in Dynamo that will store all key/values for the spatial entity metadata. |
<add key="aws_table_name" value="VFCLOUD001_ENTITIES" /> |
aws_queue_name |
Used only in AWS. Name of the Queue in Amazon’s SQS that will be used by Voxel Farm services to talk to each other. |
<add key="aws_queue_name" value="ProcessQueue.fifo" /> |
aws_sns_topic |
Used only in AWS. A SNS topic that will be used for services to send notifications. |
<add key="aws_sns_topic" value="arn:aws:sns:us-west-2:457155399432:vfcloud_events" /> |
aws_sns_endpoint |
Used only in AWS. A SNS endpoint, allowing this instance to receive notifications. This should be a URL that is served by this instance. |
<add key="aws_sns_endpoint" value="http://<THIS_IP>/events.ashx" /> |
aws_sns_protocol |
Used only in AWS. Specifies which protocol will be used for SNS. |
<add key="aws_sns_protocol" value="http" /> |
azure_storage_connection_string |
Use only in Azure. Contains the security connection string for Azure Storage. |
<add key="azure_storage_connection_string" value="<YourConnectionString>" /> |
azure_container_name |
Used only in Azure. Specifies the container name to be used for blob storage. |
<add key="azure_container_name" value="com-voxelfarm-vfcloud" /> |
azure_table_name |
Used only in Azure. Contains the name of the table that will store all key/values for the spatial entity metadata. |
<add key="azure_table_name" value="VFCLOUD001ENTITIES" /> |
azure_queue_name |
Used only in Azure. The name of the queue that will be used by Voxel Farm Cloud services to talk to each other. |
<add key="azure_queue_name" value="process-queue-fifo" /> |
azure_servicebus_connection_string |
Used only in Azure. Connection String for the Azure service bus. |
<add key="azure_servicebus_connection_string" value="" /> |
azure_servicebus_topic |
Used only in Azure. Topic name for service bus. |
<add key="azure_servicebus_topic" value="events" /> |
azure_servicebus_subscription |
Used only in Azure. Contains the service bus subscription identifier. Use “process”. |
<add key="azure_servicebus_subscription" value="process" /> |
file_folder |
Used only in File mode. Contains the folder to store blobs. |
<add key="file_folder" value="Z:\files" /> |
file_folder_db |
Used only in File mode. Contains the folder to store metadata. |
<add key="file_folder_db" value="Z:\db" /> |
file_topic |
Used only in File mode. Topic name to send notifications. |
<add key="file_topic" value="events" /> |
file_subscription |
Used only in File mode. Subscription name to receive notifications. |
<add key="file_subscription" value="process" /> |
file_msg_endpoint |
Used only in File mode. A endpoint, allowing this instance to receive notifications. This should be a URL that is served by this instance. |
<add key="file_msg_endpoint" value="http://<THIS_IP>/events.ashx" /> |
file_queue_name |
Used only in File mode. The name of the queue that will be used by a Web Server to talk to others. |
<add key="file_queue_name" value="process-queue-fifo" /> |
file_queue_server |
Used only in File mode. Contains a name to register a Web Server as a Queue Server |
<add key="file_queue_server" value="queueserver" /> |
file_msmq_endpoint |
Used only in File mode. A endpoint, to query this instance for messages. This should be a URL that is served by this instance. |
<add key="file_msmq_endpoint" value="http://<THIS_IP>/events.ashx" /> |
storage_provider |
Selects which platform should be used for storage. Possible values area “AWS”, “AZURE” and “FILES” |
<add key="storage_provider" value="AWS" /> |
database_provider |
Selects which platform should be used for storage. Possible values area “AWS”, “AZURE” and “FILES” |
<add key="database_provider" value="AWS" /> |
queue_provider |
Selects which platform should be used for the application queue. Possible values area “AWS”, “AZURE” and “FILES” |
<add key="queue_provider" value="AWS" /> |
message_provider |
Selects which platform should be used for notifications. Possible values area “AWS”, “AZURE” and “FILES” |
<add key="message_provider" value="AWS" /> |
Example <appSettings> node:
<appSettings>
<add key="aws_region" value="us-west-2" />
<add key="aws_bucket_name" value="com.voxelfarm.vfcloud.0.0.0.0" />
<add key="aws_table_name" value="VFCLOUD001_ENTITIES" />
<add key="aws_queue_name" value="ProcessQueue.fifo" />
<add key="aws_sns_topic" value="arn:aws:sns:us-west-2:457155399432:vfcloud_events" />
<add key="aws_sns_endpoint" value="http://54.203.86.144/events.ashx" />
<add key="aws_sns_protocol" value="http" />
<add key="azure_storage_connection_string" value="" />
<add key="azure_container_name" value="com-voxelfarm-vfcloud" />
<add key="azure_table_name" value="VFCLOUD001ENTITIES" />
<add key="azure_queue_name" value="process-queue-fifo" />
<add key="azure_servicebus_connection_string" value="" />
<add key="azure_servicebus_topic" value="events" />
<add key="azure_servicebus_subscription" value="process" />
<add key="storage_provider" value="AWS" />
<add key="database_provider" value="AWS" />
<add key="queue_provider" value="AWS" />
<add key="message_provider" value="AWS" />
<add key="file_folder" value="\\192.168.2.84\vfcloud\files" />
<add key="file_folder_db" value="\\192.168.2.84\vfcloud\db" />
<add key="file_topic" value="events" />
<add key="file_subscription" value="fileserver" />
<add key="file_msg_endpoint" value="http://localhost:58697/events.ashx" />
<add key="file_queue_name" value="process-queue-fifo" />
<add key="file_queue_server" value="queueserver" />
<add key="file_msmq_endpoint" value="http://localhost:58697/events.ashx" />
</appSettings>
Testing the deployment
Make sure IIS is running in the server and use your browser to navigate to the web server’s default page.
You should see Voxel Farm Cloud’s welcome page: