With the latest code from trunk, run the
mvn clean install -Pdistro
and then from the distro/target, run:
java -jar jbidm-1.0.0-SNAPSHOT.jar
you will be able to deploy the identity management module into JBoss AS5.
The tasks that the integration and distro module did are as following:
1. Generate the database schema in the build time.
2. Start the IdentitySessionFactory from the META-INF/idm-service-jboss-beans.xml in the
JBoss AS5.
3. Register and the IdentitySessionFactory in the JNDI.
The file structure for the idm-service.sar is:
| idm-service.sar
| |--idm-sql
| |---------jboss.idm.hsql.create.sql
| |---META-INF
| |---------idm-service-jboss-beans.xml
| |----jboss-idm.xml
| |----jboss.idm.hibernate.cfg.xml
the content of idm-service-jboss-beans.xml is:
<bean name="jboss.identity.IDMService"
| class="org.jboss.identity.idm.integration.jboss5.IDMService">
| <constructor>
| <parameter>jboss-idm.xml</parameter>
| </constructor>
| <property
name="idmSessionFactoryJNDI">java:/IdentitySessionFactory</property>
| <property
name="SQLScript">idm-sql/jboss.idm.hsql.create.sql</property>
| <property name="datasource">java:jbossidmDS</property>
| <property name="exitSQL">select * from jbid_io</property>
|
<depends>jboss.jca:service=DataSourceBinding,name=jbossidmDS</depends>
| </bean>
So, in this case, we installed the default identity management module in the JBoss AS5.
other projects who want to use the idm (like jBPM4) can get the IdentitySessionFactory can
get it through the jndi.
This is one way to use the identity management, say using the sharing/default one.
Another two scenarios that I can see is:
1. Use it in the embedded way, they want to create the database table schemas in its own
database, instead of the sharing one. AFAIK like portal. It will start the
identitySessionFactory through the API. In this case, I don't think we need to any
integration for it.
2. Use it in the standalone but with its own repository(database) back-end. say like
SOA-Repository(Guvnor) project, it has defined its own guvnor-idm.xml configuration file
for the jboss identity. In this case, users need to do as following to start the
IdentitySessionFactory. Users just have to write a *-jboss-beans.xml, like what we did for
the idm-service.sar, and then can populate the database schema to target DB, and register
the IdentitySessionFactory into the specified JNDI.
Above all, I don't think we need to write the deployer for -idm.xml(configuration file
for identity management) at the moment. However, I do think we need to put the idm related
jars in a folder that other artifacts can depends on, so that they don't need to have
the duplicated idm libraries. (as of writing, I think can can specify other artifacts
depends on the idm-service.sar, so that all of libraries in the idm-service.sar can be
seen in the artifact, but haven't tried it yet.)
So, above is what I have & thought about the integration, did I miss something here,
or which way will you use the jboss identity project?
Any comments and suggestions are welcome.
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4226400#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...