在工作流中,与组织模型的交互是非常重要的功能,能否提供对多种组织存储方式的支持,以及能够满足复杂的组织结构支持,对工作流系统来说,是非常重要的。 本篇就简要介绍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...)|收藏