ProjectWise Administrator Help

Example C:   Integration Server + storage | Gateway Service + cache | Caching Server + storage + cache

In this example there is an Integration Server, a Gateway Service, and a Caching Server. The Integration Server and Caching Server each have their own storage area. As in the previous examples there are two sets of ProjectWise Explorer users: userA, userB, userC, and userD are local to the Gateway Service, and userE, userF, userG, and userH are local to the Caching Server. On the Gateway Service it is already configured that all communication between userA, userB, userC, and userD will be routed through the Gateway Service.

The goal of this example is to enable caching on the Gateway Service and the Caching Server, so that userA, userB, userC, and userD get all remote files from the cache on their local Gateway Service, and so that userE, userF, userG, and userH get all remote files from the cache on their local Caching Server.



Gateway Service Configuration for Example C

  1. When you enable file caching on a Gateway Service, you are using the Gateway Service in Caching Server mode. Therefore in this example you need to uncomment the following line in the Gateway Service's dmskrnl.cfg file:

    FileTransferSrv=1

    Remember that you also need to purchase a Caching Server license when using the Gateway Service in Caching Server mode.

  2. If not done so already, uncomment the following line in the Gateway Service's dmskrnl.cfg file.

    ConnectionSrv=1
  3. Datasource list publishing settings

    The following lines make it possible for userA, userB, userC, and userD, all of whom in this example are within the same subnetwork as the Gateway Service, to see all of the Integration Server's datasources automatically when they open ProjectWise Explorer (removing the need for these users to establish a TCP connection to the Integration Server through the ProjectWise Network Configuration utility in their Control Panel).

    Databases=db0
    [db0]
    DsServer=1
    Server=INTSERVER

    If your Gateway Service is already used as a datasource list publisher, you would have already configured this section. If not, use the above section as an example of how to configure it in your Gateway Service's dmskrnl.cfg file.

    The line Server= is where you specify the computer name or IP address of the Integration Server. In this example, we are using the Integration Server's computer name INTSERVER.

  4. The [Cache] section in the Gateway Service's dmskrnl.cfg file tells the Gateway Service to enable caching on this computer, where to store the files on this computer, and how much space the cache can take up before it gets purged.

    [Cache]
    Enabled=true
    ;Servers=
    StoragePath=d:\cacheroot
    Limit=200
  5. Information in the [Gateway] section in the Gateway Service's dmskrnl.cfg file is echoed to userA, userB, userC, and userD, and instructs any of those users who happen to be checking out or copying out files located on either the Integration Server or the Caching Server, to instead get the files from the cache on the local Gateway Service.

    [Gateway]
    INTSERVER=PGS[Allow(userA,userB,userC,userD)]
    PCS=PGS[Allow(userA,userB,userC,userD)]

    The lines INTSERVER=PGS[Allow(userA,userB,userC,userD)] and PCS=PGS[Allow(userA,userB,userC,userD)] tell the users listed that those file requests which would have gone to the Integration Server (INTSERVER) or to the Caching Server (PCS), respectively, will instead be redirected to the Gateway Service (PGS). So when one of those users checks out a file stored on either the Integration Server or the Caching Server, that user will instead be getting the file from cache on the local Gateway Service. Since [Gateway] information is echoed to all clients connected to the Gateway Service, the [Allow(userA,userB,userC,userD)] portion of each line ensures that only those users listed will be redirected to PGS when making requests to INTSERVER or PCS.

    Tip: The only users connected to the Gateway Service in this example are userA, userB, userC, userD, therefore, in this example, it is not necessary to add [Allow(userA,userB,userC,userD)] to each line in the [Gateway] section. Though you could leave it out for this example, it is recommended that you always configure the Allow portion, since you may not have control or may not always know when other users are attempting to connect to this server.
  6. The [Routing] section in the Gateway Service's dmskrnl.cfg file tells the Gateway Service where to get files from when requests are received from clients.

    [Routing]
    INTSERVER=5800
    PCS=5800,INTSERVER

    In this example, the line INTSERVER=5800 instructs the Gateway Service that when files are requested from the Integration Server (INTSERVER), to get them directly from INTSERVER through port 5800. The line PCS=5800,INTSERVER instructs the Gateway Service that when files are requested from Caching Server (PCS), to forward the request to the Integration Server (INTSERVER) through port 5800. The Integration Server will know what to do with this forwarded request, based on the information you add to the Routing section in the Integration Server's dmskrnl.cfg file.

Integration Server Configuration for Example C

  1. Information in the [Gateway] section in the Integration Server's dmskrnl.cfg file is echoed to userE, userF, userG, and userH, and instructs any of those users who happen to be checking out or copying out files located on the Integration Server, to instead get those files from the cache on the local Caching Server.

    [Gateway]
    INTSERVER=PCS[Allow(userE,userF,userG,userH)]
  2. The [Routing] section in the Integration Server's dmskrnl.cfg file tells the Integration Server where to send file requests received from the Gateway Service. In this example, the Integration Server is the router server between the Gateway Service and the Caching Server.

    [Routing]
    PCS=5800

    In this example, when the Gateway Service forwards file requests (bound for the Caching Server) to the Integration Server, the line PCS=5800 tells the Integration Server to retrieve the requested file from the Caching Server.

Caching Server Configuration for Example C

  1. The [Routing] section tells Caching Server where to get files from when requests are received from clients.

    [Routing]
    INTSERVER=5800

    In this example, the line INTSERVER=5800 instructs the Caching Server that when files are requested from the Integration Server (INTSERVER), to get them from INTSERVER through port 5800.

  2. The [Cache] section in the Caching Server's dmskrnl.cfg file tells the Caching Server to enable caching on this computer, where to store the files on this computer, and how much space the cache can take up before it gets purged.

    [Cache]
    Enabled=true
    ;Servers=
    StoragePath=d:\cacheroot
    Limit=200