Installing the JAMS REST API

Follow

Prerequisites

  • JAMS 6.4 or higher
  • Windows Server 2012 or higher
  • .NET 4.6
  • IIS 8 or 8.5
  • Edge, Chrome, or Firefox recommended for the best experience

 

Installation

Begin by installing the Microsoft Web Deployment Tool with Typical installation options. 

Next, enable the Web Server IIS Role through the Server Configuration screen.

 

Ensure the following components are enabled within Application Development:

 

Download the REST API .zip file. After extracting the REST API installer, start the Command Prompt as an Administrator and issue the following Command:

.\JAMSSite.deploy.cmd /Y

 

Configuration

The JAMS Rest API ships with a sample configuration file, Common.Sample, located in C:\inetpub\wwwroot\JAMS.

Save a copy of Common.Sample in C:\inetpub\wwwroot\JAMS and name the copy "Common.Config". JAMS will reference this file for configuration settings.

Edit the newly created Common.Config file as necessary for the given environment:

  1. Copy the ConnectionString value from the Common.Config file in C:\Program Files\MVPSI\JAMS\Scheduler to the newly created Common.Config file.
  2. If the JAMS Site is installed within a Domain, set the ContextType value to "Domain" and ContextName value to the domain itself. (In the image below, the domain is "JAMS")
  3. If the JAMS Site is not installed within a domain, set the ContextType value to "Machine" and ContextName value to the name of the machine. 
  4. If the JAMS REST API/Web Client is installed on a different server than the JAMS Scheduler Server, set the SchedulerName value and SchedulerPort value accordingly.
    If the scheduler is not on another server, setting values for SchedulerName and SchedulerPort will cause issues.
  5. If the JAMS REST API/Web Client is installed on a different server than the JAMS Scheduler Server AND a failover is not configured, the key
    <add key="EnableRemoteAccess" value="true" />
    must be added to the Common.config file on the JAMS Server, located by default at C:\Program Files\MVPSI\JAMS\Scheduler\Common.config. This will open port 4773, allowing the web client to communicate with the scheduler. In an environment with a Failover configured, port 4773 will already be open.
    After configuring the JAMS Server common.config file, restart the JAMS Server service.
  6. If the JAMS REST API/Web Client is installed on a different server than the JAMS Scheduler Server, the JAMS fat client must be installed on the web server. The client can be downloaded here. The Web Server and Scheduler Server must be running the same version of the fat client.
  7. If the JAMS REST API/Web Client is installed on a different server than the JAMS Scheduler Server, users must grant the Web Server full permissions to the jamsrequests Queue on the Scheduler Server. Follow our article to grant access to the MSMQ, using the naming format MyWebServer$.

 

App Pool Settings

Add the user running the App Pool to the JAMSApp Role on the JAMS Database created during the initial installation. This will give proper permissions to the JAMS Database. 

NOTE: It may be necessary to give the DefaultAppPool the JAMSApp Role in SQL.
Users are recommended to run DefaultAppPool under LocalSystem for local machine installations.
For domain installations, it may be necessary to run the DefaultAppPool as NetworkService.

If your JAMS services are running as a domain account, it is also recommended to run the DefaultAppPool as that same domain account.

Restart IIS services.

Documentation

The REST API includes built-in documentation displaying the endpoints and corresponding Headers that can be passed. There are two variants of Documentation that can be accessed based upon your preference:

 

http://localhost/JAMS

http://localhost/JAMS/swagger

Have more questions? Submit a request

Comments

  • Avatar
    Damian Wheeler

    The documentation links at the end of this article reference localhost. Somehow I don't think that is correct.

  • Avatar
    Devon Lawler

    Hi Damian,

    localhost is an example in this case, if you're trying to access the site from the machine it's installed on. If you're accessing it from any other site, you'll want to use the IP or Machine/Host Name of the site instead.

    Thanks,

    Devon