Embedded Mode

 

Embedded mode allows you to run KC with a central Rice server.  This has the benefit of a central Doc Search, Action List, and KIM maintenance.

It also allows some processing to be offloaded to the rice server, which provides different scaling characteristics.  Embedded mode is currently the preferred deployment model. 

link.png

For a more detailed description of embedded mode, see the Rice documentation [https://test.kuali.org/confluence/display/KULRICE/Documentation].

 

1) Create/Configure Rice Server Database

2) Configure Stanalone Rice Server (see example-config/rice-config.xml in the rice project)

3) Startup Rice server

Before you begin:

 

1) Create/Configure KC Database (This will include the Rice Client tables and KC's tables).

2) Setup KC database in Embedded Mode.

      Run the Database setup script

      Select EMBED for your Rice mode

      For Install/Upgrade Embedded Rice Server Side

Select Y if you need to cleanly install a new Rice database along with KC data

Select N if you need to upgrade an existing Rice database with KC data

2) Configure KC.

To run KC in Embedded Mode:

      Point KC to the client & server databases

      Configure the Rice URL

      Turn off dev-mode

      Set the run modes to embedded for the Rice modules

      Configure a valid keystore for secure communication with Rice

     

Keystore Example (Embedded Mode Configuration File)

    <!-- KC Client DB -->

    <param name="datasource.url">jdbc:oracle:thin:@127.0.0.1:1521:XE</param>

    <param name="datasource.username">KCDEV</param>

    <param name="datasource.password">secret</param>

    <param name="datasource.ojb.platform">Oracle9i</param>

 

    <!-- For Embedded Mode -->

    <param name="rice.app.url">http://127.0.0.1:8081/kr-dev</param>

 

    <param name="kim.runmode">embedded</param>

    <param name="kcb.runmode">embedded</param>

    <param name="kew.runmode">embedded</param>

    <param name="ken.runmode">embedded</param>

   

    <param name="dev.mode">false</param>

   

    <!-- Rice Server DB -->

    <param name="server.datasource.url">jdbc:oracle:thin:@127.0.0.1:1521:XE</param>

    <param name="server.datasource.username">RICEDEV</param>

    <param name="server.datasource.password">secret</param>

    <param name="server.datasource.ojb.platform">Oracle9i</param>

   

    <!-- Keystore Configuration -->

    <param name="keystore.file">

${user.home}/kuali/main/${environment}/rice.keystore

</param>

    <param name="keystore.alias">rice</param>

    <param name="keystore.password">r1c3pw</param>

 

3) Startup KC.

4) Verify the configuration. 

To verify the configuration, try the following:

      Create a proposal document.  Save it. Close it.  From the main portal page click on Action List -> Find the Proposal -> Log -> Future Action Requests

      Go to System Admin Tab.  Try Person Maintenance or Parameter Maintenance.  These pages should work correctly and they should link to the central rice server.

End of activity.