GDPR Cookie Consent by Free Privacy Policy Generator
post thumb
Asset Control
by Matthias Hanitzsch-Moonlight/ on 01 Mar 2018

Installing a base Asset Control system - Part 2

This post is the second and final part of a two-part series demonstrating the installation of a base Asset Control system on a Unix host.

Part 1 covers the installation of the AC Server 7.3.

Here, I cover the installation of the following components:

  • Interface Engine Utils 1.0
  • Normalization 2.1 interface
  • Consolidation 2.1 interface
  • Price Consolidation 2.0
  • Bloomberg 3.1 interface

If you want to follow along, you should have completed the installation of the AC Server 7.3 as shown in part 1.

Extracting the installation packages

All necessary packages have been downloaded from the AC Userweb and are available in the /vagrant directory:

acdba@acdevbox:~$ cd /vagrant
acdba@acdevbox:/vagrant$ ls -l
-rw-r--r-- 1 ubuntu ubuntu  40931355 Mar  5 20:11 bloomberg-normalization-3.1.85-pkg.tar.gz
-rw-r--r-- 1 ubuntu ubuntu  20283775 Mar  5 20:11 consolidation_c0-2.1.26-pkg.tar.gz
-rw-r--r-- 1 ubuntu ubuntu      8558 Feb 11 16:24 ie-utils-1.0.2-pkg.tar.gz
-rw-r--r-- 1 ubuntu ubuntu  22554431 Mar  5 20:11 normalization_n0-2.1.70-pkg.tar.gz
-rw-r--r-- 1 ubuntu ubuntu     19560 Mar  5 20:49 price-consolidation-2.0.10-pkg.tar.gz

I copy all five of them to $AC_SYSTEM and extract them (they can then be removed again):

acdba@acdevbox:~$ cd $AC_SYSTEM
acdba@acdevbox:~/ac$ cp /vagrant/normalization_n0-2.1.70-pkg.tar.gz /vagrant/consolidation_c0-2.1.26-pkg.tar.gz /vagrant/price-consolidation-2.0.10-pkg.tar.gz /vagrant/bloomberg-normalization-3.1.85-pkg.tar.gz .
acdba@acdevbox:~/ac$ tar xzf normalization_n0-2.1.70-pkg.tar.gz 
acdba@acdevbox:~/ac$ tar xzf consolidation_c0-2.1.26-pkg.tar.gz
acdba@acdevbox:~/ac$ tar xzf price-consolidation-2.0.10-pkg.tar.gz
acdba@acdevbox:~/ac$ tar xzf bloomberg-normalization-3.1.85-pkg.tar.gz
acdba@acdevbox:~/ac$ rm *.tar.gz

After extracting the installation packages, the three interfaces will each reside in their own directory under $AC_SYSTEM/interfaces. The Interface Engine Utils component can be found in $AC_SYSTEM/interfaces/config and $AC_SYSTEM/interfaces/samples. And the Price Consolidation component in $AC_SYSTEM/tools/pc:

acdba@acdevbox:~/ac$ ls -ld interfaces/c* interfaces/NO* interfaces/CO* interfaces/BL* tools/pc
drwxrwxr-x 13 acdba acdba 4096 Jan 19 15:31 interfaces/BLOOMBERG
drwxrwxr-x 13 acdba acdba 4096 Jan 19 15:31 interfaces/config
drwxr-x---  9 acdba acdba 4096 Jan 26 13:19 interfaces/CONSOLIDATION_C0
drwxrwxr-x  7 acdba acdba 4096 Mar  6 05:02 interfaces/NORMALIZATION_N0
drwxrwxr-x  6 acdba acdba 4096 Mar  6 05:06 tools/pc
acdba@acdevbox:~/ac$ 

Setting up global.properties

Before I can install any AC interfaces, I need to create the configuration file $AC_SYSTEM/interfaces/config/global.properties. This can either be created as a copy of global.properties-template in the same directory. Or you create the file as follows:

acdba@acdevbox:~$ cd ac/interfaces/config
acdba@acdevbox:~/ac/interfaces/config$ cat >global.properties
ie4.acconnector.hostname=acbox
ie4.acconnector.installationname=AC 7.3
ie4.acconnector.passwordfile=/home/acdba/ac/files/auto_logon/acdba
ie4.acconnector.user=acdba
[Ctrl-d]
acdba@acdevbox:~/ac/interfaces/config$ 

You will need to adjust the values provided in order to fit your installation.

Registering the interfaces

Another prerequisite to installing an interface is to register it. This is done using the install/menu.sh script again:

acdba@acdevbox:~$ cd $AC_SYSTEM/install
acdba@acdevbox:~/ac/install$ ./menu.sh

-------------------------------------------------------------------

Installation of Asset Control

-------------------------------------------------------------------

      * Installation directory: /home/acdba/ac
      *
   1. Environment ...
   2. Files and permissions ...
   3. Asset Control interfaces ...
   4. RDBMS setup ...
   5. Manual actions ...
   6. Post installation tasks ...
   7. Replicator setup ...

Enter choice or press Enter to exit:

From the menu above, I choose option 3 Asset Control interfaces. I am then presented with a fairly long list of interfaces to choose from (not all are shown below):


-------------------------------------------------------------------

Asset Control interfaces

-------------------------------------------------------------------

   1. Triarch.rt
  ...
   9. BLOOMBERG
  ...
  16. CONSOLIDATION_C0
  ...
  29. NORMALIZATION_N0
  ...
  52. Validate

Enter choice or press Enter to exit:

As I am installing BLOOMBERG, CONSOLIDATION_C0 and NORMALIZATION_N0, I choose option 9 and then repeat this for option 16 and 29.

Once this is done, I press ENTER once to return to the main menu. There, I choose option 6 Post installation tasks:


-------------------------------------------------------------------

Post installation tasks

-------------------------------------------------------------------

   1. Initial RDBMS population
   2. Register installed interfaces

Enter choice or press Enter to exit:

And then option 2 Register installed interfaces to complete the registration. Then press ENTER twice to exit menu.sh.

Installing the Normalization interface

To install the Normalization interface, I navigate to $AC_SYSTEM/interfaces/NORMALIZATION_N0/bin and run ./installdm (the output has been shortened):

acdba@acdevbox:~$ cd $AC_SYSTEM/interfaces/NORMALIZATION_N0/bin
acdba@acdevbox:~/ac/interfaces/NORMALIZATION_N0/bin$ ./installdm
INFO  installdm - Interface name: NORMALIZATION_N0 (N0)
...
T Loading the data model for interfaces: NORMALIZATION_N0
T The data model for interfaces NORMALIZATION_N0 has been loaded 8ms
I Analyze detected supported changes to the data model
I The analyze results have been written to "analyze.tsv"
acdba@acdevbox:~/ac/interfaces/NORMALIZATION_N0/bin$ 

This will analyse the N0 data model and check if the required changes can be applied to the system. As I am installing the N0 data model to a clean environment, this will of course be possible.

I can now run the command again, but this time providing the flag -u to indicate I want to persist the updates:

acdba@acdevbox:~/ac/interfaces/NORMALIZATION_N0/bin$ ./installdm -u
INFO  installdm - Interface name: NORMALIZATION_N0 (N0)
...
T The data model for interfaces NORMALIZATION_N0 has been loaded 9ms
T Updating the data model
T Storing updates for datamodel: NORMALIZATION_N0
T The updates for datamodel NORMALIZATION_N0 have been stored 7283ms
T The data model has been updated 7484ms
INFO  installdm - If Consolidation is installed always run installdm of Consolidation as well
acdba@acdevbox:~/ac/interfaces/NORMALIZATION_N0/bin$ 

Once this is complete, the Normalization interface is installed and we can continue with our next interface.

Installing the Consolidation interface

The installation of the Consolidation interface is almost identical to the previous installation of Normalization. I navigate to $AC_SYSTEM/interfaces/CONSOLIDATION_C0/bin and run ./installdm:

acdba@acdevbox:~$ cd $AC_SYSTEM/interfaces/CONSOLIDATION_C0/bin
acdba@acdevbox:~/ac/interfaces/CONSOLIDATION_C0/bin$ ./installdm
Analyse CONSOLIDATION_C0 datamodel (C0)
...
I Analyze detected supported changes to the data model
I The analyze results have been written to "analyze.tsv"
Checking if C0 datamodel is installed
+++WARNING+++ 20180306_06:33:16 FE (20100422): Warning: could not load '/home/acdba/ac/formulas/C0/C0_ArbLib.fe'
CONSOLIDATION_C0 datamodel is not installed yet. Matching tool configuration check skipped.
acdba@acdevbox:~/ac/interfaces/CONSOLIDATION_C0/bin$ 

Followed by ./installdm -u:

acdba@acdevbox:~/ac/interfaces/CONSOLIDATION_C0/bin$ ./installdm -u
Update CONSOLIDATION_C0 datamodel (C0)
...
T Storing updates for datamodel: CONSOLIDATION_C0
T The updates for datamodel CONSOLIDATION_C0 have been stored 8475ms
T Storing updates for datamodel: NORMALIZATION_N0
T The updates for datamodel NORMALIZATION_N0 have been stored 212ms
T The data model has been updated 9060ms
Installing formulas
Installing MatchingTool
Installing consolidation_config formula in database
...
T Storing updates for datamodel: CONSOLIDATION_C0
T The updates for datamodel CONSOLIDATION_C0 have been stored 70ms
T Storing updates for datamodel: NORMALIZATION_N0
T The updates for datamodel NORMALIZATION_N0 have been stored 35ms
T The data model has been updated 275ms
Initializing Update and Query server processes
+++INFO+++ 20180306_06:33:50 ac_init_server: Reinitializing 536870932@acdevbox:
+++INFO+++ 20180306_06:33:50 @(#)ac_init_server_n[7.3/$Revision: 47831 $]: Query Server reinitialization OK
+++INFO+++ 20180306_06:33:50 ac_init_server: Reinitializing 536870931@acdevbox:
+++INFO+++ 20180306_06:33:50 @(#)ac_init_server_n[7.3/$Revision: 47831 $]: Update Server reinitialization OK
acdba@acdevbox:~/ac/interfaces/CONSOLIDATION_C0/bin$ 

And as part of the first installation of the interface, I also run the following command to initialise the recalculation rules:

acdba@acdevbox:~/ac/interfaces/CONSOLIDATION_C0/bin$ ierun CONSOLIDATION_C0 -t RECALCULATE_C0
log4j:WARN No appenders could be found for logger (com.ac.util.logging.Logger).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
TA 20180306:063807.748 1/main ApplicationUtil.4 Creating task directory "batch" ...
TA 20180306:063807.768 1/main ApplicationUtil.5 Task directory "/home/acdba/ac/data/workdir/batch/CONSOLIDATION_C0.RECALCULATE_C0.20180306.001" is created. 20ms
TA 20180306:063807.771 1/main InterfaceLauncher.18 Starting initialize environment from the config folder - /home/acdba/ac
TA 20180306:063807.778 1/main InterfaceLauncher.19 The environment is  initialized from the config folder - /home/acdba/ac 7ms
IA 20180306:063807.824 1/main InterfaceLauncher.14 Using task batch directory: /home/acdba/ac/data/workdir/batch/CONSOLIDATION_C0.RECALCULATE_C0.20180306.001
acdba@acdevbox:~/ac/interfaces/CONSOLIDATION_C0/bin$ 

And with this the Consolidation interface is installed.

Installing the Bloomberg interface

While the installation of the Bloomberg interface follows a pattern that by now you are familiar with, namely installdm followed by installdm -u, before I do this, I need to create the data file trees for the Bloomberg interface.

For this purpose, the installation package contains an ACBL file under $AC_SYSTEM/interfaces/BLOOMBERG/scripts and I can load this using the following command:

acdba@acdevbox:~$ cd $AC_SYSTEM/interfaces/BLOOMBERG/
acdba@acdevbox:~/ac/interfaces/BLOOMBERG$ ac_bl scripts/create_ts_stores.acbl
+++INFO+++ 20180306_08:17:26 @(#)ac_bl[7.3/$Revision: 47831 $]: Number of delivered transactions: 1 (1 successful)
acdba@acdevbox:~/ac/interfaces/BLOOMBERG$ 

Now we can run:

acdba@acdevbox:~/ac/interfaces/BLOOMBERG$ cd bin
acdba@acdevbox:~/ac/interfaces/BLOOMBERG/bin$ ./installdm
Analyse BLOOMBERG datamodel (BB)
...
T Loading the data model for interfaces: BLOOMBERG
T The data model for interfaces BLOOMBERG has been loaded 14ms
I Analyze detected supported changes to the data model
I The analyze results have been written to "analyze.tsv"
acdba@acdevbox:~/ac/interfaces/BLOOMBERG/bin$ 

Followed by:

acdba@acdevbox:~/ac/interfaces/BLOOMBERG/bin$ ./installdm -u
Update BLOOMBERG datamodel (BB)
...
T Updating the data model
T Storing updates for datamodel: BLOOMBERG
T The updates for datamodel BLOOMBERG have been stored 33267ms
T The data model has been updated 34039ms
acdba@acdevbox:~/ac/interfaces/BLOOMBERG/bin$ 

This will have installed the basic layer of the Bloomberg interface data model.

Now, there is a second part to this: The normalization layer, or N0 layer, of the Bloomberg interface will also need to be installed. For this, I navigate to $AC_SYSTEM/interfaces/BLOOMBERG/NORMALIZATION_N0/bin and repeat the two installdm commands:

acdba@acdevbox:~/ac/interfaces/BLOOMBERG/bin$ cd ..
acdba@acdevbox:~/ac/interfaces/BLOOMBERG$ cd NORMALIZATION_N0/bin
acdba@acdevbox:~/ac/interfaces/BLOOMBERG/NORMALIZATION_N0/bin$ ./installdm
Analyse BLOOMBERG datamodel (BB)
...
T Retrieving the meta data model for interface BLOOMBERG.
T The meta data model for interface BLOOMBERG has been retrieved. 2398ms
T Retrieving the meta data model for interface NORMALIZATION_N0.
T The meta data model for interface NORMALIZATION_N0 has been retrieved. 1385ms
T Loading the data model for interfaces: BLOOMBERG, NORMALIZATION_N0
T The data model for interfaces BLOOMBERG, NORMALIZATION_N0 has been loaded 2773ms
I Analyze detected supported changes to the data model
I The analyze results have been written to "analyze.tsv"
acdba@acdevbox:~/ac/interfaces/BLOOMBERG/NORMALIZATION_N0/bin$ ./installdm -u
Update BLOOMBERG datamodel (BB)
...
T Loading the data model for interfaces: BLOOMBERG, NORMALIZATION_N0
T The data model for interfaces BLOOMBERG, NORMALIZATION_N0 has been loaded 2657ms
T Updating the data model
T Storing updates for datamodel: NORMALIZATION_N0
T The updates for datamodel NORMALIZATION_N0 have been stored 16782ms
T Storing updates for datamodel: BLOOMBERG
T The updates for datamodel BLOOMBERG have been stored 8596ms
T The data model has been updated 26147ms
acdba@acdevbox:~/ac/interfaces/BLOOMBERG/NORMALIZATION_N0/bin$ 

Updating the Normalization and Consolidation interfaces

Generally, after installing or updating a vendor interface like Bloomberg (or custom internal interface), I will need to update both the Normalization and the Consolidation interfaces. The reason is that changes on the basic layer may affect the normalized layer. And this in turn may affect the consolidated layer.

To remove any doubt, it is good practise to always refresh both (output omitted):

acdba@acdevbox:~$ cd $AC_SYSTEM/interfaces/NORMALIZATION_N0/bin
acdba@acdevbox:~/ac/interfaces/NORMALIZATION_N0/bin$ ./installdm
acdba@acdevbox:~/ac/interfaces/NORMALIZATION_N0/bin$ ./installdm -u
acdba@acdevbox:~/ac/interfaces/NORMALIZATION_N0/bin$ cd ../../CONSOLIDATION_C0/bin
acdba@acdevbox:~/ac/interfaces/CONSOLIDATION_C0/bin$ ./installdm
acdba@acdevbox:~/ac/interfaces/CONSOLIDATION_C0/bin$ ./installdm -u
acdba@acdevbox:~/ac/interfaces/CONSOLIDATION_C0/bin$ 

Installing the Price Consolidaton component

As the last component in this walk-through, I will install Price Consolidation by running the following commands:

acdba@acdevbox:~$ cd $AC_SYSTEM/tools/pc
acdba@acdevbox:~/ac/tools/pc$ ./pc_install ALL
+++INFO+++ 20180306_08:51:44 pc_install: Installing scripts...
+++INFO+++ 20180306_08:51:44 pc_install: Installing scripts completed
+++INFO+++ 20180306_08:51:44 pc_install: Installing formulas...
+++INFO+++ 20180306_08:51:45 @(#)ac_bl[7.3/$Revision: 47831 $]: Number of delivered transactions: 1 (1 successful)
+++INFO+++ 20180306_08:51:45 pc_install: Installing formulas completed
+++INFO+++ 20180306_08:51:45 pc_install: Installing attributes and templates...
+++INFO+++ 20180306_08:51:46 @(#)ac_bl[7.3/$Revision: 47831 $]: Number of delivered transactions: 4 (4 successful)
+++INFO+++ 20180306_08:51:46 pc_install: Installing attributes and templates completed
+++INFO+++ 20180306_08:51:46 pc_install: Installation completed
acdba@acdevbox:~/ac/tools/pc$ 

  Congratulations! This concludes the second part of how to install a base Asset Control system.

Thank you for reading.

Tags:
comments powered by Disqus