IBM Liberty Server and ODM product

IBM Liberty Server and ODM product

Server Creation

WebSphere\Liberty\bin\server create ODMWLP88, a server ODMWLP88 will created (one more dir ODMWLP88 can be found under WebSphere\Liberty\usr\servers).

Start & Stop

  1. Start server: server start ODMWLP88
  2. Stop server: server stop ODMWLP88

Server can be found under the dir: WebSphere\Liberty\usr\servers, shared resources coming from the dir: WebSphere\Liberty\usr\shared\resources which includes some jdbc drivers, all deployed apps can be found under the ODMWLP88\apps dir.

Configuration

The server config file server.xml is at the root of the ODMWLP88 server dir.

  • features
  • httpEndpoint
  • jdbcDriver, library, dataSource
  • managedExecutorService??
  • basicRegistry for groups and permissions
  • applications:
    • DC: decisioncenter and teamserver
    • RES: res
    • Testing and Simulation: testing and DecisionRunner
    • HTDS: DecisionService

Deployment

Drop all wars into the apps dir. (can we drop them into drops dir as well?)

Logs

Log files can be found under the WebSphere\Liberty\usr\servers\ODMWLP88\logs dir.

Databases

Derby, H2 or DB2

Reference

Appendix

Sample server xml.

<server description="new server">

    <!-- Enable features -->

<featureManager>
        <feature>jsp-2.2</feature>
        
        <!-- Enable features required for ODM 8.8 Decision Center -->
        <feature>servlet-3.0</feature>
        <feature>jsp-2.2</feature>
        <feature>jdbc-4.0</feature>
        <feature>appSecurity-1.0</feature>
        <feature>jaxrs-1.1</feature>       
        <feature>concurrent-1.0</feature>
        <feature>jndi-1.0</feature>
        <feature>ssl-1.0</feature>
        
        <!-- Enable features required for ODM 8.8 Decision Server -->
        <feature>servlet-3.0</feature>
        <feature>jsp-2.2</feature>
        <feature>jdbc-4.0</feature>
        <feature>appSecurity-1.0</feature>
        <feature>jaxrs-1.1</feature>

        <!-- Enable features required for ODM 8.8 Decision Runner -->
        <feature>concurrent-1.0</feature>
        <feature>localConnector-1.0</feature>
    
</featureManager>

    <!-- Endpoint -->
    <httpEndpoint id="defaultHttpEndpoint"
                  host="*"
                  httpPort="9080"
                  httpsPort="9443" />
          

    <!-- ODM 8.8 - Decision Center - Derby Data Source -->
    <!-- Un-comment the following section if you wish to use the DERBY Database -->
    <!--
    <jdbcDriver id="DerbyJdbcDriver" libraryRef="DerbyLib"/>
    <library id="DerbyLib" filesetRef="DerbyFileset"/>
    <fileset id="DerbyFileset" dir="${shared.resource.dir}/derby" includes="derby.jar"/>
    <dataSource id="jdbc/ilogDataSource" isolationLevel="TRANSACTION_READ_COMMITTED" jndiName="jdbc/ilogDataSource" jdbcDriverRef="DerbyJdbcDriver">
        <properties
            databaseName="${server.config.dir}/databases/derby/rtsdb" 
            createDatabase="create" 
            user="rtsdbUser" 
            password="rtsdbUser"/>
    </dataSource> 
    <dataSource id="jdbc/resdatasource" isolationLevel="TRANSACTION_READ_COMMITTED" jndiName="jdbc/resdatasource" jdbcDriverRef="DerbyJdbcDriver">
        <properties
            databaseName="${server.config.dir}/databases/derby/resdb" 
            createDatabase="create" 
            user="resdbUser" 
            password="resdbUser"/>
    </dataSource> 
    
    -->
    
    <!-- ODM 8.8 - Decision Center - H2 Data Source (Not supported officially, but FAST) -->
    <!-- Un-comment the following section if you wish to use the H2 Database -->
    <jdbcDriver id="H2Driver" javax.sql.DataSource="org.h2.jdbcx.JdbcDataSource" libraryRef="h2-lib"/>
    <library id="h2-lib">
        <fileset dir="${shared.resource.dir}/h2" includes="h2-1.4.188.jar"/>
    </library>      
    <dataSource id="h2-dc" jndiName="jdbc/ilogDataSource" type="javax.sql.DataSource" jdbcDriverRef="H2Driver">
        <properties password="rtsdbUser" url="jdbc:h2:file:${server.config.dir}/databases/h2/rtsdb" user="rtsdbUser"/>
    </dataSource>
    <dataSource id="h2-ds" jndiName="jdbc/resdatasource" type="javax.sql.DataSource" jdbcDriverRef="H2Driver">
        <properties password="resdbUser" url="jdbc:h2:file:${server.config.dir}/databases/h2/resdb" user="resdbUser"/>
    </dataSource>
    

    <!-- Managed executor service for Decision Runner -->
    <managedExecutorService jndiName="concurrent/drExecutorService"/> 

    <!-- ODM 8.8 - Groups and Permissions -->   
    <basicRegistry id="basic" realm="customRealm">
        <!-- Decision Center Security -->   
        <user name="rtsAdmin" password="rtsAdmin"/>
        <user name="rtsConfig" password="rtsConfig"/>
        <user name="rtsUser1" password="rtsUser1"/>
        <user name="admin" password="admin"/>
        <group name="rtsAdministrator">
            <member name="rtsAdmin"/>
            <member name="admin"/>
        </group>
        <group name="rtsInstaller">
            <member name="rtsAdmin"/>
            <member name="rtsConfig"/>
            <member name="admin"/>
        </group>        
        <group name="rtsConfigManager">
            <member name="rtsAdmin"/>
            <member name="rtsConfig"/>
            <member name="admin"/>
        </group>
        <group name="rtsUser">
            <member name="rtsAdmin"/>
            <member name="rtsConfig"/>
            <member name="rtsUser1"/>
            <member name="admin"/>
        </group>
        
        <!-- Rule Execution Server security -->
        <user name="resAdmin" password="resAdmin"/>
        <user name="resDeploy" password="resDeploy"/>
        <user name="resMonitor" password="resMonitor"/>
        <group name="resAdministrators">
            <member name="resAdmin"/>
            <member name="admin"/>
        </group>
        <group name="resDeployers">
            <member name="resAdmin"/>
            <member name="resDeploy"/>
            <member name="admin"/>
        </group>        
        <group name="resMonitors">
            <member name="resAdmin"/>
            <member name="resDeploy"/>
            <member name="resMonitor"/>
            <member name="admin"/>
        </group>
    </basicRegistry>
                  
    <!-- ODM Decision Center -->
    <application id="decisioncenter" location="${server.config.dir}/apps/decisioncenter.war" name="decisioncenter" type="war">
        <application-bnd>
            <security-role name="rtsAdministrator">
                    <group name="rtsAdministrator"/>
            </security-role>
            <security-role name="rtsInstaller">
                    <group name="rtsInstaller"/>
            </security-role>
            <security-role name="rtsConfigManager">
                    <group name="rtsConfigManager"/>
            </security-role>
            <security-role name="rtsUser">
                    <group name="rtsUser"/>
            </security-role>                                 
        </application-bnd>
    </application>
    
    <!-- ODM Enterprise Console (Teamserver) -->
    <application id="teamserver" location="${server.config.dir}/apps/teamserver.war" name="teamserver" type="war">
        <application-bnd>
            <security-role name="rtsAdministrator">
                    <group name="rtsAdministrator"/>
            </security-role>
            <security-role name="rtsInstaller">
                    <group name="rtsInstaller"/>
            </security-role>
            <security-role name="rtsConfigManager">
                    <group name="rtsConfigManager"/>
            </security-role>
            <security-role name="rtsUser">
                    <group name="rtsUser"/>
            </security-role>                                 
        </application-bnd>
    </application>

    <!-- ODM Rule Execution Server console -->
    <application id="res" location="${server.config.dir}/apps/res.war" name="res" type="war">
            <application-bnd>
                <security-role name="resAdministrators">
                        <group name="resAdministrators"/>
                </security-role>
                <security-role name="resDeployers">
                        <group name="resDeployers"/>
                </security-role>
                <security-role name="resMonitors">
                        <group name="resMonitors"/>
                </security-role>
            </application-bnd>
    </application>

    <!-- ODM Scenario Service Provider (SSP) for DVS -->
    <application id="testing" location="${server.config.dir}/apps/testing.war" name="testing" type="war">
        <application-bnd>
            <security-role name="resAdministrators">
                <group name="resAdministrators"/>
            </security-role>
            <security-role name="resDeployers">
                <group name="resDeployers"/>
            </security-role>
        </application-bnd>
    </application>
    
    <!-- ODM Decision Runner -->
    <application id="DecisionRunner" location="${server.config.dir}/apps/DecisionRunner.war" name="DecisionRunner" type="war">
        <application-bnd>
            <security-role name="resAdministrators">
                <group name="resAdministrators"/>
            </security-role>
            <security-role name="resDeployers">
                <group name="resDeployers"/>
            </security-role>
        </application-bnd>
     </application>
     
    <!-- ODM Decision Service - Hosted Transparent Decision Service (HTDS) --> 
     <application id="DecisionService" location="${server.config.dir}/apps/DecisionService.war" name="DecisionService" type="war">
     </application>

</server>

Hot deployment

  1. https://developer.ibm.com/wasdev/docs/article_appdeployment/

Once you have an application in a compressed format, you may wish to expand it out. This will make it easier if you need to make updates to individual files in a development environment:

  1. Unzip the Sample1.war application in the apps directory so that you have a directory called Sample1 that contains a directory called WEB-INF.

  2. Remove the Sample1.war file and rename the Sample1 directory to Sample1.war (in that order).

  3. You do not need to change the server.xml configuration file. The expanded file is treated the same as the compressed format.

  4. https://developer.ibm.com/answers/questions/238432/how-does-deployment-in-liberty-work-in-detail.html - does not work!!!

<applicationManager autoExpandApps="true"/>
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容