一、概述 由于9版后SAS Integration Technology产品提供了一种与SAS/IntrNet非常相似的技术线路,这便于IntrNet到IT的升级
1、broker的功能由SAS Integration Technology中的SAS Web Infrastructure Kit 中的SAS StoredProcess Web Application,(以下简称STPWA)替代,这是一套以java servlet形式部署的WEB应用。 2、以load-balancing方式配置的SAS StoredProcess Server 可提供与SAS/IntrNet中的PoolService类似的应用服务和性能调节功能。 3、Object Spawner提供了与Intrnet中loadmgr及spawner类似的任务调度和服务进程启动功能。 4、SAS StoredProcess Server中也自动定义了_webout fileref用于至web browser信息的输出。
简言之,用于支持应用的SAS Integration Technology有关环境如下:
1. STPWA,部署在web server机上,其上需要安装配置诸如Tomcat的java servlet container。以下假设使用Tomcat。 2. SAS Metadata Server,部署在metadata server机上,其上必须安装Base SAS。 3. SAS StoredProcess Server,部署在SAS StoredProcess Serve机上,其上必须安装Base SAS,SAS Integration Technology,必须存在ObjectSpawner。 注:以上三机为逻辑分类,其物理对应可以是同一机,也可是多机,以下为叙述方便按逻辑分类引用。
二、安装 1、于3机上安装包括Base SAS,SAS Integration Technology在内的SAS foundation部分。 2、于2机上安装包括Base SAS在内的SAS foundation部分。 3、于1机上安装JDK1.4.2_02。于autoexec.bat中设置JAVA_HOME环境变量。 4、于1机上安装Tomcat4.1.18。目录名中不能有空格。 5、于1机上安装整理后的STPWA包。即将SASStoredProcess目录安装至或拷贝至tomcat的webapps目录中。 6、于1机上安装application webserver files。即javascript,image,style,htc等目录。 7、于3机上安装application SAS files。即crlibp,crlibm,spawner目录。
三、配置 1、 用户定义 1. 1 于2机上定义一个用于启动和设置metadata server的管理用户,若NT或2000则须具有“act as part of OS”权限,例如appmadm。再定义一个用于读取metadata信息的普通用户,具有“以批作业登录”权限,例如appmuser。 1.2 于3机上定义一个用于启动ObjSpawner的管理用户,若NT或2000则具有“act as part of OS”、“Increase Quota”、“Replace the process level token”权限,例如appsadm。若XP则具有“Adjust memory quotas for a process”、 “Replace the process level token”权限。再定义一个用于StoredProcess Server运行的名义用户,具有“以批作业登录”权限,例如appsuser,若NT或2000还须具有“act as part of OS”权限。
2、MetadataServer配置 2. 1 以appmadm用户登录2机,创建目录如appmeta,在其中再创建rpos和rposmgr两个目录,创建appmeta\StartMetaDataServer.bat文件,使其包含如下命令: @echo off cd /d "directory of this bat" start/min "metaserver" "SAS9.1root\sas.exe" -nosplash -noterminal -objectserver -objectserverparms "applevel=1 protocol=bridge port=metaport instantiate classfactory=2887E7D7-4780-11D4-879F-00C04F38F0DB" -sasuser . -log m#d#b#y.log -logparm "rollover=auto open=replaceold write=immediate" 其中 directory of this bat SAS9.1root metaport 三处要符合当前实际情况,start/min开始为一完整行。
创建appmeta\omaconfig.xml文件,含以下内容: <OMAconfig> <OMA AUTHCHCK="NONE"/> <OMA ADMINUSERS="appmeta目录的实际绝对路径\adminUsers.txt"/> </OMAconfig>
创建appmeta\adminUsers.txt文件,含以下内容: 本机hostname\appmadm
2.2 执行appmeta\StartMetaDataServer.bat 2.3 启动SAS Management Console,建立连接profile,用户名即为appmadm, 主机即为本机,端口即为2。1中的metaport; 创建基础元数据存储库,名为FoundationRposForapplication, 物理位置即2。1中的appmeta\rpos 的实际绝对路径。 2.4 创建运行SASStoredProcess Server的用户描述信息,即 在用户管理器中新建组,名为appsuser,登录定义为: 本机hostname\appsuser 2.5 创建SASStoredProcess Server描述信息,即 在服务器管理器中新建服务器,选择服务器类型为Object Spawner,服务器名为3机hostname加空格加Spawner,主机名为3机hostname,可采用默认端口;当询问可用的服务器时新建存储过程服务器,服务器名为appserver,主机名为3机hostname,此过程完毕后在导航树上找到新建的appserver,将其转换成负载平衡服务器,并且在其下生成的定义项的属性中的启动命令处改为: sas -rsasuser -autoexec "3机spawner目录的绝对路径\autoForStp.sas" -logparm "rollover=session write=immediate" -log "3机spawner目录的绝对路径\%y_%m_%d_%v.log" 将此处高级选项中的凭证登录设为2。4中定义的用户。 注:上述命令中规定了SAS StoredProcess Server的运行日志。 2.6 在该定义项处新添连接(multibridge)若干个,即对应将来StoredProcessServer的实际SAS进程,名称和端口自定,主机须设为3机的hostname。 2.7 在导航树上找到新建的spawner服务器定义,新添一个用于负载平衡的连接,名称和端口自定。 2.8 在导航树上存储过程管理器定义存储过程描述,即先新建一个目录为app,在其中新建存储过程定义,其所在服务器为2。5中所建服务器,存储库位置为3机spawner目录的绝对路径,名称自定,如cw_entry,程序文件名为该目录中实际存在的某个.sas文件,如cw_entry.sas,输出类型选为“流”。
3. StoredProcessServer配置 3. 1 以appsadm用户登录3机,修改spawner\StartSpawner.bat中 directory of this bat thishostname SAS9.1root 三处至当前实际情况 3.2 修改spawner\MetadataServer.xml中 metadataserverhostname metaport userid_used_to_read_metadata_info encoded_password_to_specify 四处要修改为符合Metadata Server的实际情况。Encodedpassword可用SAS pwencode过程产生,如proc pwencode in=’before’;run;日志中便显示出编码后的口令。
4. STPWA配置 4. 1 将专用的Tomcat启动脚本startEnvForSAS.bat 从SASStoredProcess\FoundationServiceRelated中拷至tomcat_home\bin中,并修改其中CATALINA_HOME参数的赋值为当前实际情况。 4.2 将app web files 访问定义添加到server.xml中,如 <Context debug="0" docBase="e:/app2/webserver" path="/app" reloadable="true"> </Context> 4.3 在catalina.policy文件末尾加入 grant codeBase "file:${catalina.home}/webapps/SASStoredProcess/-" { permission java.security.AllPermission; permission java.net.SocketPermission "thishostname:1024-", "listen, connect, accept, resolve"; }; 其中thishostname修改为本机实际hostname。 4.4 拷贝sas_services_idp_local_omr.xml.orig为sas_services_idp_local_omr.xml,并替换其中如下字符串为实际情况(SASStoredProcess\FoundationServiceRelated中): host_to_specify metadata server的hostname port_to_specify metadata server的 port number domain_to_specify metadata server 所在domain userid_used_to_read_metadata_info encoded_password_to_specify 4.5 拷贝logging_config_stp.xml.orig为logging_config_stp.xml,并替换其中如下字符串为实际情况(SASStoredProcess\FoundationServiceRelated中): your_tomcat_home_to_specify 斜杠须为/ 4.6 拷贝system_properties.config.orig为system_properties.config,并替换其中如下字符串为实际情况(SASStoredProcess\FoundationServiceRelated中): your_tomcat_home_to_specify 斜杠须为\\ 4.7 拷贝login.config.orig为login.config,并替换其中如下字符串如同4。4(SASStoredProcess\FoundationServiceRelated中): host_to_specify metadata server的hostname port_to_specify metadata server的 port number domain_to_specify metadata server 所在domain 4.8 拷贝web.xml.orig为web.xml,并替换其中如下字符串为实际情况(SASStoredProcess\WEB-INF中): userid_used_to_read_metadata_info your_tomcat_home_to_specify 注:其中初始化参数inputEncoding保证汉字信息正确传到SAS StoredProcess Server中。 4.9 拷贝sas_metadata_source_client.properties.orig为 sas_metadata_source_client.properties,并替换其中如下字符串为实际情况(SASStoredProcess\WEB-INF\conf中): your_tomcat_home_to_specify 4.10 拷贝params.config.orig为params.config,并替换前几行中如下字符串为实际情况(SASStoredProcess\中): userid_used_to_read_metadata_info encoded_password_to_specify domain_to_specify 注:此设置保证首次访问servlet时不提示用户登录,而自动以此用户的身份继续随后处理。
四、运行 1、于2机上启动Metadata server。 2、于3机上启动Object Spawner。 3、于1机上启动Tomcat。 4、于客户端IE中键入如下类似地址 http://websereverhostname:8080/SASStoredProcess/do?_PROGRAM=%2Fapp%2Fcw_entry&_id=login&_type=0
注:多个应用时,上述autoForStp.sas和入口存储过程cw_entry.sas 的使用要点:
首先前者是SAS服务进程的autoexec文件,并且其中的设置会被它发起的子sas线程继承,这是与IntrNet appserver的不同之处。因此若希望节省入口存储过程的每次请求所导致的重设置时间,可将application应用环境所需库等设置置于其中,而对应的入口存储过程中不必进行任何设置,在元数据中针对不同的应用定义单独的STP server和单独的入口存储过程即可;若希望共享STP server,简化定义,则仅将各application应用共性的设置置于autoForStp.sas中,针对不同应用制作单独的入口存储过程,其中进行各应用的个性设置。

|