Skip navigation
Share This:

Installing Digital Workplace Catalog (Service Broker) on Linux





This blog will help you install Service Broker, from scratch, on a Linux machine pointing to a MS SQL database. We will be preparing Linux for installation, Installing Service broker and Post-Installation configuration for Service Broker, Running user_group_sync script, Integrating Service broker with MyIT.


Please note:

  • All comments in this document - In Red, are commands, you can just copy, paste, enter right away!
  • Don’t miss the Tip: sections



REHL 7 (64 bit) VM (with root/password)

Windows VM Installed with:






1)Setting Java

2)Running Yum command

3)Creating DBs using SQL scripts

4)Preparing options.txt

5)Running installer

6)Setting Jq

7)Creating tenant

8)Pointing mid-tier to DWPC AR server

9)Preparing and executing user_sync script

11)Scheduling user_sync using crontab

12)Integrating DWPC with DWP

13)Handy commands




1. Installing Java:


  • Open Winscp on your Windows machine and upload the JDK file “jdk-8u171-linux-x64.tar.gz” on your Linux Machine at location /usr/java/ (create java folder if not present)


  • Open putty.exe on your windows machine and connect to your Linux machine with the root user



  • Use the following commands to extract the JDK and install the JDK

              cd /usr/java 

              tar -xzf jdk-8u171-linux-x64.tar.gz


               export JAVA_HOME


              export PATH

              echo $JAVA_HOME


Screenshot for example as below:





2. Installing the libraries needed for Service Broker

  • Copy and paste the following command in Putty and hit enter

yum install -y glibc nspr libgcc libstdc++ unzip tar compat-libstdc++-33 compat-libstdc++-33.i686 glibc.i686 libgcc.i686 libstdc++.i686 net-tools python-setuptools php-pear


This will show you the following output (for example)


Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

rhel7-punerepo | 2.9 kB  00:00:00

Package glibc-2.17-196.el7.x86_64 already installed and latest version

Package nspr-4.13.1-1.0.el7_3.x86_64 already installed and latest version

Package libgcc-4.8.5-16.el7.x86_64 already installed and latest version

Package libstdc++-4.8.5-16.el7.x86_64 already installed and latest version

Package unzip-6.0-16.el7.x86_64 already installed and latest version

Package 2:tar-1.26-32.el7.x86_64 already installed and latest version

Package glibc-2.17-196.el7.i686 already installed and latest version

Package libgcc-4.8.5-16.el7.i686 already installed and latest version

Package libstdc++-4.8.5-16.el7.i686 already installed and latest version

Package net-tools-2.0-0.22.20131004git.el7.x86_64 already installed and latest version

Package python-setuptools-0.9.8-7.el7.noarch already installed and latest version

Resolving Dependencies

--> Running transaction check

---> Package compat-libstdc++-33.i686 0:3.2.3-72.el7 will be installed

---> Package compat-libstdc++-33.x86_64 0:3.2.3-72.el7 will be installed

---> Package php-pear.noarch 1:1.9.4-21.el7 will be installed

--> Processing Dependency: php-zlib for package: 1:php-pear-1.9.4-21.el7.noarch

--> Processing Dependency: php-xml for package: 1:php-pear-1.9.4-21.el7.noarch

--> Processing Dependency: php-tokenizer for package: 1:php-pear-1.9.4-21.el7.noarch

--> Processing Dependency: php-posix for package: 1:php-pear-1.9.4-21.el7.noarch

--> Processing Dependency: php-pcre for package: 1:php-pear-1.9.4-21.el7.noarch

--> Processing Dependency: php-ftp for package: 1:php-pear-1.9.4-21.el7.noarch

--> Processing Dependency: php-cli for package: 1:php-pear-1.9.4-21.el7.noarch

--> Processing Dependency: php-bz2 for package: 1:php-pear-1.9.4-21.el7.noarch

--> Running transaction check

---> Package php-cli.x86_64 0:5.4.16-42.el7 will be installed

---> Package php-common.x86_64 0:5.4.16-42.el7 will be installed

--> Processing Dependency: for package: php-common-5.4.16-42.el7.x86_64

---> Package php-process.x86_64 0:5.4.16-42.el7 will be installed

---> Package php-xml.x86_64 0:5.4.16-42.el7 will be installed

--> Running transaction check

---> Package libzip.x86_64 0:0.10.1-8.el7 will be installed

--> Finished Dependency Resolution

Dependencies Resolved



Package                                Arch                          Version                                Repository                             Size



compat-libstdc++-33                        i686                          3.2.3-72.el7                           rhel7-punerepo                        196 k

compat-libstdc++-33                        x86_64                        3.2.3-72.el7                           rhel7-punerepo                        191 k

php-pear                                   noarch                        1:1.9.4-21.el7                         rhel7-punerepo                        357 k

Installing for dependencies:

libzip                                     x86_64                        0.10.1-8.el7                           rhel7-punerepo                         49 k

php-cli                                    x86_64                        5.4.16-42.el7                          rhel7-punerepo                        2.7 M

php-common                                 x86_64                        5.4.16-42.el7                          rhel7-punerepo                        564 k

php-process                                x86_64                        5.4.16-42.el7                          rhel7-punerepo                         55 k

php-xml                                    x86_64                        5.4.16-42.el7                          rhel7-punerepo                        125 k


Transaction Summary


Install  3 Packages (+5 Dependent packages)

Total download size: 4.2 M

Installed size: 17 M

Downloading packages:

(1/8): compat-libstdc++-33-3.2.3-72.el7.i686.rpm | 196 kB  00:00:00

(2/8): compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm | 191 kB  00:00:00

(3/8): libzip-0.10.1-8.el7.x86_64.rpm |  49 kB  00:00:00

(4/8): php-common-5.4.16-42.el7.x86_64.rpm | 564 kB  00:00:00

(5/8): php-pear-1.9.4-21.el7.noarch.rpm | 357 kB  00:00:00

(6/8): php-process-5.4.16-42.el7.x86_64.rpm                                                                                           |  55 kB 00:00:00

(7/8): php-cli-5.4.16-42.el7.x86_64.rpm | 2.7 MB  00:00:00

(8/8): php-xml-5.4.16-42.el7.x86_64.rpm | 125 kB  00:00:00


Total 45 MB/s | 4.2 MB  00:00:00

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  Installing : libzip-0.10.1-8.el7.x86_64 1/8

  Installing : php-common-5.4.16-42.el7.x86_64                                                                                                           2/8

  Installing : php-cli-5.4.16-42.el7.x86_64 3/8

  Installing : php-xml-5.4.16-42.el7.x86_64 4/8

  Installing : php-process-5.4.16-42.el7.x86_64                                                                                                          5/8

  Installing : 1:php-pear-1.9.4-21.el7.noarch 6/8

  Installing : compat-libstdc++-33-3.2.3-72.el7.x86_64 7/8

  Installing : compat-libstdc++-33-3.2.3-72.el7.i686 8/8

  Verifying  : php-cli-5.4.16-42.el7.x86_64 1/8

  Verifying  : compat-libstdc++-33-3.2.3-72.el7.i686                                                                                                     2/8

  Verifying  : php-xml-5.4.16-42.el7.x86_64 3/8

  Verifying  : compat-libstdc++-33-3.2.3-72.el7.x86_64 4/8

  Verifying  : libzip-0.10.1-8.el7.x86_64 5/8

  Verifying  : php-process-5.4.16-42.el7.x86_64 6/8

  Verifying  : php-common-5.4.16-42.el7.x86_64                                                                                                           7/8

  Verifying  : 1:php-pear-1.9.4-21.el7.noarch 8/8



  compat-libstdc++-33.i686 0:3.2.3-72.el7 compat-libstdc++-33.x86_64 0:3.2.3-72.el7               php-pear.noarch 1:1.9.4-21.el7


Dependency Installed:

  libzip.x86_64 0:0.10.1-8.el7         php-cli.x86_64 0:5.4.16-42.el7       php-common.x86_64 0:5.4.16-42.el7       php-process.x86_64 0:5.4.16-42.el7

  php-xml.x86_64 0:5.4.16-42.el7




3. Creating Database DWP Catalog DB in MS SQL DB

  • Login with sa/password on MS SQL DB, load SQL Server Management Studio and execute the following commands.  This will create the two databases needed for Service Broker.
  1. dwp_db_app1902 --> For AR
  2. dwp_db_tenant1902 --> For Tenant


Tip: Please run each Step in the script below and wait for the commands to complete, then proceed to the next step.

<scriptsSBE.SQL is also attached to end of this blog>




/* Step A */


CREATE DATABASE "dwp_db_app1902"

   ON (NAME = "dwp_db_app_data1902",

   FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\dwp_db_app1902.mdf', SIZE = 2000MB)

   LOG ON (NAME = "dwp_db_app1902_log",

   FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\dwp_db_app1902.ldf', SIZE = 1000MB);


/* Step B */


   CREATE LOGIN "dwp_admin_app1902"

   WITH PASSWORD = 'Passw0rd!',

   DEFAULT_DATABASE = "dwp_db_app1902";



/* Step C */


USE dwp_db_app1902;


CREATE USER "dwp_admin_app1902"

   FOR LOGIN "dwp_admin_app1902";


ALTER ROLE "db_owner"

   ADD MEMBER "dwp_admin_app1902";


/* Step D */


   CREATE DATABASE "dwp_db_tenant1902"

   ON (NAME = "dwp_db_tenant_data1902",

   FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\dwp_db_tenant1902.mdf', SIZE = 2000MB)

   LOG ON (NAME = "dwp_db_tenant1902_log",

   FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\dwp_db_tenant1902.ldf', SIZE = 1000MB);


/* Step E */


ALTER DATABASE dwp_db_tenant1902



ALTER DATABASE dwp_db_tenant1902



/* Step F */


/* Enable the db owner to manage the tenant database */


   ON DATABASE::dwp_db_tenant1902

   TO dwp_admin_app1902;


/* Step G */


    USE dwp_db_tenant1902;


CREATE SYNONYM trace_xe_action_map FOR sys.trace_xe_action_map;

CREATE SYNONYM trace_xe_event_map FOR sys.trace_xe_event_map;









/* Step H */


USE dwp_db_app1902;


CREATE SYNONYM trace_xe_action_map FOR sys.trace_xe_action_map;

CREATE SYNONYM trace_xe_event_map FOR sys.trace_xe_event_map;










1. Downloading and Installing Digital Workplace Catalog 1902

mkdir /etc/Installer

             chmod 777 /etc/Installer

Tip: chmod 777 will give full permissions to your folder Installer above.


  • Open Winscp, connect to the Linux machine, upload the “dwp-catalog-installer.tar.gz” to the location “/etc/Installer”.
  • Execute the following commands

              cd /etc/Installer

              tar -xzf digital-workplace-catalog-fresh19.02.00.tar



Tip: You can prepare your options.txt as follow. Open the option.txt in Notepad++ , see my <comments> in options.txt


  <sample options.txt attached to this blog>



Tip: Use ifconfig command using putty to get IP address on linux environment The Ip address Is after inet <>, see below.





./ -o options.txt


This will show you the following output (for example)


Hit q , type y hit enter.


          Welcome to the BMC Digital Workplace Catalog Installer



In order to use this software you are required to accept the license

agreement, please press [Enter/Return] key to view the license.


You can scroll with the arrow keys and quit the viewer by pressing 'q'.




Do you agree to the terms and conditions as defined in the EULA [y/n]? y


The installation will take roughly 30-60 minutes, depending on hardware.

You can monitor the progress by viewing the logs:


        tail -f /tmp/dwp_install_log.txt

        tail -f /tmp/dwpsystem_install_log.txt


[ Installation started: 21:02:09 ]


Checking for prerequisite dependencies    ...................    [ PASS  ]

Installing BMC Digital Workplace Platform    ................    [ PASS  ]

Installing BMC Digital Workplace Catalog    .................    [ PASS  ]

Cleaning up installation files ........................... [  PASS  ]

Performing DWP restart ................................... [  PASS  ]




Installation successful. Complete the steps to load the tenant data and

and then log into the BMC Digital Workplace Catalog administration







Tip: Open the URL http://<SBEARServername>:8008/myitsbe/login and check if you see the login page. If yes, proceed. If you get an error during installation or do not get the login page, go to /tmp/ folder and check for dwp_install_log.txt and dwpsystem_install_log.txt logs for more details.


Login Page:





2. Installing Jq for Post Install Script

  • From Putty, run the following command which will set the Jq (JSON command line processor needed for creating Schema)

cp /etc/Installer/install_files/jq /usr/bin/

chmod +x /usr/bin/jq




Post-installation configuration

A) Creating a schema

  • Run the following command on Putty.

cd /opt/bmc/digitalworkplace/sb

./ create_schema


Tip : Provide LoginID as dwpadmin1902 and password as Passw0rd! - check options.txt if you do not recall.


Following will be the output


login as SaaS Admin (dwpadmin)

Successfully logged in as dwpadmin.

Successfully created group: sbe-asset-managers

Successfully created group: sbe-catalog-admins

Successfully created group: sbe-myit-users

Successfully created group: sbe-supplier-admins

Successfully created group: sbe-internal-suppliers

Successfully created group: sbe-agents

Successfully created group: sbe-asset-managers-computed

Successfully created group: sbe-catalog-admins-computed

Successfully created group: sbe-myit-users-computed

Successfully created group: sbe-supplier-admins-computed

Successfully created group: sbe-internal-suppliers-computed

Successfully created group: sbe-agents-computed

Successfully created group: sbe-public-computed

Successfully created 13 groups, done!

Successfully logged in as dwpadmin.

create schema

creating AppLock ...

creating BannerImage ...

creating Banner ...

creating BannerSetting ...

creating BundleService ...

creating BundleState ...

creating CmdbMapping ...

creating ContentDefinition ...

creating CostAdjustment ...

creating CostOffsetDetail ...

creating CostOffset ...

creating ExternalActivity ...

creating ExternalCategoriesMapping ...

creating ImportServiceTypeDataMapping ...

creating ManageableGroup ...

creating MessageTemplate ...

creating Metric ...

creating mp_auth_invitations ...

creating mp_common_addresses ...

creating mp_common_countries ...

creating mp_common_email_templates ...

creating mp_common_phone_numbers ...

creating mp_common_states ...

creating mp_company_companies ...

creating mp_company_employees ...

creating mp_company_logos ...

creating mp_company_marketplaces ...

creating mp_product_connectors ...

creating mp_product_documents ...

creating mp_product_documents_product_version_revisions ...

creating mp_product_document_types ...

creating mp_product_logos ...

creating mp_product_media ...

creating mp_product_products ...

creating mp_product_product_transitions ...

creating mp_product_product_type_fields ...

creating mp_product_product_type_field_values ...

creating mp_product_product_types ...

creating mp_product_product_types_search_category_groups ...

creating mp_product_product_version_revision_prices ...

creating mp_product_product_version_revisions ...

creating mp_product_product_version_revisions_search_tags ...

creating mp_product_product_version_revision_transitions ...

creating mp_product_product_versions ...

creating mp_product_product_version_transitions ...

creating mp_product_revision_media ...

creating mp_search_catalog_item_fields ...

creating mp_search_catalog_item_tiles ...

creating mp_search_categories ...

creating mp_search_categorizations ...

creating mp_search_category_groups ...

creating mp_search_tags ...

creating MyStuffActionRequest ...

creating Notification ...

creating OffsetCategory ...

creating Policy ...

creating PolicyLink ...

creating QuestionnaireAnswer ...

creating Questionnaire ...

creating QueueTaskHistory ...

creating QueueTask ...

creating SbeCatalog ...

creating SbeConnector ...

creating SbeServiceImportStatus ...

creating SchemaMigration ...

creating ServiceOrder ...

creating ServiceRatingAggregation ...

creating ServiceRating ...

creating ServiceRequest ...

creating ServiceReview ...

creating ServiceSearchCache ...

creating SlaFile ...

creating Sla ...

creating SlaLink ...

creating TenantConfiguration ...

creating VirtualMarketplaceBanner ...

creating VirtualMarketplaceGroup ...

creating VirtualMarketplace ...

creating VirtualMarketplaceRestrictedService ...

creating VirtualMarketplaceService ...

schema created

performing dwp restart

Action Request System initializing.

INFO - **********************************************************************************

INFO - Initializing ARMonitor Version 17.5.0 201805181922

INFO - **********************************************************************************

ARMonitor Already Initialized.INFO - **********************************************************************************

INFO - Armonitor ARMonitor Already Initialized.

INFO - **********************************************************************************

Action Request System initialization is complete.

Port 9988 is now up!



B) Creating a tenant

  • Run the following command on Putty:

cd /opt/bmc/digitalworkplace/sb

./ create_tenant


Tip: You will be prompted as below. Provide details as per your DB and options.txt (make sure you have options.txt handy so that you can provide details when prompted)

Enter the BMC Digital Workplace Catalog administrator login name (Example: dwpadmin): dwpadmin1902

Password for dwpadmin:Passw0rd!

Enter one of the following - (SQL Server) Tenant database name; (Oracle) Tenant database administrator user name: dwp_db_tenant1902

Enter a domain name to identify this tenant (example:

Enter the server's virtual host name specified during the installation: <hostname of SBE server>

Enter the tenant database user name (example: dwp_admin_tenant): dwp_admin_app1902

Password for dwp_admin_app:Passw0rd!

login as SaaS Admin (dwpadmin1902)


Output as follows


login as SaaS Admin (dwpadmin1902)

Successfully logged in as dwpadmin1902.

create tenant



      "name": "abc",

"domainIdentifier": "",

      "databaseName": "dwp_db_tenant1902",

"directoryPath": "abccom",

"virtualHostname": "clm-pun-xxxx",

"databaseAdminName": "dwp_admin_app1902",

"databaseAdminPassword": "Passw0rd!"


Tenant data population in progress:  "activationStatus":"Successful"

User to Person releationship is not enforced.

create users

Successfully created user: hannah_admin

Successfully created 1 users, done!

login as Tenant Admin (

Successfully logged in as

create tenant groups

seed tenant


seeding categories

seeding languages

seeding document types

seeding marketplaces

seeding templates

seeding email templates

Seeding asset groups

admin settings component 'Integration%20Service' found

admin settings component 'Integration Service' already deployed: skipping installation

performing dwp restart

Action Request System initializing.

INFO - **********************************************************************************INFO - Initializing ARMonitor Version 17.5.0 201805181922

INFO - **********************************************************************************ARMonitor Already Initialized.INFO - **********************************************************************************INFO - Armonitor ARMonitor Already Initialized.

INFO - **********************************************************************************

Action Request System initialization is complete.

Port 9988 is now up!


Tip: Open the URL : http://clm-pun-xxxxx:8008/myitsbe/login and login with! . If yes, tenant loaded was created successfully.


User Group Sync

This process synchronises users from the ITSM user form to the AR Server user form so that ITSM users can login in to MyIT and can view the Service broker services/SRD.


  1. Point your AR SBE to any midtier at port 9988 as below , check options.txt for mid-tier password.


Go to your AR Midtier http://<ARservername>:8080/arsys/shared/config/config.jsp

Password is default as “arsystem”




Once you login click on AR System on left




Click on Add Server




Provide The Service broker AR server hostname under Server name , Admin Password is the mid-tier password in your options.txt, enter Port as 9988 . click on Save



You will get a message successfully connected.


Now click on General settings




Update the following fields with service broker AR server hostname , Click on Save changes.



Click on Logout.




Tip: Login to AR server through midtier as http://<midtier>:8080/arsys/shared/login.jsp

as http://<midtier>:8080/arsys will not work


2) Login using hannah_admin@<abc>.com /Passw0rd!

3) Go to Tenant Server Configuration->Server Information->EA tab

           -Select Cross reference blank password option

           -Select the Authentication method as ARS-AREA



4) Login through SBE AR server using putty, Start and Stop the SBE AR service using following command.


  cd /opt/bmc/digitalworkplace

./dwpcontroller stop

./dwpcontroller start 


  Enter username as: dwpadmin1902

  Enter password as: Passw0rd!


Tip: If you do not know the credentials of dwpadmin1902 check your options.txt      


5) Once the service is up , run following command to set the time and lock file (needed to run user_sync)

mkdir /src

touch /src/data.time

touch /src/sb.lock


Running the user_group_sync

A) Copy the following ./user_group_sync script in a notepad and edit it according to your server names:

./ -itsm_s <itsmhostname> -itsm_u <demouser> -itsm_p <demopassword> -itsm_a <portofITSMserver> -sb_s <hostofyourSBEARserver> -sb_u hannah_admin@<yourtenant>.com -sb_p <hannahpassword> -sb_a 9988 -sb_aw 8008 -date_file /src/data.time -lock_file /src/sb.lock -skip_disabled true


B) Run the following command:

cd /opt/bmc/digitalworkplace/artools

then run following command you edited in Step A above:

./ -itsm_s <itsmhostname> -itsm_u <demouser> -itsm_p <demopassword> -itsm_a <portofITSMserver> -sb_s <hostofyourSBEARserver> -sb_u hannah_admin@<yourtenant>.com -sb_p <hannahpassword> -sb_a 9988 -sb_aw 8008 -date_file /src/data.time -lock_file /src/sb.lock -skip_disabled true


C) If you want to schedule the script to run after every 15 minutes, run following command.

crontab -e

This will open the crontab editor and copy paste the following lines:

*/15 * * * * cd /opt/bmc/digitalworkplace/artools && ./ -itsm_s <itsmhostname> -itsm_u <demouser> -itsm_p <demopassword> -itsm_a <portofITSMserver> -sb_s <hostofyourSBEARserver> -sb_u hannah_admin@<yourtenant>.com -sb_p <hannahpassword> -sb_a 9988 -sb_aw 8008 -date_file /src/data.time -lock_file /src/sb.lock -skip_disabled true




Integrate MyIT with SBE

1) Login to MyIT admin console https://myitserver:9000/ux/admin

2) Go to Configuration >Enable Features and select Enhanced Catalog.


3) Click on Enhanced Catalog:




4)Provide the URL as (http://MyITSBEServername:8008/api/myit-sb/), the domain as (tenant), the System User as hannah_admin, the System User Password as Passw0rd! then click Save.



  If you get any errors, the following Tip is helpful!

Tip: If you login in to the MyIT admin console with user “Allen” and do the Enhanced Catalog configuration above, make sure Allen’s password is:

a) The password is same in ITSM AR User form and Service Broker AR User form

<<If you want to reset Allen’s password in SBE AR server, login with! , go to User form and reset the password>>

b) The password should be something like “Passw0rd!” (a mixture of capital letters, numbers and special characters).



Once the setting is successful you will get below message.



This concludes the installation process.



Handy commands you should know:


a.       How to stop and start the Service Broker AR Service:

     cd /opt/bmc/digitalworkplace/

     ./dwpcontroller stop

     ./dwpcontroller start


b.      How to search your options.txt (or any file on Linux):

     find / -name options.txt


c.       How to find a tenant using scripts on SBE server:

     cd /opt/bmc/digitalworkplace/sb/rxscripts/bin


    ./ dwpadmin1902 Passw0rd!



d.      How to Un-Install Service broker and drop the DB

      cd /etc/Installer



  • Login to MS SQL Server using SQL Server Management Studio as sa/password
  • Expand Database -> Securities -> Login -> search for the user dwp_admin_app1902, right-click and Delete.
  • Right click on dwp_db_app1902 and hit Delete.
  • Right click on dwp_db_tenant1902 and hit Delete.