Defining Steplibs and Domains

The business service environment includes users, application libraries, business services, and their associated modules. Users are combined into larger entities known as groups. Application libraries, business services, and their associated modules are combined into larger entities known as domains. Before creating an application with Natural Business Services, you must define a domain for the services. Before users can access the services, you must grant access to the business services and service methods within the domain.

This section covers the following topics:


Step 1: Define the Steplib Chain

The first step in setting up a domain is to define its steplib chain. A steplib chain identifies where your business service libraries reside on the server. To locate and execute business service modules, you must set up a steplib chain and link it to your business service domain.

When defining your steplib chain, keep the following tips in mind:

  • Before adding a steplib entry, determine the database ID (DBID) and file number (FNR) of the FUSER system file you are using.

  • The library in which the dispatch server is running is scanned before libraries in the steplib chain; you do not have to add this library to your steplib chain.

  • Both the FUSER and FNAT system libraries are automatically added to your steplib chain; you do not have to add these libraries to your steplib chain.

  • If you intend to use the default DBID and FNR values for the current FUSER system file at runtime, you do not have to specify a DBID and FNR value for a library.

  • Ensure that you add your FUSER file in the SYSTEM library to the steplib chain. Most business services use the server framework components supplied with Natural Construct in this file (prefixed with CD or CC).

  • Any components required by your generated methods, such as subprograms, copycode, or data areas, must be available in your business service library or one of its steplibs.

  • If you are new to Natural Business Services, set up a sample environment. For example, set up a sample business service library and link it to your sample steplib chain. Use the same name to identify your business service library, steplib chain, and domain.

Start of instruction setTo define the steplib chain

  1. Enter "AA" in Function on the Business Service Administration Subsystem main menu.

    The Application Administration main menu is displayed.

  2. Enter "MM" in Function.

    The Application Administration Maintenance menu is displayed.

  3. Enter "ST" in Function.

    The Maintain Steplib Table panel is displayed. For example:

    BSSD__MP   ***** Business Service Administration Subsystem *****      BSSD__11 
    Feb 14                    - Maintain Steplib Table -                  9:00 PM  
                                                                                   
    *Action (A,B,C,D,M,N,P)    _                                                   
                                                                                   
     Steplib Name............: ________________________________                    
                               +---------------------------+                       
                               |    Library    DB     FNR  |                       
                               |    --------  ----- ------ |                       
                               |  1 ________  _____  _____ |                       
                               |  2 ________  _____  _____ |                       
                               |  3 ________  _____  _____ |                       
                               |  4 ________  _____  _____ |                       
                               |  5 ________  _____  _____ |                       
                               |  6 ________  _____  _____ |                       
                               |  7 ________  _____  _____ |                       
                               |  8 ________  _____  _____ |                       
                               +---------------------------+                       
                                                                                   
                                                                                   
    Direct Command: ____________________________________________________________   
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
    confm help  retrn quit        flip  pref                                main
  4. Add up to eight business service library chain names (Library), database IDs (DB), and file numbers (FNR) to the steplib chain.

  5. Record the name of the steplib chain.

You will add the steplib chain to the business service domain described in the following step.

Step 2: Define the Domain

Domains are used to group related business services. You can set up the same business service in multiple domains. The services assigned to the service can be different for each domain. For example, if you have a Customer service that is used in two business services, an Accounts Receivable and a Sales business service, the Customer service in the Accounts Receivable business service probably requires different services than a Customer service in a Sales business service. Consider setting up two domains, one for each business service. Assign services to the Customer service based on the business requirements addressed by each service.

The following steps describe how to set up a domain and link it to the steplib chain described in Step 1: Define the Steplib Chain. By default, all business services in the domain are accessed using the same steplib chain. You can, however, override the steplib chain for each business service and service method. For information, see Override the Steplib Chain for the Domain.

Tip:
Specify a steplib chain as high in the business service architecture hierarchy as possible. This prevents you from having to specify the steplib chain in many places. If the steplib chain applies to an entire business service, place it in the appropriate domain. If the steplib chain only applies to one service, identify it in the header portion of the business service definition. In this way, only exceptions need be specified.

Start of instruction setTo define the domain

  1. Enter "AA" in Function on the Business Service Administration Subsystem main menu.

    The Application Administration main menu is displayed.

  2. Enter "MM" in Function.

    The Application Administration Maintenance menu is displayed.

  3. Enter "DO" in Function.

    The Maintain Domain Table panel is displayed. For example:

    BSDO__MP   ***** Business Service Administration Subsystem *****      BSDO__11 
    Oct 14                    - Maintain Domain Table -                   9:00 PM  
                                                                                   
     Action (A,B,C,D,M,N,P)    _                                                   
                                                                                   
     Domain Name.............: ________                                            
     Description.............: _____________________________________________       
     Steplibs................: ________________________________ *                  
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
    Command: ____________________________________________________________          
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
    confm help  retrn quit        flip  pref                                main
  4. Type "A" in Action.

  5. Type the name of your domain in Domain Name.

  6. Type a brief description of the domain in Description.

  7. Type the name of your steplib chain in Steplibs.

  8. Press Enter to add the domain.

Next, you will link the domain to user groups in Step 3: Define Security for the Domain.

Override the Steplib Chain for the Domain

All business services in a business service definition share the same domain. All business services within a domain are accessed using the steplib chain for the domain. You can, however, override the steplib chain for each business service or method defined in your business service definition.

Start of instruction setTo override the steplib chain for the domain

  1. Enter "AA" in Function on the Business Service Administration Subsystem main menu.

    The Application Administration main menu is displayed.

  2. Enter "MM" in Function.

    The Application Administration Maintenance menu is displayed.

  3. Enter "AS" in Function.

    The Maintain Application Service Definitions panel is displayed. For example:

    BSIF__MP    ***** Business Service Administration Subsystem *****     BSIF__11 
    Oct 14           - Maintain Application Service Definitions -         9:01 PM  
                                                                                   
     Action (A,B,C,D,M,N,P)    _                                                   
     Domain:     ________            Service:    ________________________________  
     Version:    __ / __ / __        Type: _ * Default subprogram proxy: ________  
     * Steplibs: ________________________________                                  
     Description:  __________________________________________________              
                   __________________________________________________              
                   __________________________________________________              
                   __________________________________________________              
                   __________________________________________________              
                                        Subprogram                                 
     01            Method Name            Proxy                Steplibs *          
        -------------------------------- -------- -------------------------------- 
      1 ________________________________ ________ ________________________________ 
                                                                                   
      2 ________________________________ ________ ________________________________ 
                                                                                   
                                                                                   
    Command: ____________________________________________________________          
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
    confm help  retrn quit        flip  pref  bkwrd frwrd                   main
  4. Display the business service definition for the domain you want to modify (enter "D" in Action and the domain name in Domain).

  5. Type "M" in Action.

  6. Specify the new steplib name(s) in Steplibs.

  7. Press Enter to update the business service definition.

Step 3: Define Security for the Domain

To make your business service available to users, you must grant them security privileges. To set up security, assign users to one or more groups. Groups identify users who require similar access privileges to your business service. You can then grant groups access to your business service domain. Granting access to a domain enables users to access the services and methods within the domain.

Tip:
You can postpone this task until after you have created and tested your business service. At that time, you can better determine which security privileges should be granted to each group.

For each group granted access to a domain, you can further define security privileges by granting access to selected services and methods. For example, assume you have a business service domain called Payroll containing all of the services and methods required for the payroll business service for your organization. Two types of users require access to the payroll business service: managers and data entry personnel. Managers require access to the entire business service, while data entry personnel only require access to input hours, vacation time, sick time, and so on. You can set up one group for the managers and one for the data entry personnel. The Manager group is given access to all services and methods in the Payroll domain and the Data Entry group is only given access to those services and methods required to do their job.

Notes:

  1. For information on security, see Defining Users and Security Groups.
  2. For information on defining security for groups and domains, see Setting Business Service Security Options.

Change Security Privileges for the DEVS Group

By default, the DEVS group has access to all the supplied business services used by developers. Since security is applied automatically to all new domains, only users in the DEVS group are permitted to use these services (to test a new service, for example). If your organization uses a different group name for development purposes, you can modify the BS_USEDD subprogram in the SYSBIZ library and change the group name.