The aim of this tutorial is to provide step-by-step recommendations on how to deploy an XAF application in a production environment. It is presumed that you have already reviewed the Comprehensive Tutorial (MainDemo Application). Here, you will learn how to deploy the application you developed. Lessons in this document refer to the simple application (called MySolution) you developed while performing the lessons in the XAF Tutorial. Microsoft SQL Server is used as the database management system (DBMS). However, you can use any XAF application, such as one of the demo applications that ships with XAF, or your custom application. Similarly, you can use any DBMS supported by XAF.
Use the Assembly Deployment Tool to analyze your project and obtain the list of assemblies you should deploy. Compare the assemblies the tool identifies to the redistributable assemblies list available in the End User License Agreement (EULA).
In a typical production environment, there are a number of computers playing various roles. Throughout this tutorial we use the following naming conventions:
- Developer Workstation - a PC with Microsoft Visual Studio and XAF installed. For instance, it can be your own workstation.
- End-User Workstation - one or more PCs with neither Microsoft Visual Studio nor XAF installed. Your aim is to deploy the XAF application to these workstations.
- Database Server - a server in which a DBMS is installed. Generally, End-User Workstations must have network access to this server.
- Web Server - a server in which Microsoft Internet Information Services (IIS) are installed. This server must have network access to the Database Server and be accessible from the end user's local network or via the Internet, if required.
- Terminal Server - a server in which Microsoft Terminal Services are installed. This server must have network access to the Database Server and be accessible from the end user's local network or via the Internet, if required.
The Database, Web and Terminal Servers may be physically located on the same server.
Deployment Tutorial Contents
This lesson helps you to decide where to deploy your Windows Forms application (to each End-User Workstation or to a Terminal Server), and where to deploy your ASP.NET application (to a local Web Server, to remote hosting or to a remote dedicated server).
Lessons on Various Deployment Methods
It is not necessary to follow all of these lessons. You can choose and apply the most suitable method.
You will learn how to connect your application to a Database Server, and how to create the initial database. Information on how to resolve database and application version mismatches is also provided.
This lesson provides an introduction to database security. You will learn how to grant access to an application database only to your XAF application users.
You will learn how to connect remote desktop clients to the Terminal Server with the Windows Forms application installed.
You will learn how to update your application.
A list of common deployment problems and ways of resolving them.
If you have no access to a real production environment, but still want to perform this tutorial for training purposes, you can use the DBMS and Web Server installed in the Developer Workstation. However, in this instance, it is recommended that you create a virtual LAN using virtualization software, so that you can perform all of the steps described in the tutorial.
To begin, refer to the Choose an Appropriate Location for Deployment topic.