[原创]多域之间互操作以及域的配置_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4753 | 回复: 1   主题: [原创]多域之间互操作以及域的配置        下一篇 
meng.luo
注册用户
等级:上尉
经验:657
发帖:22
精华:0
注册:1970-1-1
状态:离线
发送短消息息给meng.luo 加好友    发送短消息息给meng.luo 发消息
发表于: IP:您无权察看 2014-5-7 17:20:09 | [全部帖] [楼主帖] 楼主

一、多域之间的理解

         在前面的帖子《TUXEDO应用系统的组织模式》中,我主要了解了单机模式(SHM)和多机模式(MP),这两种模式都属于单域模式!也知道了TUXEDO应用系统的组织模式主要有三种:单机模式、多机模式、多域模式!下面就一起来了解一下多域模式!

         在前面的帖子中,很多次,都提到了域,那么,什么是域呢?TUXEDO是从5.0开始引入了域的概念,域是TUXEDO分布式应用程序的一种组织方式和管理单元,一个域就是一个独立的应用程序,它既可以由单个节点构成,又可以由多个节点构成(MP模式),它的配置通过一个TUXCONFIG文件来描述。

        多域,顾名思义,就是多个域之间的联系。在企业计算环境中,一个TUXEDO域可以使用特定网关去连接其他域,实现业务集成。如下图所示,一个TUXEDO域可以使用TDOMAIN网关去连接另一个TUXEDO域,也可以使用TDOMAIN/WTC去连接一个WebLogic域。如果企业计算环境中存在TOPEND域和主机应用,TUXEDO域也可以使用TEDG和eLink网关去连接它们。

        

北京联动北方科技有限公司

        一个域既可以把其他域的服务导入到本地,也可以把本地服务暴露给其他域。对于客户端而言,本地服务和远程服务是完全透明的,即本地客户端可以像调用本地服务一样去调用一个远程服务。域和域之间支持完全上下文的传递,可以为跨域的服务调用设置安全验证和访问控制。域和域之间还支持事务上下文的传递,多个跨域的操作可以纳入到同一个全局事务中来进行事务控制。在TUXEDO和WebLogic之间,���可以跨域实现单点登录(Single Sign On,SSO).

        在MP模式下,所有节点必须位于同一个局域网中,而在多域模式下,连接两个域之间的链路可以使不可靠的广域网。如果要跨域网关传递大量的数据,可以在网关上配置压缩特性;如果要通过网关传递重要数据,可以在网关上配置加密特性。

       TUXEDO提供了3个类域网关来连接不同的系统,它们是TDOMAIN、TOPEND和eLink。根据使用的协议和目的不同,可以把eLink网关分为TCP、SNA、OSI TP 3类。

       TDOMAIN网关是基于TCP/IP设计的,它的进程名是GWTDOMAIN,常用于连接其他TUXEDO域和WebLogic域。在连接WebLogic时,WebLogic一端使用的是WTC。TOPEND网关也是基于TCP/IP网络设计,进程名是GWTOPEND,它为TUXEDO系统连接TOP END系统提供支持,从9.0开始,TUXEDO不再支持这个网关。eLink for Mainframe TCP网关的进程名是GWIDOMAIN,它为TUXEDO系统连接IBM OS/390的CICS和IMS系统提供支持。eLink for Mainframe SNA 网关的进程名是GWSNAX,它为TUXEDO系统连接IBM OS/400、OS/390 CICS和IMS、VSE/CICS等使用SNA网络的系统提供支持。eLink for Mainframe OSI TP 网关的进程名是GWOSITP,它为TUXEDO系统连接其他OSI TP系统提供支持。

       如下图所示,展示了一个多域TUXEDO应用程序的构成。图中共有4个域,每个域都是一个独立的应用程序,它们都有自己的客户端、服务器和配置文件。左侧Domain1有3个网关,分别用于连接Domain2和两个远程域,右侧的Domain2有两个网关,用于连接Domain1 和一个远程域。

      连接不同类型的远程域需要使用不同的网关,但对于同一类型的多个远程域来说,既可以使用一个网关,也可���使用多个网关。如果1个本地TUXEDO域要和3个同一类型的远程TUXEDO域建立连接,那么有两种方案可选。第一种方案是在本地域中使用1个网关去连接3个远程域,第二种方案是在本地域中使用3个网关分别去连接3个远程域。第一种方案的有点是网关数量少,易于监控和管理,缺点是网关压力大,没有办法针对每一个远程域设置个性化的连接策略。第二种方案的优点是可以设置个性化的的连接策略,网关压力小,多网关之间可以设置Failover,缺点是网关进程多,不易于管理。

     

     
北京联动北方科技有限公司

         每个域都有一个域管理进程DMADM,它管理着域的配置文件BDMCONFIG和网关组。每个组有一个网关管理进程GWADM和一个网关进程,GWADM管理着网关。网关进程负责域之间的通信,它可以把远程域的服务导入到本地并在BB公告它们,使用本地客户端可以调用它们。如下表,详细描述了这些进程的作用。

        多域模式下的域管理进程及网关。

        
北京联动北方科技有限公司

        如果一个域有n个网关组,那么域管理进程、网关管理进程、网关进程的数量总和为2n+1。多域应用中的每个域可以独立启动,在什么时候和远程域建立连接,将由域网关上的配置的连接策略决定。

         

二、多域应用的基本配置

      TUXEDO使用一个单独的配置文件DMCONFIG来保存域的配置信息。DMCONFIG和UBBCONFIG文件非常类似,也有ASCII和二进制两个版本。ASCII版本由管理员编写,在启动域之前,必须使用dmloadcf把它转换成二进制的形式,并通过BDMCONFIG环境变量来指定它。DMCONFIG文件盒UBBCONFIG一样,也是由若干个段组成。

      1、*DM_RESOURCES

            这个段定义全局的域配置信息,目前只有一个VERSION参数。管理员可以用这个参数来标记域配置文件的版本,取值是一个字符串,除此之外没有别的意义。这个段       不是必须的,可以不定义。

VERSION=SIMPAPP_V1
2、*DM_LOCAL


           这个段的别名是*DM_LOCAL_DOMAINS,用于定义本地域网关访问点。每个域网关对应着一个访问点,如果本地有多个网关,则必须在这里定义多个访问点。下面的      例子定义了一个本地域网关访问点JQ_LDOM1。

JQ_LDOM1      GWGRP=LGWGRP         TYPE=TDOMAIN              DOMAINID="JQ_LDOM1"


          在这个段中,GWGRP、DOMAINID和TYPE参数是必须的,其他参数都是可选的。GWGRP指定了网关进程所属的组名LGWGRP,它必须在ubb文件中定义过。                DOMAINID的别名是ACCESSPOINITD,它用于定义一个网关标识,在配置安全特性和Failover时,可能会用到这个标识。TYPE用于定义网关的类型,可取值为                      TDOMAIN、   TOPEND、SNAX、OSITP和OSITPX。

     3、*DM_REMOTE

           这个段的别名是*DM_REMOTE_DOMAINS,用于定义远程域网关访问点。对于一个本地域网关访问点,必须有一个远程域网关访问点和它对应。下面的例子定义了一个      远程域网关访问点SNNA_RDOM1。

SNNA_RDOM1        TYPE=TDOMAIN         DOMAINID="SNNA_RDOM1"
4、*DM_TDOMAIN


         这个段为本地网关和远程网关指定监听地址和端口。远程网关通过本地网关的监听地址来建立连接和发送请求,本地网关通过远程连接到远程网关的监听地址上去发送       服务请求。下面的例子定义了两个网关访问点的监听地址。

JQ_LDOM1               NWADDR="//JQ:2507"
SNNA   RDOM1        NWADDR="//SNNA:3186"


        在这个段中,只有NWADDR是必须的,其他的可选从参数还有:NWDEVICE(指定使用的网络设备)、CMPLIMIT(指定压缩阀值)、TCPKEEPALIVE(指定是否保持TCP连      接)。

    5、*DM_ACCESS_CONTROL

        这个段用于定义访问控制列表(ACL),用于控制那些远程域可以请求本地的服务。下面的例子定义了一个名为MY_ACL的访问控���列表。

MY_ACL          ACLIST=SNNA_RDOM1,SMURF_RDOM1
6、*DM_EXPORT


         这个段的别名是*DM_LOCAL_SERVICES,用于定义本地域导出的服务,这些服务可被远程域导入。在默认情况下,所有的本地域的服务都是课导出的,这些服务集继     承了TUXCONFIG中定义的属性,如LOAD、PRIO、AUTOTRAN、ROUTING、BUFTYPE和TRANTIME。下面的例子为本地域导出的服务TOLOWER定义了ACL和服务别         名。

TOLOWER          RNAME=LOWERCASE           ACL=MY_ACL


          这个例子说明,只有来自SNNA_RDOM1和SMURF_RDOM1网关的请求才能调用TOLOWER服务,来自其他网关的请求会被拒绝。RNAME为本地服务提供了重命名功       能,当远程域导入TOLOWER时,服务名不再是TOLOWER,而是LOWERCASE。

          这个段中用于定义本地服务的参数还有TYPE、LDOM、ACL和CONV。TYPE用于指定导出的资源类型,可取值SERVICES、QSPACE和QNAME,分别表示导出的是一     个服务、队列空间或一个队列名,若不指定,默认是SERVICES。LDOM的别名是LACCESSPOINT,用于指定导出网关。ACL用于指定一个*DM_ACCESS_CONTROL中定     义的ACL名,CONV可取值Y和N,用于指定导出的服务是否为会话类型。

    7、*DM_IMPORT

           这个段的别名是*DM_REMOTE_SERVICES,用于定义从远程域中导入的服务。下面的配置用于从远程域导入TOUPPER服务。LDOM的别名是LACCESSPOINT,它       指定了本地网关访问点LAPP。RDOM的别名是RACCESSPOINT,它指定了TOUPPER的远程网关访问点是UAPP。当本地域调用TOUPPER时,服务请求将由LAPP传递给     UAPP。

TOUPPER           LDOM=LAPP              RDOM=UAPP               RNAME=UPPERCASE


          这个段中用于定义远程服务的参数还有TYPE、CONV、LOAD、RENAME、ROUTING等。与*DM_EXPORT段的同名参数作用相同,TYPE用于指定导入服务的类型,       CONV用于指定服务是否为会话类型,LOAD用于指定负载因子,ROUNTING用于指定路由规则。

    8、*DM_ROUNTING

          这个段用于定义多个域之间的数据依赖路由规则,这些规则可以被*DM_ROUNTING段中的服务引用。下面的例子定义了一个路由规则ON_ACCOUNT,这个规则被ACCT_BAL服务引用。

*DM_REMOTE_SERVICES
ACCT_BAL   LDOM=JDG  ROUTING=ON_ACCOUNT
*DM_ROUNTING
ON_ACCOUNT     BUFFTYPE="FML32"   FIELD=“ACCOUNT_ID”
RANGES="0-9999:MDG1,*:MDG2"


          ACCT_BAL是一个导入服务,MDG1和MDG2两个域都提供了这个服务,它在本地的网关访问点是JDG,请求缓冲区类型是FML32。路由规则ON_ACCOUNT的作用是,如果请求缓冲区中的ACCOUNT_ID字段取值在0~9999之间,则本地域将通过JDG把请求转发给MDG1域,否则将通过JDG转发给MDG2域。

          *DM_ROUNTING与UBBCONFIG文件中的*ROUNTING的用法基本上是一样的,差别仅在于*ROUNTING的RANGES参数中,取值范围对应的是组名,而在*DM_ROUNTING中取值范围对用的是远程网关访问点。




赞(0)    操作        顶端 
koei
版主
等级:大校
经验:4186
发帖:7
精华:0
注册:2011-7-21
状态:离线
发送短消息息给koei 加好友    发送短消息息给koei 发消息
发表于: IP:您无权察看 2014-5-13 8:01:36 | [全部帖] [楼主帖] 2  楼

挺详细的 :-)



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论