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:
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.
To define the steplib chain
Enter "AA" in Function on the Business Service Administration Subsystem main menu.
The Application Administration main menu is displayed.
Enter "MM" in Function.
The Application Administration Maintenance menu is displayed.
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 |
Add up to eight business service library chain names (Library), database IDs (DB), and file numbers (FNR) to the steplib chain.
Record the name of the steplib chain.
You will add the steplib chain to the business service domain described in the following step.
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.
To define the domain
Enter "AA" in Function on the Business Service Administration Subsystem main menu.
The Application Administration main menu is displayed.
Enter "MM" in Function.
The Application Administration Maintenance menu is displayed.
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 |
Type "A" in Action.
Type the name of your domain in Domain Name.
Type a brief description of the domain in Description.
Type the name of your steplib chain in Steplibs.
Press Enter to add the domain.
Next, you will link the domain to user groups in Step 3: Define Security 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.
To override the steplib chain for the domain
Enter "AA" in Function on the Business Service Administration Subsystem main menu.
The Application Administration main menu is displayed.
Enter "MM" in Function.
The Application Administration Maintenance menu is displayed.
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 |
Display the business service definition for the domain you want to modify (enter "D" in Action and the domain name in Domain).
Type "M" in Action.
Specify the new steplib name(s) in Steplibs.
Press Enter to update the business service definition.
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:
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.