IBM WebSphere Multichannel Bank Transformation Toolkit, Version 7.1

Server side configuration of business component application

The following is the example content of the bttconfig.xml file of server side.

  <import file="ej.xml" />
	<import file="overrideServer.xml" />
	<import file="transactions.xml" />
	<import file="accessControl.xml" />

	<com.ibm.btt.poc.postengine.PostEngineImpl id="poc.postengine" />

	<com.ibm.btt.bc.common.pool.ConnectionPoolImpl id="JDBCDAOPool"
		disablePool="true">

   <com.ibm.btt.bc.common.pool.JdbcConnectionConfig	Injection="jdbcConfig" 
         dbDriverName="COM.ibm.db2.jdbc.app.DB2Driver" dbUrl="jdbc:db2:journal" dataSource="jdbc/DEMO" />

	<com.ibm.btt.bc.common.pool.PoolProperty  Injection="poolProperty" maxActive="10" />
	</com.ibm.btt.bc.common.pool.ConnectionPoolImpl>

The JDBC connection pool is commonly used by EJ and Access Control. So it is defined in the bttconfig.xml file.

Access Control Configuration

	<com.ibm.btt.poc.login.LoginImpl id="login">
		<ref refId="securityManager" Injection="securityManager"/>
	</com.ibm.btt.poc.login.LoginImpl>
	
	<com.ibm.btt.bc.ac.impl.BTTSecurityManager id="securityManager">
		<ref Injection="securityObjectManager" refId="securityObjectManager" />
	</com.ibm.btt.bc.ac.impl.BTTSecurityManager>

	<com.ibm.btt.bc.ac.impl.SecurityObjectManager  id="securityObjectManager">
		<ref Injection="daoFactory" refId="db2DAOFactory" />
	</com.ibm.btt.bc.ac.impl.SecurityObjectManager>

	<com.ibm.btt.bc.ac.dao.db.DBDAOFactory id="db2DAOFactory" dbSchema="administrator">
		<ref Injection="connectionPool" refId="JDBCDAOPool" />
	</com.ibm.btt.bc.ac.dao.db.DBDAOFactory>

EJ configuration

<BTTEJ>
	<com.ibm.btt.bc.ej.BTTEJBase id="ejJdbcT1" sharedMode="false">
		<com.ibm.btt.bc.ej.dao.jdbc.EJDAOJdbcImpl Injection="ejDAO"  tableName="administrator.ejtable">
			<ref  Injection="connectionPool" refId="JDBCDAOPool" />
		</com.ibm.btt.bc.ej.dao.jdbc.EJDAOJdbcImpl>
		<ref Injection="userDefinedFieldsDesc" refId="UserDefinedFieldsDescriptionTable" />
	</com.ibm.btt.bc.ej.BTTEJBase>

	<list id="UserDefinedFieldsDescriptionTable">
		<com.ibm.btt.bc.ej.FieldDescriptor fieldName="ACCOUNT" isNumeric="false" />
		<com.ibm.btt.bc.ej.FieldDescriptor fieldName="AMOUNT" isNumeric="true" />
		<com.ibm.btt.bc.ej.FieldDescriptor fieldName="TxnID" isNumeric="false" />
		<com.ibm.btt.bc.ej.FieldDescriptor fieldName="BankID"	isNumeric="false" />
		<com.ibm.btt.bc.ej.FieldDescriptor fieldName="Status" isNumeric="false" />
		<com.ibm.btt.bc.ej.FieldDescriptor fieldName="ACCOUNT2" isNumeric="false" />
	</list>
</BTTEJ>

Override configuration

<config>
	<com.ibm.btt.msg.poll.PollMessageDispatcher   id="com.ibm.btt.msg.MessageDispatcher" traceMessage="true" />
	<com.ibm.btt.bc.override.agent.OverrideAgentImpl  id="com.ibm.btt.bc.override.agent.OverrideAgent">
		<ref Injection="messageDispatcher" 	refId="com.ibm.btt.msg.MessageDispatcher" />
	</com.ibm.btt.bc.override.agent.OverrideAgentImpl>
</config>

Transaction configuration

In the configuration example, we use command chain to implement server side transaction handling. In this definition example, the definition is clear and flexible to add or remove the command. Also the command is highly reused.

<transactions>
	<com.ibm.btt.command.CommandChain id="depositeCmdChain">
		<java.util.ArrayList Injection="commands">
			<ref refId="accessControlCmd"/>
			<com.ibm.btt.demo.srvcmd.EJBeforeTransactionCmd />
			<com.ibm.btt.demo.srvcmd.SendToHostCmd />
			<com.ibm.btt.demo.srvcmd.EJAfterTransactionCmd />
		</java.util.ArrayList>
	</com.ibm.btt.command.CommandChain>

	<com.ibm.btt.command.CommandChain id="withdrawCmdChain">
		<java.util.ArrayList Injection="commands">
			<ref refId="accessControlCmd"/>
			<com.ibm.btt.demo.srvcmd.EJBeforeTransactionCmd />
			<com.ibm.btt.demo.srvcmd.SendToHostCmd />
			<com.ibm.btt.demo.srvcmd.EJAfterTransactionCmd />
		</java.util.ArrayList>
	</com.ibm.btt.command.CommandChain>

	<com.ibm.btt.demo.srvcmd.AccessControlCmd id="accessControlCmd">
		<ref refId="securityManager" Injection="securityManager" />
	</com.ibm.btt.demo.srvcmd.AccessControlCmd>
</transactions>	


Feedback