Environment Configuration and TACF Resource Access

This chapter describes how to configure an environment for OpenFrame Manager and how to configure TACF resource access authority.

1. Environment Configuration

To use OpenFrame Manager, the following files need to be configured.

1.1. ofmanager.properties

The environment settings including those configured by the user during installation are saved in the following file:

$OFMANAGER_HOME/conf/ofmanager.properties

If this file is modified, the JEUS MS server on which OpenFrame Manager is running must be restarted.

The following is the format of the ofmanager.properties file followed by descriptions of each configuration items.

################################################################################
#####                                                                      #####
#####            OpenFrame Manager CONFIGURATIONS                          #####
#####                                                                      #####
################################################################################

# DB Property
ofmanager.datasource=<datasource-name>

# OpenFrame GW Property
openframe.webterminal.url=<webterminal-ip>:<ofgw-luport>/<webterminal-name>
openframe.webterminal.name=<ofgw-name>

# Tmax Property
openframe.tmax.ip=<tmax-ip>
openframe.tmax.port=<tmax-port>
openframe.tmax.connection.groupname=<tmax-connection-groupanme>
openframe.tmax.connection.init=<tmax-connection-init>
openframe.tmax.connection.max=<tmax-connection-max>
openframe.tmax.connection.inc=<tmax-connection-inc>

# OS Property
openframe.os = {mvs|msp|xsp}

# CPM Name
openframe.cpm.name=<cpm-name>

# Encoding
encoding = <encoding-name>

# Menus Property
ofmanager.module = [BM|TM|OSC|OSI|HIDB]

# Node Information
openframe.defaultNode=<node-name>
openframe.nodelist=<node-list>

# Domain Property
domain.name = <domain-name>
domain.type = {Dev|Prod|Test}

# textarea font change
ofmanager.language={english|japanese}

# Auto Refresh Interval in CM > Console > Reply
ofmanager.consoleReplyRefreshInterval = ( 0(default) ~ 4 : not using auto-refresh, 5 and over : using auto-refresh)


# Allow editing jcl
ofmanager.jclSave = {yes|no}
ofmanager.userSpool = {true|false}#Using UserSpool

# OFManager font
# recommendation
# japanese = MS Gothic
# english  = HACK, monospace, sans-serif, serif
ofmanager.userFont = MS Gothic
Item Description

ofmanager.datasource

Name of the data source used to create and access database tables.

This must be set to the <data-source-id> value of the <data-source> item configured for JEUS domain setting.

openframe.webterminal.url

URL to access the [OSC] menu in OpenFrame Manager to check the terminal information.

  • webterminal-ip: IP address of OpenFrame Gateway WebTerminal.

  • ofgw-luport: OpenFrame Gateway LU PORT (lu.port setting in ofgw.properties, the OpenFrame Gateway configuration file).

  • webterminal-name: OpenFrame Gateway WebTerminal application name (set in domain.xml of JEUS web application server where OpenFrame Gateway is running on).

openframe.webterminal.name

WebTerminal name to access the [OSC] menu in OpenFrame Manager to check online transaction status.

Use the name of OpenFrame Gateway (gw.name setting in ofgw.properties, the OpenFrame Gateway configuration file).

openframe.tmax.ip

IP address of OpenFrame Tmax server.

openframe.tmax.port

Port number of OpenFrame Tmax server ($TMAX_HOST_PORT setting in OpenFrame)

openframe.tmax.connection. groupname

Uses WebT to connect to Tmax.

Group name used to create WebtConnectionPool for connecting to Tmax. (Default value: tmax1)

openframe.tmax.connection.init

Initial number of connections for WebtConnectionPool. (Default value: 10)

openframe.tmax.connection.max

Maximum number of connections allowed for WebtConnectionPool. (Default value: 100)

openframe.tmax.connection.inc

Increment by which the number of connections is increased when there are no more available connections. (Default value: 10)

openframe.os

OS where OpenFrame is installed. (Default value: mvs)

  • mvs: Set to integrate Manager with OpenFrame in MVS. Dataset-related commands are executed with the IDCAMS utility of Base.

  • msp: Set to integrate Manager with OpenFrame in MSP. Dataset-related commands are executed with the KQCAMS utility of Base.

  • xsp: Set to integrate Manager with OpenFrame in XSP. Dataset-related commands are executed with the KQCAMS utility of Base.

openframe.cpm.name

CPM for the character set shown in the Dataset view of the [Base] menu of OpenFrame Manager. (Default value: EBCASCUS.cpm)

The available CPM tables are in the $OFMANAGER_HOME/data/cpm directory.

encoding

Character set used for character conversion when reading in files, such as spool, JCL, and log, in the [Base] menu of OpenFrame Manager. (Default value: iso-8859-15)

Supports encodings supported by Oracle JDK. Set this to the encoding configured on OpenFrame. For the list of supported encodings, refer to 'https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html'.

ofmanager.module

Menus to include in OpenFrame Manager.

Use the following abbreviations and separate modules with a semicolon (;). The specified menus are displayed in OpenFrame Manage, and the [Base] menu is displayed by default.

  • BM: [Batch] menu

  • TM: [TACF] menu

  • OSC: [OSC] menu

  • OSI: [OSI] menu

  • HIDB: [HIDB] menu

openframe.nodelist

Node name of Openframe environment.

Multiple node names are separated by semicolon. (Default value: NODE1;NODE2)

openframe.defaultNode

Default node used in OFManager. (Default value: NODE1)

domain.name

Domain name of OpenFrame Manager.

This can be set according to the site environment and is displayed in the Information Area.

domain.type

Domain type of OpenFrame Manager.

This can be set to one of the following according to the purpose of using OpenFrame Manager and is displayed in the title area at the top left of the page. However, if set to Prod, only OpenFrame Manager is displayed in the title area.

  • Dev

  • Prod

  • Test

ofmanager.language

Font for textareas, such as JCL view.

If not specified, the default value will be used.

  • English: Noto Sans CJK font. (Default value)

  • Japanese: MS gothic font.

ofmanager.consoleReply RefreshInterval

Performs auto-refresh for Console Reply based on user-specified interval.

  • 0-4: do not perform auto-refresh. (Default value: 0)

  • 5 or greater value: auto-refresh interval. (Unit: seconds)

ofmanager.jclSave

Edits and saves JCL by going to [Batch] >[JCLs] > [JCL Details] of OpenFrame Manager.

  • yes: activate the [Save] button.

  • no: do not activate the [Save] button. (Default value)

ofmanager.userSpool

Option to use the [User Spool] menu of [Batch] of OpenFrame Manager. (Default value: false)

The menu is used to display a list of spools whose output class is W. If not specified, it defaults to false.

ofmanager.userFont

Font for displaying text delivered from Tmax of OpenFrame Manager.

For more information about configuring OpenFrame GW WebTerminal, refer to "2.2. OpenFrame GW Configuration File" in OpenFrame GW Administrator’s Guide.

The following is an example of OpenFrame Manager configurations.

################################################################################
#####                                                                      #####
#####            OpenFrame Manager CONFIGURATIONS                          #####
#####                                                                      #####
################################################################################

# DB Property
ofmanager.datasource = ds_ofm1

# OpenFrame GW Property
openframe.webterminal.url = 192.168.105.191:5699/webterminal7
openframe.webterminal.name= ofgw7

# TMAX WebT Property

# Tmax Property
openframe.tmax.ip=192.168.105.207
openframe.tmax.port=4394

openframe.tmax.connection.groupname=tmax1
openframe.tmax.connection.init=10
openframe.tmax.connection.max=100
openframe.tmax.connection.inc=10

# OS Property
openframe.os = msp

# CPM Name
openframe.cpm.name=EBCASCUS.cpm

# Encoding
encoding = iso-8859-15

# Menus Property
ofmanager.module = BM;TM;OSC;

# Node Information
openframe.defaultNode=NODE1
openframe.nodelist=NODE1;NODE2;

# Domain Property
domain.name = OPENFRAME Env.
domain.type = development

# textarea MS gothic font
ofmanager.language=japanese

# Auto Refresh Interval in CM > Console > Reply
ofmanager.consoleReplyRefreshInterval = 5

# Using UserSpool
ofmanager.userSpool=true

# Menu Authority Check
ofmanager.menuAuthChk=true

# OFManager font
# recommendation
# japanese = MS Gothic
# english  = HACK, monospace, sans-serif, serif
ofmanager.userFont = HACK

1.2. logback.xml

Specifies the file format and log level of a log file.

The following is a configuration example of the property file.

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds">
   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
      <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
         <pattern>
         [%d{yyyy-MM-dd}T%d{HH:mm:ss.SSSSS}] [OFMANAGER|%-24logger{0}] [%.-1level] %msg%n
         </pattern>
      </encoder>
   </appender>
   <property name="USER_HOME" value="/home/user/logs" />

   <appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
         <!-- daily rollover -->
         <fileNamePattern>${USER_HOME}/ofmanager_%d{MM-dd-yyyy}.%i.log</fileNamePattern>

         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <!-- or whenever the file size reaches 50MB -->
            <maxFileSize>300MB</maxFileSize>
         </timeBasedFileNamingAndTriggeringPolicy>
         <!-- keep 30 days' worth of history -->
         <maxHistory>30</maxHistory>
      </rollingPolicy>
      <encoder>
         <pattern>
            [%d{yyyy-MM-dd}T%d{HH:mm:ss.SSSSS}] [OFMANAGER|%-24logger{0}] [%.-1level] %msg%n
         </pattern>
      </encoder>
   </appender>

   <logger name="org.springframework" level="OFF">
   </logger>
   <logger name="com.tmax.ofmanager" additivity="false" level="DEBUG">
   <appender-ref ref="ROLLING" />
   </logger>

   <root level="WARN">
      <appender-ref ref="ROLLING" />
   </root>
</configuration>

The following describes the items of the property file.

Item Description

<configuration>

Dynamically changes log levels by specifying the scan and scanperiod items.

<appender>

Adds a log appender to be provided by LogBack. (Logs are recorded for each event.)

  • ConsoleAppender : writes log messages on the console.

  • RollingFileAppender : writes log messages to a file by specifying the maximum size.

<property>

The value configured in <property> can be used as a variable. USER_HOME is used as a log file path in this file.

<fileNamepatten>

Pattern of log file name.

The default value uses date format and index ("%i").

<maxFileSize>

Maximum size of each file.

<maxHistory>

Maximum number of days to keep file logs. If the number of days exceeds the limit, the oldest logs are automatically deleted first.

<pattern>

Format of the logs to display.

<root>

Sets the log level and adds <appender> to output the log level in the logger format.

These items are provided by default so the administrator needs to customize them according to the environment. For the information about additional items, refer to the other guides for logback.

2. TACF Resource Access

You can restrict access to some resources in OpenFrame Manager through TACF authorization. When a resource is defined in the OFMANAGR class, only users with TACF access authority can access it. If a resource is not defined in the OFMANAGR class, it can be accessed by all users.

The following describes the access authority set when you define each resource in the OFMANAGR class.

Resource Profile Description

LOGIN

Only users with LOGIN READ authority can log into OpenFrame Manager.

ST.OFCONFIG

Only users with READ authority on ST.OFCONFIG resource can use the [Config] button.

CM.COMMAND

Only users with READ authority on CM.COMMAND resource can use the [Base] >[Command] menu.

OM.PGMADMIN

Only users with OM.PGMADMIN READ authority can use the [Add], [Import], [Edit], and [Delete] buttons in the [OSC] > [Program Deploy] menu.

OM.AIM

Only users with OM.AIM READ authority can see the [AIM] menu.

TM.USER

Only users with TM.USER READ authority can see the [TACF] > [Users] menu.

If ofmanager.menuAuthChk is set to false, TACF authority is not checked for the [Users] menu.

TM.GROUP

Only users with TM.GROUP READ authority can see the [TACF] > [Groups] menu.

If ofmanager.menuAuthChk is set to false, TACF authority is not checked for the [Groups] menu.

TM.RESOURCE

Only users with TM.RESOURCE READ authority can see the [TACF] > [General Resources] menu.

If ofmanager.menuAuthChk is set to false, TACF authority is not checked for the [General Resources] menu.

TM.DATASET

Only users with TM.DATASET READ authority can see the [TACF] > [Datasets] menu.

If ofmanager.menuAuthChk is set to false, TACF authority is not checked for the [Datasets] menu.

BM.USERSPOOL

Only users with BM.USERSPOOL READ authority can see the [Batch] > [User Spool] menu.

For more information about the menu functions enabled according to the user’s authority in the resource profile, refer to the respective chapter.

3. Multi-node Configuration

To run OpenFrame Manager in a mul-node environment, additional configurations are needed. In addition, Tmax configuration files of all nodes that belong to the same domain must be the same.

The following is an example of configuring a muti-node environment with NODE1 and NODE2. To run OpenFrame Manager in a multi-node environment, several services use Tmax’s Data-Driven-Rounting function and the data used for routing is node name. The SERVICE section displays not the entire services but the services that need modification. The OSCOIVP1_OMC1 service is necessary in an environment where OpenFrame OSC is installed.

*ROUTING
rt_nodename FIELD = "FIELD/FB_NODENAME",
            RANGES = "'NODE1':svg_node1,'NODE2':svg_node2,*:svg_node1"

*SERVICE
OFRUISVRCONFIG  SVRNAME = ofruisvr, ROUTING = rt_nodename
OFRUISVRRDFILE  SVRNAME = ofruisvr, ROUTING = rt_nodename
OFRUISVRRDDIR   SVRNAME = ofruisvr, ROUTING = rt_nodename

OBMJMSVRJDETAIL SVRNAME = obmjmsvr, ROUTING = rt_nodename

OBMJINITCHECK   SVRNAME = obmjinit, ROUTING = rt_nodename
OBMJINITCTLNODE SVRNAME = obmjinit, ROUTING = rt_nodename
OBMJINITCTLJOB  SVRNAME = obmjinit, ROUTING = rt_nodename
OBMJINITCTLINIT SVRNAME = obmjinit, ROUTING = rt_nodename
OBMJINITRUN     SVRNAME = obmjinit, ROUTING = rt_nodename
OBMJINITSTATUS  SVRNAME = obmjinit, ROUTING = rt_nodename

OSCOIVP1_OMC1   SVRNAME = OSCOIVP1OMC, ROUTING = rt_nodename

To use TJES in a multi-node environment, refer to "7.1.2 Muti Node Configuration" in OpenFrame TJES Guide.