胡长城(银狐999)BLOG

工作流,BPM,SOA,Java,J2EE、Flex;个人主页http://www.javafox.org;普元BPS业务流程平台

原创  Oracle BPEL的研究(7)Identity Service 与组织结构和权限的处理收藏

      在工作流中,与组织模型的交互是非常重要的功能,能否提供对多种组织存储方式的支持,以及能够满足复杂的组织结构支持,对工作流系统来说,是非常重要的。      本篇就简要介绍Oracle BPEL Workflow Service中的Identity Service。Identity Service是Workflow Service中很重要的服务,主要完成用户、组的查找,以及授权和认证。可以通过OracleAS JAAS Provider(JAZN)、Oracle内嵌的Directory服务、第三方LDAP服务器、或者客户自定义的存储实现。 Identity Service的配置文件        Identity Service的配置文件名为is_config.xml,默认在%SOA_Oracle_Home%\bpel\system\services\confi 目录下,其schema文件存储在%SOA_Oracle_Home%\bpel\system\services\schema\is_config.xsd。 在http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28982/service_config.htm#BABBDHFF 网页上有详细的结构介绍,此处不再累述。       Identity Servie支持三种plugin方式:JAZN provider, third-party LDAP directories, or custom repository plug-ins,分别是通过providerType属性来声明,值分别为JAZN, LDAP, or CUSTOM 如下是默认is_config.xml内容

<ISConfiguration xmlns="http://www.oracle.com/pcbpel/identityservice/isconfig">

   <configurations>

      <configuration realmName="jazn.com">

         <provider providerType="JAZN" name="XML" service="Identity">

            <property name="usersPropertiesFile" value="users-properties.xml"/>

         </provider>

      </configuration>

   </configurations>

</ISConfiguration>

         注意:如果providerType为JAZN,则需要声明realmName属性,并且其值必须为jazn.xml作包含的ream名称。jazn.xml在 %SOA_Oracle_Home%\j2ee\oc4j_soa\config 目录下,参考jazn.xml和system-jazn-data.xml文件。       当然,你可以使用custom repository方式,如下例子。其中客户自己实现的Identity Service必须实现oracle.tip.pc.services.identity.BPMIdentityService这个接口类

<?xml version = '1.0' encoding = 'UTF-8'?>

<ISConfiguration xmlns="http://www.oracle.com/pcbpel/identityservice/isconfig">

   <configurations>

      <configuration realmName="jazn.com">

         <provider providerType="JAZN" name="xml" service="Identity">

            <property name="userPropertiesFile" value="users-properties.xml"/>

         </provider>

         <provider providerType="CUSTOM" 

                   name="CustomPlugIn" service="Authentication"

                   class="package.name.CustomAuthenticationService" />   

      </configuration>

   </configurations>

</ISConfiguration>

       其中,针对provider中的service类型,主要有三种:Identity、Authentication、Authorization,默认是Identity。 采用XML-Based JAZN Provider 参考: http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28982/service_config.htm#BABDGHAG 使用Oracle Internet Direcatory 参考: http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28982/service_config.htm#BABDAGFH 使用第三方LDAP Server 参考: http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28982/service_config.htm#BABHBEGH 使用客户自定义的存储实现   其实,最主要是对oracle.tip.pc.services.identity.BPMIdentityService这个接口的实现。这个内容改天再详细叙述。

定义group的owner 参考: http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28982/service_config.htm#BABBHBBB

发表于 @ 2008年06月19日 21:59:00|评论(loading...)|收藏

新一篇: Slide: BPM Tools | 旧一篇: Oracle BPEL的研究(6)流程变量和Human Task数据交互说明(2)

Csdn Blog version 3.1a
Copyright © 银狐999