PeopleSoft 配置文件

应用服务器通过$PS_HOME/appserv下的psadmin工具进行管理。这是一个文本模式的工具,在Unix和Windows上具有相同的工作方式。域(domain)配置过程会编译以及产生一些Tuxedo配置文件,如下所示:

文件名                    描述

psappsrv.cfg          Tuxedo配置文件psappsrv.ubx和应用服务器中变量的参数值

psappsrv.val           用于交互式配置对话框的验证文件(在padmin工具中使用)

psappsrv.ubx         PeopleSoft Tuxedo 模版文件,用于指定psappsrv.ubb和psappsrv.env的布局 

psappsrv.ubb        Tuxedo本地(native)域配置源文件。所有的变量已经被解析成文本值。

psappsrv.env         应用服务器环境文件,用于定义服务器进程的其他环境变量。

PSTUXCFG            编译过后的Tuxedo配置文件。


应用服务器域配置过程就是psadmin工具中的一些选项,如下所示:

要配置域就必须关闭域,为安全起见,psadmin会提示是否继续进行。当确认继续进行并选择Y时,会关闭域,然后显示快速配置菜单。

从PeopleTools 8.44 开始,PeopleSoft引入了一个叫作“特征与设置报告”的新的屏幕信息——快速配置菜单。在配置过程开始前显示该信息,如下所示。选项1-12(Features列)更改当前psadmin会话相应的配置变量,但是不会更新psappsrv.ubx文件。

当选择Custom configuration时,配置进程会询问是否更改配置值,如下所示。选项13“Load config as shown”会跳过选项14,然后直接产生配置文件。

Enter selection (1-26, h, or q): 14

Warning:  no changes detected, some configuration files will not be updated.
Loading configuration...
Domain configuration complete.
Performing load prechecks ...
Loading validation table...
Do you want to change any config values (y/n)? [n]:y

如果选择Y,就会出现一系列的交互式对话框,是你能够编辑psappsrv.cfg文件中的变量。下图阐释各种配置文件是如何使用和产生的:


1-2. 大多数人经常直接编辑psappsrv.cfg配置文件,但是仍然可以在psadmin工具中使用交互式配置对话框。用户输入通过psappsrv.val文件中的指令进行验证。psappsrv.cfg配置文件中的密码只能够在该对话框中进行加密。
3-4. ubbgen进程读取psappsrv.cfg和psappsrv.ubx文件,然后产生psappsrv.ubb和psappsrv.env文件。
5-6. Tuxedo工具tmloadcf 将psappsrv.ubb 编译成二进制配置文件PSTUXCFG。
7. 当启动域时,BBL进程也启动,然后读取PSTUXCFG文件,启动域中的剩余部分。

ubbgen和tmloadcf进程紧接着继续运行,而不用暂停。
永远不要编辑psappsrv.ubb文件,该文件是配置进程产生的一个中间文件。然而,该文件对于查看配置Tuxedo域时使用的值具有很好的帮助。
如下部分讨论每个配置文件,解释它们是怎样被使用的以及一些参数的作用。例子取自PeopleTools 8.51,,但是从7.0开始,主要的结构没有发生多大变化。因为引入了更多的功能,PeopleSoft添加了更多的server。

psappsrv.ubx

该文件是PeopleSoft模版文件,用于产生psappsrv.ubb和psappsrv.env文件,这些文件必须遵循Tuxedo格式。该文件包含的变量的值在psappsrv.cfg文件中进行设置输出文件包含这些变量的文本值。从PeopleTools 8.50 开始在该文件的头部加入了如下的信息:

#  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#  Oracle does not support creating custom UBX templates nor modifying delivered UBX templates
#  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Oracle不支持任何对该文件的客户化操作。但是在本文中会对其进行一些修改。


Tuxedo模版文件和配置文件的关系

大多数域配置更改是在psappsrv.cfg文件中进行的。然而,更改模版文件psappsrv.ubx也是合理的。变量在psappsrv.cfg中进行设置,然后在psappsrv.ubx文件中引用。可以设计成只有一个psappsrv.ubx,该文件对所有域通用。例如,如果要启用Tuxedo service trace,就需要在psappsrv.ubx文件的服务命令行中加入-r选项。可以在psappsrv.cfg文件中的Trace区段创建一个新的变量,然后在psappsrv.ubx文件中引用。通过在配置文件中更改设置,就可以在不同的域上轻松的启用或者禁用该选项。

在psappsrv.cfg文件中设置该新变量:

;-------------------------------------------------------------------------
; when set to -r enables Tuxedo service trace, else set to a single space
TuxedoServiceTrace=-r

该变量可以在psappsrv.ubx文件中引用:
CLOPT="{$Trace\TuxedoServiceTrace} -o \"{REL_LOG}{FS}APPQ.stdout\" -e \"{REL_LOG}{FS}APPQ.stderr\" {$PSAPPSRV\Spawn Server} -s@psappsrv.lst -- -D {$DomainSettings\Domain ID} -S PSAPPSRV"

在psappsrv.ubb文件中会包含该变量的值,并且在该文件的“ubbgen substitution values”部分会显示所有变量的值。
CLOPT="-r -o \".\LOGS\APPQ.stdout\" -e \".\LOGS\APPQ.stderr\" -s@psappsrv.lst -- -D TESTSERV -S PSAPPSRV"

FEATURES、SETTINGS 和 PORT_SETTINGS
这个三个区段从PT8.44引入,用于产生“新特征和设置报告”。
*FEATURES
{"-label-"},{"-define-"},{"-on-"},{"-servers-"},{"-Oracle Env Manager Label-"}
{Pub/Sub Servers},{PUBSUB},{No},{PSBRK(DSP/HND), PSPUB(DSP/HND), PSSUB(DSP/HND)},{Publish/Subscribe Server (PUBSUB)}
{Quick Server},{QUICKSRV},{No},{PSQCKSRV},{Quick Server (PSQCKSRV)}
{Query Servers},{QUERYSRV},{No},{PSQRYSRV},{Query Server (PSQRYSRV)}
{Jolt},{JOLT},{Yes},{JSL, JREPSVR},{Jolt Service Listener (JSL)}
{Jolt Relay},{JRAD},{No},{JRAD},{Jolt Relay Adapter (JRAD)}
{WSL},{WSL},{No},{WSL},{WorkStation Listener (WSL)}
{PC Debugger},{DBGSRV},{Yes},{PSDBGSRV},{PeopleCode Debugger (PSDBGSRV)}
{Event Notification},{RENSRV},{Yes},{PSRENSRV},{Event Notification (PSRENSRV)}
{MCF Servers},{MCF},{No},{PSUQSRV, PSMCFLOG},{Multi-Channel Framework (MCF Servers)}
{Perf Collator},{PPM},{No},{PSPPMSRV},{Performance Collator (PSPPMSRV)}
{Analytic Servers},{ANALYTICSRV},{Yes},{PSANALYTICSRV},{Analytic Servers (PSANALYTICSRV)}
{Domains Gateway},{DOMAIN_GW},{No},{ DMADM, GWADM, GWTDOMAIN },{Domains Gateway (Remote Search)}
*END
*SETTINGS
{"-label-"},{-formal name-}{"-value-"}
{DBNAME},{Startup/DBName},{ }
{WINDOWS}
{DBTYPE},{Startup/DBType},{MICROSFT}
{WINDOWS}
{UNIX}
{DBTYPE},{Startup/DBType},{}
{UNIX}
{UserId},{Startup/UserId},{QEDMO}
{UserPswd},{Startup/UserPswd},{QEDMO}
{DomainID},{Domain Settings/Domain ID},{PT851}
{WINDOWS}
{AddToPATH},{Domain Settings/Add to PATH},{}
{WINDOWS}
{UNIX}
{AddToPATH},{Domain Settings/Add to PATH},{.}
{UNIX}
{ConnectID},{Startup/ConnectId},{people}
{ConnectPswd},{Startup/ConnectPswd},{peop1e}
{ServerName},{Startup/ServerName},{}
*END
*PORT_SETTINGS
{WSL Port},{Workstation Listener/Port},{7000}
{JSL Port},{JOLT Listener/Port},{9000}
{JRAD Port},{JOLT Relay Adapter/Listener Port},{9100}
*END

PS_DEFINES区段

PS_DEFINES区段是能够找到的唯一解释ubbgen进程和psappsrv.ubx格式的地方。ubbgen会用psappsrv.cfg文件中的文本值替换大括号{}中替代变量。有四种类型的变量:环境变量(environment)、配置变量(configuration)、特殊变量(special)、提示变量(prompted)。

环境变量

环境变量以$打头。ubbgen通过getenv()函数读取环境变量。然而,psadmin程序也可以设置一些环境变量。例如,在执行psadmin前必须设置Tuxedo安装目录%TUXDIR%环境变量。但是域配置文件所在目录的环境变量$PS_SERVDIR是通过psadmin设置的。之后这些变量就用于设置Tuxedo配置中MACHINES区段的TUXDIR和APPDIR参数:

*MACHINES
"{MACH}" LMID="{MACH}"                           # Machine name must be upper case
        TUXDIR="{$TUXDIR}"                      # Paths cannot end in '\'
{UNIX}
        APPDIR="{$PS_SERVDIR}:{$PS_LIBPATH}"    # Append the PS LLP 
{UNIX}
{WINDOWS}
        APPDIR="{$PS_SERVDIR}"
{WINDOWS}
        TUXCONFIG="{$TUXCONFIG}"
        ULOGPFX="{LOGDIR}{FS}TUXLOG"
        ENVFILE="{ENVFILE}"
        UID={UID}                               # Has to be 0 at this time.
        GID={GID}                               # Has to be 0 at this time.
{WINDOWS}
        TYPE="i386NT"
{WINDOWS}
        NETLOAD=0                               # We are not using multiple machines.
        {MAXWSCLIENTS}
        {MAXACCESSERS2}


# ----------------------------------------------------------------------

配置变量

配置变量从传递给ubbgen的配置文件(默认是psappsrv.cfg)中读取。该变量以$打头,紧随其后是区段名加“”,然后是区段中的关键字名。如:$PSAPPSRV\Min Instances
配置变量是通过Tuxedo模版文件psappsrv.ubx定义的。ubbgen在psappsrv.cfg文件中查找配置变量的值,然后当ubbgen写Tuxedo配置文件psappsrv.ubb时用这个值替换模版文件中的配置变量。如下例,Min Instances变量从psappsrv.cfg配置文件中的PSAPPSRV区段读取:
截取自psappsrv.ubx:
#
# PeopleSoft Application Server
#
PSAPPSRV        SRVGRP=APPSRV
                SRVID=1
                MIN={$PSAPPSRV\Min Instances}
                MAX={$PSAPPSRV\Max Instances}
                RQADDR="APPQ"
                REPLYQ=Y


                CLOPT="-o \"{REL_LOG}{FS}stdout\" -e \"{REL_LOG}{FS}stderr\" {$PSAPPSRV\Spawn Server} -s@psappsrv.lst -- -D {$Domain Settings\Domain ID} -S PSAPPSRV"

截取自psappsrv.cfg:
[PSAPPSRV]
;=========================================================================
; Settings for PSAPPSRV
;=========================================================================


;-------------------------------------------------------------------------
; UBBGEN settings
Min Instances=2
Max Instances=2
Service Timeout=0

特殊变量

ubbgen直接通过名称识别这些变量,然后执行特殊处理以获取这些变量的值。如:DOMAINID, IPCKEY, MACH, WSNADDR, UID GID。

ubbgen会产生一些特殊变量,并且随着版本不同,产生的变量也有些差异。PT8.44中ubbgen产生的特殊变量如下表所示:


如果要为任何应用服务器配置多个队列的话,需要手动计算这些值,因为ubbgen不会考虑其他队列。


提示变量

所有其他的变量都假定为提示变量。ubbgen提示用户指定该变量的值。提示变量指定一些在配置时候询问的yes/no问题。这些变量以及Unix和Windows特殊变量的使用方式类似于C或者SQR中的#ifdef 和 #endif指令。

问题的默认答案被包含在方括号中。

*PS_DEFINE
....
{PUBSUB} Do you want the Publish/Subscribe servers configured (y/n)? [y]:
{QUICKSRV} Move quick PSAPPSRV services into a second server (PSQCKSRV) (y/n)? [n]:
{QUERYSRV} Move long-running queries into a second server (PSQRYSRV) (y/n)? [n]:
{JOLT} Do you want JOLT configured (y/n)? [y]:
{JRAD} Do you want JRAD configured (y/n)? [n]:
{WSL} Do you want WSL configured (y/n)? [n]:
{DBGSRV} Do you want to enable PeopleCode Debugging (PSDBGSRV) (y/n)? [n]:
{RENSRV} Do you want Event Notification configured (PSRENSRV) (y/n)? [n]:
{MCF} Do you want MCF servers configured (y/n)? [n]:
{PPM} Do you want Performance Collators configured (PSPPMSRV) (y/n)? [n]:
{ANALYTICSRV} Do you want Analytic servers configured (PSANALYTICSRV) (y/n) [y]:
{DOMAIN_GW} Do you want Domains Gateway (External Search Server) configured (y/n)? [n]:

*END
例如,如果QUERYSRV特殊变量为true,那么在psappsrv.ubx文件的{QUERYSRV}区段之间配置的PSQRYSVR服务器就i有效:

{QUERYSRV}
#
# PeopleSoft Query Application Server
#
PSQRYSRV        SRVGRP=APPSRV
                SRVID=70
                MIN={$PSQRYSRV\Min Instances}
                MAX={$PSQRYSRV\Max Instances}
                RQADDR="QRYQ"
                REPLYQ=Y
                CLOPT="-o \"{REL_LOG}{FS}stdout\" -e \"{REL_LOG}{FS}stderr\" {$PSQRYSRV\Spawn Server} -s@psqrysrv.lst -- -D {$Domain Settings\Domain ID} -S PSQRYSRV"
{QUERYSRV}

主要的Tuxedo区段

在psappsrv.ubx文件中,PS_DEFINES区段尾到PS_ENVFILE区段头之间的所有内容都会在变量值替换后被ubbgen复制到psappsrv.ubb文件中。psappsrv.ubb是一个Tuxedo格式的文件,可以参考Tuxedo文档。因此psappsrv.ubx中的模版必须产生这种格式。

Tuxedo配置文件由一些区段组成:RESOURCES、MACHINES、GROUPS、SERVERS 和 SERVICES。

RESOURCES区段

包含描述整个Tuxedo域的变量。该区段的模版如下:

*RESOURCES
IPCKEY          {IPCKEY}        # ( 32768 < IPCKEY < 262143 )
MASTER          "{MACH}"
DOMAINID        {$Domain Settings\Domain ID}_{IPCKEY}
MODEL           SHM
LDBAL           N
#
MAXMACHINES     256             # min, default=256
MAXGROUPS       100             # min, default=100
{MAXSERVERS}
{MAXSERVICES}
{MAXACCESSERS1}
#
......
当需要选择将服务请求放到哪些队列的时候,可以使用Tuxedo负载均衡。

MACHINES区段

单个的Tuxedo域可以跨多个物理机器,以实现负载均衡机制。每个物理服务器上的Tuxedo机器类似于一个独立的Tuxedo域,但是具有额外的监听器以及可以将进程桥接给域中的其他机器。因此,Tuxedo服务可以传送给一个不同的、轻负载的Tuxedo机器。

MACHINES区段的模版指定的变量在不同的物理机器上可以设置不同值,录入路径或者环境变量。某些变量在RESOURCES和MACHINES都可以指定。MACHINES区段指定的值会覆盖RESOURCE区段中的一般值。

*MACHINES
"{MACH}" LMID="{MACH}"                           # Machine name must be upper case
        TUXDIR="{$TUXDIR}"                      # Paths cannot end in '\'
{UNIX}
        APPDIR="{$PS_SERVDIR}:{$PS_LIBPATH}"    # Append the PS LLP 
{UNIX}
{WINDOWS}
        APPDIR="{$PS_SERVDIR}"
{WINDOWS}
        TUXCONFIG="{$TUXCONFIG}"
        ULOGPFX="{LOGDIR}{FS}TUXLOG"
        ENVFILE="{ENVFILE}"
        UID={UID}                               # Has to be 0 at this time.
        GID={GID}                               # Has to be 0 at this time.
{WINDOWS}
        TYPE="i386NT"
{WINDOWS}
        NETLOAD=0                               # We are not using multiple machines.
        {MAXWSCLIENTS}
        {MAXACCESSERS2}

# ----------------------------------------------------------------------

虽然配置一个PeopleSoft应用服务器域以使用多机器架构理论上是可行的,但是PeopleSoft要么不使用,要么就不支持该技术。事实上,你绝不会使用多台机器配置单个域,因为你可能更愿意在不同的物理机器上安装多个独立的应用服务器域。在多台机器上配置一个域会对物理应用服务器节点之间的网络连接要求严格,然而在多个单一机器上的应用服务器之间使用循环的(round-robin)连接以及故障切换(failover)会更加有效和可靠。PIA可以跨多个单节点应用服务器实现负载均衡。

GROUPS区段

在一个域中的应用服务器进程逻辑上会被划分成组。GROUPS区段具有一个指定默认机器名的DEFAULT子句。Tuxedo组允许相同的服务配置在不同组中的不同服务器上。

*GROUPS

#
# Tuxedo Groups
# For application group numbers for new machines (LMIDs)
# use group numbers 101-199;  201-299;  etc.
#
DEFAULT:        LMID="{MACH}"

BASE            GRPNO=1

{DOMAIN_GW}
{VERITY_TYPE3}
DMADMGRP        GRPNO=101

GWTGROUP        GRPNO=102
{VERITY_TYPE3}
{DOMAIN_GW}

WATCH           GRPNO=10

MONITOR         GRPNO=50

{ANALYTICSRV}
ANALYTICGRP     GRPNO=80
{ANALYTICSRV}

PPMGRP          GRPNO=91

{RENSRV}
RENGRP          GRPNO=92
{RENSRV}

{MCF}
MCFGRP          GRPNO=93
{MCF}

{DBGSRV}
DBGSRV          GRPNO=97
{DBGSRV}

{PUBSUB}
PUBSUB          GRPNO=98
{PUBSUB}

APPSRV          GRPNO=99


{JOLT}
#
# JOLT Groups
#
JREPGRP         LMID="{MACH}"
                GRPNO=94
JSLGRP          LMID="{MACH}"
                GRPNO=95
{JOLT}

# ----------------------------------------------------------------------

随着后续的版本,PeopleSoft为新的服务器进程创建了单独的Tuxedo组。但是从PT7.57开始,每个服务只注册到一个队列上。默认的应用服务器配置中,PeopleSoft还没有因为实际的目的而使用组。也许PeopleSoft以后可能会,比如,将不同的Tuxedo参数应用到不同的服务器进程组中。

一些组((DMADMGRP, GWTGROUP, ANALYTICGRP, RENGRP, MCFGRP, PUBSUB, 和JOLT))只有当相应的提示值为true时才会被定义。

SERVERS区段

服务进程的数量随着PT版本的变化也跟着增加。域中的每一个服务器进程都在SERVERS区段进行指定:

*SERVERS

DEFAULT:        CLOPT="-A"       # Advertise all services.
                REPLYQ=N         # Reply queue not needed for our simple setup.
                MAXGEN=3         # Max number of restarts in the grace period.
                GRACE=60         # Ten minutes grace period.
                RESTART={$Domain Settings\Restartable}
                SYSTEM_ACCESS=FASTPATH

在被标记为错误之前,服务器在60秒宽限期内(GRACE)能够启动3(MAXGEN)次.

DEFAULT指定应用到所有服务器的默认参数,除非在服务器定义中进行覆盖。Tuxedo文档在servopts(5)中单独的描述了命令行选项参数(command-line options parameter)(CLOPT)。

Tuxedo系统事件服务器

Tuxedo Event Broker,TMSYSEVT,是Tuxedo自带的唯一一个服务器进程。在PeopleSoft应用服务器中默认没有对其进行配置,但是将其注释掉了。只有当要使用Tuxedo Administrative Console管理域时才有用。

Watch Server(PSWATCHSRV)

PT8.4引入了PSWATCHSRV。该进程有点与众不同,因为它不会连接数据库,也不会advertise service或者handle service。他它的功能就是干掉卡住的以及不能够关掉的服务器进程。

#
# PeopleSoft domain watchdog PSWATCHSRV
#
PSWATCHSRV      SRVGRP=WATCH
                SRVID=1
                MIN=1
                MAX=1
                RQADDR="WATCH"
                REPLYQ=Y
                RESTART=Y
                CLOPT="-o \"{REL_LOG}{FS}stdout\" -e \"{REL_LOG}{FS}stderr\" -A -- -ID {IPCKEY} -D {$Domain Settings\Domain ID} -S PSWATCHSRV"

提示:等号左边的参数都是Tuxedo参数,可以在Tuxedo servopts(5)中找到。等号右边的都会被传递给PeopleSoft在服务器中定义的tmsvrinit()函数。因此等号右边的都是PeopleSoft定义的参数,但是PeopleSoft没有提供文档以解释这些参数。

IPCKEY是Bulletin Board共享内存段的ID,传递给PSWATCHSRV。PSWATCHSRV只有一个实例。该服务器进程最大和最小实例数为1。

应用服务器(PSAPPSRV)

PSAPPSRV服务器进程处理大多数在线活动。

#
# PeopleSoft Application Server
#
PSAPPSRV        SRVGRP=APPSRV
                SRVID=1
                MIN={$PSAPPSRV\Min Instances}
                MAX={$PSAPPSRV\Max Instances}
                RQADDR="APPQ"
                REPLYQ=Y

                CLOPT="-o \"{REL_LOG}{FS}stdout\" -e \"{REL_LOG}{FS}stderr\" {$PSAPPSRV\Spawn Server} -s@psappsrv.lst -- -D {$Domain Settings\Domain ID} -S PSAPPSRV"

服务器进程advertised的服务在CLOPT中通过-s参数指定。该参数具有三种格式,如下表。

Advertise Service 参数的格式:


该参数还可以指定多次,其效果是叠加起来的。

PSAPPSRV进程advertised的服务可以根据是否配置了PSQRYSRV和PSQCKSRV服务器进程而变化。如果配置了,服务就会从PSAPPSRV转移到这些服务器进程。

从PT8.50开始,PSAPPSRV的CLOPT是常量;psappsrv.lst文件通过将文件从$PS_HOME/appserv复制到域的目录下产生。如果没有配置PSQRYSV或者PSQCKSRV,那么在配置域的过程中,psqcksrv.lst和psqrysrv.lst的内容就会附加到psappsrv.lst。

PSAPPSRV命令行定义(一直到PT8.49)
{QUERYSRV}
{QUICKSRV}
CLOPT="{$PSAPPSRV\Spawn Server} -s@..{FS}psappsrv.lst -- -C {CFGFILE}
-D {$Domain Settings\Domain ID} -S PSAPPSRV"
{QUICKSRV}
{!QUICKSRV}
CLOPT="{$PSAPPSRV\Spawn Server} -s@..{FS}psappsrv.lst
-s@..{FS}psqcksrv.lst -- -C {CFGFILE} -D {$Domain Settings\Domain ID} -S PSAPPSRV"
{!QUICKSRV}
{QUERYSRV}
{!QUERYSRV}
{QUICKSRV}
CLOPT="{$PSAPPSRV\Spawn Server} -s@..{FS}psappsrv.lst -sICQuery
-sSqlQuery:SqlRequest -- -C {CFGFILE} -D {$Domain Settings\Domain ID} -S PSAPPSRV"
{QUICKSRV}
{!QUICKSRV}
CLOPT="{$PSAPPSRV\Spawn Server} -s@..{FS}psappsrv.lst
-s@..{FS}psqcksrv.lst -sICQuery -sSqlQuery:SqlRequest -- -C {CFGFILE}
-D {$Domain Settings\Domain ID} -S PSAPPSRV"
{!QUICKSRV}
{!QUERYSRV}
替代变量只可以嵌套至两层。如果启用了可选服务器,那么PSAPPSRV就不再需要advertise该服务器进程的服务。

应用服务器和进程调度器目录的位置

PT8.50引入了一个不同于PeopleTools home目录($PS_HOME)的配置文件home目录($PS_CFG_HOME)。该目录结构位于$PS_CFG_HOME/appserv下,用于保存应用服务器和进程调度器域。以前版本中是位于$PS_HOME/appserv下。


快速Server(PSQCKSRV)

PSQCKSRV几乎已经被废弃了。该服务器进程从PT 7引入,目的是单独的处理短期服务,例如简单的SQL查询,因此可以快速的通过应用服务器且不必在队列中等待更大更慢的服务。PSQCKSRV服务只在Windows三层客户端程序中使用。PIA不需要该服务器进程。在生产环境中没有必要使用三层模式的Application Designer(迁移必须在两层模式下进行)。即使在开发环境中使用三层模式的Application Designer,PSQCKSRV进程的数量也很好。总而言之,绝不要在PT 8.x 系统中对PSQCKSRV进行配置。

{QUICKSRV}
#
# PeopleSoft Quick Application Server
#
PSQCKSRV        SRVGRP=APPSRV
                SRVID=50
                MIN={$PSQCKSRV\Min Instances}
                MAX={$PSQCKSRV\Max Instances}
                RQADDR="QCKQ"
                REPLYQ=Y
                CLOPT="-o \"{REL_LOG}{FS}stdout\" -e \"{REL_LOG}{FS}stderr\" {$PSQCKSRV\Spawn Server} -s@psqcksrv.lst -- -D {$Domain Settings\Domain ID} -S PSQCKSRV"
{QUICKSRV}


查询 Server(PSQRYSRV)
PSQRYSRV处理PIA和三层模式Windows客户端中PS/Query和nVison工具执行的一些长时间运行的查询。如果Crystal Reports运行在三层模式下,PeopleSoft ODBC驱动也会提交SqlQuery服务请求。

{QUERYSRV}
#
# PeopleSoft Query Application Server
#
PSQRYSRV        SRVGRP=APPSRV
                SRVID=70
                MIN={$PSQRYSRV\Min Instances}
                MAX={$PSQRYSRV\Max Instances}
                RQADDR="QRYQ"
                REPLYQ=Y
                CLOPT="-o \"{REL_LOG}{FS}stdout\" -e \"{REL_LOG}{FS}stderr\" {$PSQRYSRV\Spawn Server} -s@psqrysrv.lst -- -D {$Domain Settings\Domain ID} -S PSQRYSRV"
{QUERYSRV}

PSSAMSRV

只用于三层模式,特别是当提交请求给进程调度器时。不能够被禁止。

#
# PeopleSoft SQL Access Application Server
#
PSSAMSRV        SRVGRP=APPSRV
                SRVID=100
                MIN={$PSSAMSRV\Min Instances}
                MAX={$PSSAMSRV\Max Instances}
                RQADDR="SAMQ"
                REPLYQ=Y
                CONV=Y
                CLOPT="-o \"{REL_LOG}{FS}stdout\" -e \"{REL_LOG}{FS}stderr\" -A -- -D {$Domain Settings\Domain ID} -S PSSAMSRV"


Performance Collator Server(PSPPMSRV)
PSPPMSRV从PT 8.44引入,用于PeopleSoft性能监控器以收集指标然后插入数据库。这些服务器应该配置在收集性能指标的系统上,而不是被测量的系统上。

{PPM}
# Performance Collator.  No services, just managed by Tuxedo.
PSPPMSRV        SRVGRP=PPMGRP
                SRVID=100
                MIN={$PSPPMSRV\Min Instances}
                MAX={$PSPPMSRV\Max Instances}
                RQADDR="PPMQ2"
                REPLYQ=Y
                RESTART=Y
                CLOPT="-o \"{REL_LOG}{FS}stdout\" -e \"{REL_LOG}{FS}stderr\" -A -- -D {$Domain Settings\Domain ID} -S PSPPMSRV"
{PPM}

调试server(PSDBGSRV)

调试服务器进程允许开发人员运行PIA会话的时候在Application Designer中逐步调试PeopleCode。AD与服务器进行套接字连接。应用服务器中只能配置一个调试服务器。

{DBGSRV}
#
# PeopleCode Debugger PSDBGSRV
#
PSDBGSRV        SRVGRP=DBGSRV
                SRVID=1
                MIN=1
                MAX=1
                RQADDR="DBGQ"
                REPLYQ=Y
                CLOPT="-o \"{REL_LOG}{FS}stdout\" -e \"{REL_LOG}{FS}stderr\" -A -- -D {$Domain Settings\Domain ID} -S PSDBGSRV"

{DBGSRV}

实时通知Server(PSRENSRV)

PSRENSRV服务器进程从PT 8.4引入,是一个修改过的轻量级的web服务器,用于向PIA用户发送实时的事件通知,例如报告通知,同时也用于MultiChannel Framework。

{RENSRV}
# Event Notification server.
PSRENSRV        SRVGRP=RENGRP
                SRVID=101
                MIN=1
                MAX=1
                RQADDR="RENQ1"
                REPLYQ=Y
                RESTART=Y
                CLOPT="-o \"{REL_LOG}{FS}stdout\" -e \"{REL_LOG}{FS}stderr\" -A -- -D {$Domain Settings\Domain ID} -S PSRENSRV"
{RENSRV}

多渠道框架Servers

MCF从PT 8.4引入,支持多交互渠道,用于呼叫中心代理或者其他必须响应从这些通道上收到的请求和通知的PeopleSoft用户。

{MCF}
# MCF Universal Queue server.  These are stateful and unique; hence, each needs
# a unique ID on the command line "PSUQSRVn", where 1 <= n <= 9.
PSUQSRV         SRVGRP=MCFGRP
                SRVID=110
                MIN=1
                MAX=1
                RQADDR="UQSRV"
                REPLYQ=Y
                RESTART=Y
                CLOPT="-o \"{REL_LOG}{FS}stdout\" -e \"{REL_LOG}{FS}stderr\" -A -- -D {$Domain Settings\Domain ID} -S PSUQSRV1"
# MCF Logging server.  These are stateful and unique; hence, each needs
# a unique ID on the command line "PSMCFLOGn", where 1 <= n <= 9.
PSMCFLOG        SRVGRP=MCFGRP
                SRVID=120
                MIN=1
                MAX=1
                RQADDR="MCFLG"
                REPLYQ=Y
                RESTART=Y
                CLOPT="-o \"{REL_LOG}{FS}stdout\" -e \"{REL_LOG}{FS}stderr\" -A -- -D {$Domain Settings\Domain ID} -S PSMCFLOG1"
{MCF}

应用消息Servers

可以配置至多六个不同的服务器进程以支持应用消息(也指代Integration Broker)。每个handler server可以配置多个实例(至少有两个),但是对于三个dispatcher servers(Broker、Publication、Subscription)来说,每一个只能有一个实例。

#######################################################################################
#
# Publish/Subscribe Servers
#
# THIS SECTION SHOULD NEVER BE EDITED MANUALLY, PSADMIN REQUIRES THIS EXACT FORMAT.
# -----
#######################################################################################
# DEFAULT Publication broker handler
PSBRKHND SRVGRP=PUBSUB
	SRVID=101
	MIN={$PSBRKHND_dflt\Min Instances}
	MAX={$PSBRKHND_dflt\Max Instances}
	RQADDR="BRKHQ_dflt"
	REPLYQ=Y
	CLOPT="{$Trace\TuxedoServiceTrace} -o \"{REL_LOG}{FS}PUBQ.stdout\"
	-e \"{REL_LOG}{FS}Stderr\" {$PSBRKHND_dflt\Spawn Server} -s 	PSBRKHND_dflt:BrkProcess
	-- -D {$Domain Settings\Domain ID} -S PSBRKHND_dflt"
# DEFAULT Publication broker server (dispatcher)
PSBRKDSP SRVGRP=PUBSUB
	SRVID=100
	MIN=1
	MAX=1
	RQADDR="BRKDQ_dflt"
	REPLYQ=Y
	CLOPT="{$Trace\TuxedoServiceTrace} -o \"{REL_LOG}{FS}PUBQ.stdout\"
	-e \"{REL_LOG}{FS}Stderr\" -s PSBRKDSP_dflt:Dispatch -- -D {$Domain 	Settings\Domain ID}
	-S PSBRKDSP_dflt"
# DEFAULT publication contract handler
PSPUBHND SRVGRP=PUBSUB
	SRVID=201
	MIN={$PSPUBHND_dflt\Min Instances}
	MAX={$PSPUBHND_dflt\Max Instances}
	RQADDR="PUBHQ_dflt"
	REPLYQ=Y
	CLOPT="{$Trace\TuxedoServiceTrace} -o \"{REL_LOG}{FS}PUBQ.stdout\"
	-e \"{REL_LOG}{FS}Stderr\" {$PSPUBHND_dflt\Spawn Server} -s 	PSPUBHND_dflt:PubConProcess
	-- -D {$Domain Settings\Domain ID} -S PSPUBHND_dflt"
# DEFAULT Publication contractor server (dispatcher)
PSPUBDSP SRVGRP=PUBSUB
	SRVID=200
	MIN=1
	MAX=1
	RQADDR="PUBDQ_dflt"
	REPLYQ=Y
	CLOPT="{$Trace\TuxedoServiceTrace} -o \"{REL_LOG}{FS}PUBQ.stdout\"
	-e \"{REL_LOG}{FS}Stderr\" -s PSPUBDSP_dflt:Dispatch -- -D {$Domain 	Settings\Domain ID}
	-S PSPUBDSP_dflt"
# DEFAULT subscription contract handler
PSSUBHND SRVGRP=PUBSUB
	SRVID=301
	MIN={$PSSUBHND_dflt\Min Instances}
	MAX={$PSSUBHND_dflt\Max Instances}
	RQADDR="SUBHQ_dflt"
	REPLYQ=Y
	CLOPT="{$Trace\TuxedoServiceTrace} -o \"{REL_LOG}{FS}PUBQ.stdout\"
	-e \"{REL_LOG}{FS}Stderr\" {$PSSUBHND_dflt\Spawn Server} -s 	PSSUBHND_dflt:SubConProcess
	-- -D {$Domain Settings\Domain ID} -S PSSUBHND_dflt"
# DEFAULT Subscription contractor server (dispatcher)
PSSUBDSP SRVGRP=PUBSUB
	SRVID=300
	MIN=1
	MAX=1
	RQADDR="SUBDQ_dflt"
	REPLYQ=Y
	CLOPT="{$Trace\TuxedoServiceTrace} -o \"{REL_LOG}{FS}PUBQ.stdout\"
	-e \"{REL_LOG}{FS}Stderr\" -s PSSUBDSP_dflt:Dispatch -- -D {$Domain 	Settings\Domain ID}
	-S PSSUBDSP_dflt"
#_@_APSRV WARNING: DO NOT MODIFY THIS LINE. Marker for append point used by PSADMIN
#######################################################################################
# END Publish/Subscribe Servers section
#######################################################################################
{PUBSUB}

在开发环境中,应用消息服务器的负载很重要。当创建应用服务器域时,可以选择一个备用的开发模版,在开发模版中只有两个消息服务器,如下所示:

{PUBSUB}
# Message Broker
PSMSGDSP        SRVGRP=PUBSUB
                SRVID=100
                MIN=1
                MAX=1
             
                CLOPT="-o \"{REL_LOG}{FS}stdout\" -e \"{REL_LOG}{FS}stderr\" -sPSBRKDSP_dflt:Dispatch -sPSPUBDSP_dflt:Dispatch -sPSSUBDSP_dflt:Dispatch -- -D {$Domain Settings\Domain ID} -S PSMSGDSP"
# Message Broker Handler
PSMSGHND        SRVGRP=PUBSUB
                SRVID=101
                MIN={$PSMSGHND\Min Instances}
                MAX={$PSMSGHND\Max Instances}
                RQADDR="MBHQ"
                REPLYQ=Y
             
	       CLOPT="-o \"{REL_LOG}{FS}stdout\" -e \"{REL_LOG}{FS}stderr\" {$PSMSGHND\Spawn Server} -sPSBRKHND_dflt:BrkProcess -sPSPUBHND_dflt:PubConProcess -sPSSUBHND_dflt:SubConProcess -- -D {$Domain Settings\Domain ID} -S PSMSGHND"
{PUBSUB}















  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值