How to scale your Visual WebGui application over a web-farm

The Scalable Server extension provides the scaling capabilities required for storing the session state within an external state server which can be either an SQL Server or any state server that is enabled by Microsoft ASP.NET session state.

The Enterprise Server is constructed of 2 main orchestrating components:

  1. The Enterprise Server's Windows Service which is responsible of enabling the serialization of the VWG state and assuring the process is done efficiently and optimized.

    services
  2. The Enterprise Server SDK capable of communicating with the Enterprise Server's Windows service enabling state serialization.

    scalability - servers farm

The Installation

The installation file presents 2 options:

  • Enterprise SDK – which installs the Enterprise Server's Windows Service locally of the selected .NET runtime version along with the selected VS version's VWG templates (should be selected when installing development machines).
  • Enterprise Server – which installs the Enterprise Server's Windows Service locally only (should be selected when installing a server).

Scalable server installation

Scalable server license agreement

Scalable server Installation type selection

Scalable server installation folder

Scalable server Installation process

Scalable server installation complete

Configuration

Regarding the ASP.NET session state configuration:  

   <!--  SESSION STATE SETTINGS
          By default
ASP.NET uses cookies to identify which requests belong to a particular session.
          If cookies are not available, a session can be tracked by adding a session identifier to the URL.
          To disable cookies, set sessionState cookieless="true".
   
-->

    <sessionState
            mode="InProc"
            stateConnectionString="tcpip=
127.0.0.1:42424"
            sqlConnectionString="data source=
127.0.0.1;Trusted_Connection=yes"
            cookieless="false"
            timeout="20"
    />

While using mode="InProc" as shown above, scalability is not enabled since the state is kept "in process" meaning within the IIS/WebDev server.

Configuring mode= "Off" cannot be used with VWG as the session state is essential in order to run the Server Based architecture.

Any other configuration, such as mode="SQLServer" (along with a proper definition of the connection) will require the serializability capabilities implemented within the scalability service orchestrated with the Enterprise SDK.

Runtime

Running any session state mode other than "InProc" will require the Windows Service to be available and running.

Note

Make sure that all of the server side objects are either serialize-able (meaning that all of their members are either primitives or are serialize-able objects recursively), alternatively they can suit if they are re-initialized automatically when empty.

Learn more about how the Scalable Server extension can upgrade your enterprise application scalability.

Read the original Scalable Server Extension Quick Start

No Comments