Advanced Installation TopicsScalable Installation Options

Scalable Installation Options

Sana Commerce 8.2
Your provider

Multiple Servers

It is possible to run Sana Commerce on multiple servers, to which different configurations can be applied. The two most common server configurations are described in this chapter. Keep in mind that other combinations are also possible if desired. 
 
Webserver & Database/MS Dynamics NAV Server 
 
Prerequisites 

Web server:

  • Microsoft Windows 2008 server R2;
  • Microsoft .NET Framework 3.5 SP1 or higher;
  • Microsoft IIS 7.

Database/MS Dynamics NAV server:

  • Microsoft Windows 2008 server R2;
  • Microsoft .NET Framework 3.5 SP1 or higher;
  • Microsoft SQL Server 2008 Express or Standard edition;
  • Optional: Microsoft SQL Management Studio 2008  Express or Standard edition;
  • Microsoft Dynamics NAV - Administration database (SQL or native) - the Pebblestone Fashion 9.0 module is required when using the Sana Commerce Fashion add-on;
  • Microsoft Dynamics NAV - Application Server for Microsoft Dynamics NAV (SQL or native) in case of using WCF + NAS connection;
  • Microsoft Dynamics NAV 2009 Server and Web Services in case of using NAV 2009 three-tier environment;
  • Optional: Microsoft Dynamics NAV - Client (SQL or native);
  • Optional: Microsoft Dynamics NAV RoleTailored Client (SQL or native).
For hardware requirements per server, please check the 'Hardware requirements for web and database server' and 'Hardware requirements for NAV server' chapters. 
 
Recommendations 
This setup is commonly used to physically separate the NAV administration from the internet and to optimize the performance of Sana Commerce. This also makes a decentral setup possible (see the chapter 'Decentral Setup'). 
 
We recommend you to install the NAS on the database/NAV server. In this case, both local and domain users can be used for running the NAS. When running the NAS on the web server, only domain users can be used. Besides that, the NAS is directly dependent and the database/NAS server's state. When running the NAS on the web server, it can occur that, when the database/NAS server is rebooted, the NAS cannot restore the connection to the NAV administration, resulting in a non-working application that can only be repaired by manually restarting the NAS.
 
It is possible to configure the separate NAV 2009 Server services for each Sana Commerce subsystem in the same way as NAS. You can find more information about this type of configuration later in the chapter 'Multiple NAV 2009 Server Services'.
 
This server setup can easily be applied to create a shared web server for multiple Sana Commerce solutions that connects to different database/NAV servers. 
 
Web/database Server & NAV Server 
 
Prerequisites 

Web/database server:

  • Microsoft Windows 2008 server R2;
  • Microsoft .NET Framework 3.5 SP1 or higher;
  • Microsoft IIS 7;
  • Microsoft SQL Server 2008 Express or Standard edition;
  • Optional: Microsoft SQL Management Studio 2008 Express or Standard edition.

NAV server:

  • Microsoft Windows 2008 server R2;
  • Microsoft .NET Framework 3.5 SP1 or higher;
  • Microsoft Dynamics NAV 5.0 - Administration database (SQL or native) - the Pebblestone Fashion 9.0 module is required when using the Sana Commerce Fashion add-on;
  • Microsoft Dynamics NAV 5.0 - Application Server for Microsoft Dynamics NAV (SQL or native);
  • Optional: Microsoft Dynamics NAV 5.0 - Client (SQL or native).
For hardware requirements per server, please check the 'Hardware requirements for web and database server' and 'Hardware requirements for NAV server' chapters.     
 
Recommendations 
This setup is commonly used to physically separate the MS Dynamics NAV administration from the internet and to optimize the performance of Sana Commerce. This also makes a decentral setup possible (see the chapter 'Decentral Setup'). A difference between this setup and the one described in the chapter 'Webserver & Database/MS Dynamics NAV Server' is that the Sana Commerce SQL database is located on the same server as the web applications. The choice should be made based on the hosting strategy (for example, sharing license cost between customers, virtualization). The influence on the performance is minimal when running normal visitor amounts. However, there may be customized functionalities in the Sana Commerce project which can have influence on this decision. 
 
We recommend you to install the NAS on the NAV server. In this case, both local and domain users can be used for running the NAS. When running the NAS on the web server, only domain users can be used. Besides that, the NAS directly depends on the database/NAS server's state. When running the NAS on the web server, it can occur that, when the NAS server is rebooted, the NAS cannot restore the connection to the NAV administration, resulting in a non-working application that can only be repaired by manually restarting the NAS. 
 
This server setup can easily be applied to create a shared web/database server for multiple Sana Commerce solutions that connects to different NAV servers. 
 
Decentral Setup 
When you are using multiple servers, it is possible to run them decentral, independent of the used server setup. Customers may want to run their NAV administration within their own network and the web server, which is running the Sana Commerce websites, is located at a hosting provider. In this decentral scenario, there are two ways to guarantee the safety of the data that is sent between the servers; make use of a VPN connection or use the HTTPS protocol for the communication between the servers. 
 
Use a VPN 
When a VPN is installed, the connection between the decentral servers is secure.
An advantage of using a VPN instead of the HTTPS protocol is that the encryption/decryption of the data is done within the firewalls of the network instead of on the servers, which are communicating over the Internet. This way, it will not have influence on the performance. 
 
To setup a VPN, please contact your system administrator.
 
Use the HTTPS Protocol 
The second option to guarantee the safety of the data is using the HTTPS protocol for the communication between the Sana Commerce web applications and the WCF service, which has been started from the NAS. 
 
To setup HTTPS, follow the steps below: 

Step 1: Request a SSL certificate at a certificate authority for the hostname of the server running the WCF service and install this certificate. How to do this, is described in the 'SSL certificate for NAS Service' section.

Step 2: Configure the URL for the WCF service as follows (this command is case sensitive!):

Httpcfg.exe set urlacl https://URL:PORTNUMBER/navision /a "O:AUG:AUD:(A;;GA;;;AU)"

#URL#: Change to:
+ : when the port registrations in the HTTP Server routing table are placed in the "Strong Wildcard" bucket;
[hostname] : when the port registrations are placed in the "Explicit" bucket;
[IP-address] : when the port registrations are placed in the "IP-bound Weak Wildcard" bucket;
* : when the port registrations are placed in the "Weak Wildcard" bucket;
#PORTNUMBER#: must be replaced by the port number on which the NAS is running.

For more information about routing incoming requests, please check http://msdn.microsoft.com/en-us/library/aa364687(VS.85).aspx.
 
To see the detailed description of the 'Httpcfg' command syntax, please check http://technet.microsoft.com/en-us/library/cc781601(WS.10).aspx. 

More information about the previous steps can be found here: http://msdn.microsoft.com/en-us/library/ms733791.aspx.

Step 3: Open the NAV client and connect to the correct administration, open the 'Webshop' menu item and select 'Setup'. In the 'Sana Commerce Setup' window click 'Configure Services':

 
The 'Sana Commerce NAS Setup' Window 

Step 4: Depending on whether you are running a 'Single NAS Setup' or 'Multiple NAS Setup', open the correct tab.

Step 5: Activate 'Use Secure Connection (https)' check box and specify port number.

Step 6: Click 'OK' to save your changes.

Step 7: Then open the 'web.config' of the Sana Commerce frontend web application in any text editor.

Step 8: Locate the connectionStrings configuration section and update the protocol to 'HTTPS' in the 'connectionString' attribute of the 'NAVService' node. This can be multiple nodes if running multiple NAS'es.

Step 9: Now open the 'web.config' of the Sana Commerce backoffice web application and repeat these steps in this location.

Advanced Installation TopicsScalable Installation Options