Set Up the CWSREST Enterprise Server Region

Guides you through the process of creating and configuring the CWSREST enterprise server region, and verifying the resources required to run the RESTful JSON CICS Web service provider.

Start the Server Explorer

The Server Explorer expandable ribbon is visible in Visual Studio on the top left side of the IDE by default when using Enterprise Developer. However, if it is not visible:

  • In Visual Studio, click View > Server Explorer.

Create an enterprise server region

Here you use Enterprise Server to create an enterprise server region on which to run the Web service.

  1. On the Server Explorer, expand Micro Focus Servers.
  2. Right-click localhost; then select New Enterprise Server.
  3. In the Name field, type CWSREST. This is the name for the new enterprise server region.
  4. Click the browse button that corresponds to the Template field, and navigate to the CICSWebServicesTemplate.xml file located in the ESTemplates project folder.
  5. Double-click CICSWebServicesTemplate.xml. This populates the Template field.
  6. On the list next to Associate with projects, check BookREST.
  7. Click OK.

    The Server Explorer should now show the CWSREST enterprise server region listed under localhost.

    Note: If CWSREST doesn't immediately appear, right-click Micro Focus Servers; then select Refresh from the context menu.

Configure CWSREST resources

All Enterprise Server regions require access to certain resources, depending on the types of applications they run. Resources that are defined on a region's startup list are loaded during the startup routine, making them available for as long as the region is running.

CICS Web services use the underlying resources provided by the standard Enterprise Server CICS Web interface (CWI) and CICS Web Services (CWS) support. However, the CICSWebServicesTemplate used to create the CWSREST region does not include these resources on the startup list; therefore, you need to add them manually. The CWI resources reside in a predefined resource group named DFHWEB. The CWS resources are in the predefined DFHPIPE group.

In addition, you need to create and a resource group to contain the resources required by the BookREST program, and also add the new group to the startup list.

Start Enterprise Server Administration
  • On the Server Explorer, right-click Micro Focus Servers, and then click Administration.

    The Enterprise Server Administration Home page starts in a Visual Studio window.

Start the CWSREST enterprise server region
  1. On the Server Explorer, right-click CWSREST; then select Start.

    As the region is starting, the Enterprise Server Administration Home page should show log information in the region's Status Log column. When the region is fully started, this is indicated in the region's Status column.

    Note: If this is the first time you have started the server, you see a sign-on dialog box. If Server is secured is checked, uncheck it; then click OK. Unchecking Server is secured prevents this dialog box from showing when you subsequently start the region. If Server is secured is not checked, simply click OK to clear the dialog box. Also, if prompted to disable password recovery, click No. If a Secure Storage prompt appears, click No.
Start ES Monitor and Control (ESMAC)
  1. After CWSREST has started, on the Administration Home page, click the Details button located in the Status column for the CWSREST region.
  2. On the Server > Control page, click ES Monitor & Control. This starts the ESMAC utility where you can edit the startup list.
Open the DEMOSTRT startup list
  1. On the ESMAC menu, click the drop-down list located under Resources; then select by Group.
  2. Click Startup. This invokes a list of CICS Startup Lists in the right pane.

    The CWSREST region uses the default startup list, named DEMOSTRT.

  3. Click the Details button that corresponds to DEMOSTRT. This takes you to the CICS STARTUP - DEMOSTRT page.
Add resource groups
Here, you add the DFHWEB and DFHPIPE resource groups to the startup list, and add the CWSRESTP resource group name to the startup list. At this point, you have you have neither created nor defined the CWSRESTP group and its respective resources. Those tasks are completed in the next few sections of this tutorial.
  1. On the CICS STARTUP - DEMOSTRT page, scroll down to the end of the list and type DFHWEB into the empty field at the bottom; then click Apply.

    ESMAC adds the DFHWEB group, and adds another empty field at the end of the list.

  2. In the new empty field, type DFHPIPE; then click Apply.
  3. In the new empty field, type CWSRESTP; then click Apply.
Create the CWSRESTP resource group
  1. On the ESMAC menu, click the Groups button located under Resources.
  2. On the CICS Resource Groups page, click New.
  3. In the Name field, type CWSRESTP.
  4. In the Description field, type CICS Web Services JSON Provider Resources; then click Add.

    This invokes the CICS Group CWSRESTP page where you can create and define resources for the group.

Define CWSRESTP resources
The BookREST program requires a resource for TCP/IP service, and a resource to support a pipeline.
  1. On the CICS Group CWSRESTP page, click TCPIPSv.
  2. Complete these fields:
    Name RSTTCPIP
    Description My TCP/IP Service
    Port No 5639
  3. Click Add. Enterprise Server returns Add successful.
  4. Click Apply. Enterprise Server returns Update successful.
  5. Click Group List to return to the CICS Group CWSRESTP page.
  6. Click Pipeline.
    Important: If the Pipeline button is not present, check to be sure that you have properly installed the CCSID tables specified in the Tutorials: CICS Web Services topic.
  7. Complete these fields:
    Name RESTPIPE
    Description My CICS Provider Pipeline
    Resp Wait DEFT This is the number of seconds that an application waits for a response from the service. DEFT indicates the default value, which is 10 seconds for HTTP and 60 seconds for MQ.
    Config file $IDE_XML_LOC\jsonjavaprovider.xml The IDE_XML_LOC environment variable in CWSREST points to the xml project folder.1
    WebSvc Dir $IDE_LOADLIB\ The IDE_LOADLIB environment variable points to the loadlib project folder.1

    1 To see a list of environment variables defined for CWSREST, from the ESMAC menu, click Env.Vars..

  8. Click Add. Enterprise Server returns Add successful.
  9. Click Apply. Enterprise Server returns Update successful.
  10. Click Home to return to the Administration Home page.

Install CWSREST resources

You can install the new resources by stopping and starting the region.

  • From the Server Explorer, right-click CWSREST; then select Restart.

    This stops and then starts the CWSREST enterprise server region, automatically installing and loading the newly added resources on the startup list.

Verify Resources

After CWSREST is started, you can verify that the resources you have defined are installed and active.

  1. In Enterprise Server Administration, start ESMAC for the CWSREST region, just as you did before.
  2. On the ESMAC menu, select Active from the drop-down list located under Resources.
  3. On the ESMAC menu, click the WebSvc button. You should see the BookREST Web service listed and marked as INSERVICE.
  4. On the ESMAC menu, click Pipeline; then click the Details button that corresponds to RESTPIPE. The Pipeline resource sets the response wait period, identifies the JSON configuration file, and the Web service directory.
  5. On the ESMAC menu, click URIMap; then click the Details button that corresponds to PIPELINE and /cics/services/BookREST/*.

    Enterprise Server generates URIMaps to provide CICS with the information it needs to process requests. The name of each generated URIMap begins with a pounds sterling symbol (£).

    To run your RESTful CICS Web service, you can either send an HTTP GET request to retrieve an existing book record or an HTTP PUT request to create a new book record. The request is sent to an endpoint URL that routes the request to your enterprise server region. The endpoint URL contains a URI value. The incoming request reads the installed URIMaps to identify the map whose Path value matches the URI value of the endpoint URL. When the correct URIMap is identified, CICS uses the data defined in the URIMap, such as the name of the Web Service and its associated Pipeline, to process the request.