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"/>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容