Przeskocz do opisu głównego

IBM BAW - instalacja Workflow Center krok po kroku

· 39 minut czytania
Sławomir Cichy
Backend Engineer @ Sci Software

IBM® Business Automation Workflow to platforma, która umożliwia tworzenie aplikacji przepływu pracy w celu zwiększenia produktywności.

W niniejszym artykule przedstawimy krok po kroku instalację IBM® BAW w wersji 21.0.3. Na potrzeby instalacji wykorzystamy system operacyjny Rocky Linux 9.5. Ważnym jest, że gdy już używamy darmowej dystrybucji systemu operacyjnego, to powinna być ona z rodziny RedHat. Dotychczas instalacje przeprowadzałem na CentOS 8, ale po jego wycofaniu z rynku, postanowiłem przetestować Rocky Linux.

W rzeczywistości instalacja IBM® BAW składa się z trzech głównych komponentów:

  • IBM® Installation Manager - narzędzie do zarządzania instalacją produktów IBM.
  • IBM® DB2 Standard - serwer relacyjnej bazy danych.
  • IBM® BAW - serwer WebSphere z aplikacją frontendową produktu IBM BAW.

Jako serwer relacyjnej bazy danych, która będzie wykorzystywana przez IBM® BAW, możemy użyć dowolny serwer bazy danych, który jest obsługiwany przez IBM® BPM. W naszym przypadku do celów testowych i przechowywania danych wykorzystamy załączony produkt DB2 Standard, co niestety implikuje konieczność instalacji jako super użytkownik root.

Ze stron producenta IBM pobieramy pliki z pakietami instalacyjnymi. W moim przypadku są to trzy pliki:

  • BAW_Enp_21.0.3_Lnx64_1of3.tar.gz
  • BAW_Etp_21.0.3_Lnx64_2of3.tar.gz
  • BAW_Etp_21.0.3_Lnx64_3of3.tar.gz

Pliki te kopiujemy na serwer, na którym będziemy instalować IBM® BAW. W moim przypadku skopiowałem je do katalogu /mnt/h/Instalki/IBM/BAW/. Utworzyłem katalog /opt/IBM/install i tam rozpakowałem pliki instalacyjne:

su -
mkdir -p /opt/IBM/install
cd /opt/IBM/install
tar -xzvf /mnt/h/Instalki/IBM/BAW/BAW_Enp_21.0.3_Lnx64_1of3.tar.gz
tar -xzvf /mnt/h/Instalki/IBM/BAW/BAW_Etp_21.0.3_Lnx64_2of3.tar.gz
tar -xzvf /mnt/h/Instalki/IBM/BAW/BAW_Etp_21.0.3_Lnx64_3of3.tar.gz

Po rozpakowaniu plików otrzymujemy katalogi:

[root@bpmbaw21test install]# ls -la
razem 28
drwxr-xr-x. 8 root root 120 2021-12-14 .
drwxr-xr-x. 3 bpmadmin bpmadmin 21 01-22 21:50 ..
drwxr-xr-x. 10 root root 4096 2021-12-15 IM
drwxr-xr-x. 10 root root 4096 2021-12-15 IM64
drwxr-xr-x. 38 root root 4096 2021-12-14 launchpad
-rwxr-xr-x. 1 root root 6178 2021-12-15 launchpad.sh
drwxr-xr-x. 2 root root 4096 2021-12-15 LICENSES
drwxr-xr-x. 7 root root 80 2021-12-14 repository
drwxr-xr-x. 3 root root 17 2021-12-15 responsefiles

Instalacja IBM® Installation Manager dla produktu bazy danych

Naszym katalogiem głównym, w którym będziemy instalować produkt bazy danych IBM DB2, będzie katalog /opt/IBM/db2. Tworzymy go:

mkdir -p /opt/IBM/db2

IBM® Installation Manager to narzędzie, które pozwala na instalację produktów IBM. Aby zainstalować to narzędzie, przechodzimy do katalogu IM64 i uruchamiamy instalator:

Informacja

Warto zwrócić uwagę, że ze względu na to, że chcemy zainstalować produkt IBM DB2 Standard (relacyjna baza danych), instalacja IBM® Installation Manager wymaga uprawnień super użytkownika root. Użyj argumentu -accessRights, aby określić, czy zainstalować oprogramowanie w trybie administratora (super użytkownika) czy zwykłego użytkownika:

  • Aby zainstalować oprogramowanie jako administrator, użyj argumentu -accessRights admin
  • Aby zainstalować oprogramowanie jako użytkownik nieadministrujący, użyj argumentu -accessRights nonAdmin.

Wykonujemy komendy:

cd /opt/IBM/install/IM64
./install -accessRights admin
Problem

Jeśli podczas instalacji IBM® Installation Manager otrzymasz komunikat o błędzie:

00:00.98 ERROR [main] org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory safeLogged
Błąd aplikacji
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
at org.eclipse.swt.SWT.error(SWT.java:4387)
at org.eclipse.swt.widgets.Display.createDisplay(Display.java:913)
at org.eclipse.swt.widgets.Display.create(Display.java:899)
at org.eclipse.swt.graphics.Device.<init>(Device.java:156)
...

To sprawdź czy masz poprawnie zainstalowaną i skonfigurowaną usługę przekazywania prezentcji X11. O ewentualnych problemach z X11 można przeczytać w artykule SSH - running programs with a graphical interface.

screen-2025-01-23-001

Po uruchomieniu instalatora IBM® Installation Manager:

  1. Wciskamy przycisk Dalej> i postępujemy zgodnie z instrukcjami wyświetlonymi na kolejnych ekranach.
  2. Akceptujemy warunki umowy licencyjnej, wciskamy przycisk Dalej>.
  3. Definiujemy katalog, w którym ma zostać zainstalowany 'Installation Manager'. Zmieniamy ją na wartość /opt/IBM/db2/InstallationManager/eclipse (pamiętamy, że założyliśmy sobie na samym początku, że katalogiem głównym, w którym będziemy instalować produkt bazy danych IBM DB2, będzie katalog /opt/IBM/db2), wciskamy przycisk Dalej>.
  4. Pojawi się okno podsumowujące i wciskamy przycisk Instaluj.
  5. Instalacja powinna zakończyć się sukcesem i pojawi się okno z przyciskiem Zrestartuj program Installation Manager - wciskamy go i pojawia się nam okno zainstalowanego Installation Manager'a:

screen-2025-01-23-002

Możemy na razie zamknąć aplikację Installation Manager'a, będzie nam potrzebna w przyszłości. Teraz przejdziemy do kolejnych operacji przygotowawczych przed instalacją IBM® DB2 Standard.

Instalacja serwera bazy danych

Teraz zajmiemy się instalacją serwera bazy danych.

Prace przygotowawcze

Na początku trzeba utworzyć użytkowników lokalnych, którzy będą wykorzystywani jako specjalni użytkownicy bazy danych (zobacz Db2 users and groups (Linux and UNIX)). We wcześniej zdefiniowanym katalogu /opt/IBM/db2 zostaną utworzone katalogi domowe tych użytkowników.

Tworzymy odpowiednie grupy użytkowników lokalnych. Zależy nam by miały określone identyfikatory (id):

groupadd db2iadm1 -g 1001
groupadd db2fadm1 -g 1002
groupadd dasadm1 -g 1003
groupadd bpmadmins -g 1004

Tworzymy użytkownika właściciela instancji serwera bazy danych DB2, na prawach którego uruchomiona zostanie instancja serwera bazy danych DB2. Instancja Db2 jest tworzona w katalogu domowym właściciela. Ten użytkownik kontroluje wszystkie procesy Db2 i jest właścicielem wszystkich systemów plików i urządzeń używanych przez bazy danych zawarte w instancji. Domyślna nazwa użytkownika to db2inst1:

useradd db2inst1 -g 1001 -b /opt/IBM/db2 -m -N
passwd db2inst1
Uwaga!

Zapamiętaj ustawiane hasło dla użytkownika db2inst1. Będzie nam niezbędne w późniejszej instalacji.

Tworzymy użytkownika "chronionego" DB2. Użytkownik ten jest używany do uruchamiania funkcji zdefiniowanych przez użytkownika (UDF) i procedur składowanych poza przestrzenią adresową używaną przez bazę danych Db2. Jeśli nie potrzebujesz tego poziomu bezpieczeństwa, na przykład w środowisku testowym, możesz użyć właściciela swojej instancji jako użytkownika ogrodzonego. Domyślnym użytkownikiem jest db2fenc1, a domyślną grupą jest db2fadm1:

useradd db2fenc1 -g 1002 -b /opt/IBM/db2 -m -N

Tworzymy użytkownika serwera administracyjnego DB2 (DAS). Użytkownik ten jest używany do uruchomienia serwera administracyjnego Db2 (DAS) w systemie. Na każdy komputer przypada tylko jeden serwer DAS. Jeden serwer DAS obsługuje jedną lub więcej instancji bazy danych, w tym instancje bazy danych należące do różnych instalacji. Serwer DAS może obsługiwać instancje bazy danych, których poziom wydania jest niższy niż poziom wydania serwera DAS. Jednak w przypadku instancji bazy danych, których poziom wydania jest wyższy niż poziom wydania serwera DAS, serwer DAS musi zostać zmigrowany do wyższego poziomu. Poziom wydania serwera DAS musi być tak wysoki (lub wyższy) jak poziom wydania dowolnej z obsługiwanych instancji bazy danych. Domyślnym użytkownikiem jest dasusr1, a domyślną grupą jest dasadm1:

useradd dasusr1 -g 1003 -b /opt/IBM/db2 -m -N

Tworzymy użytkownika, administratora przyszłych baz danych wykorzystywanych przez IBM® BAW oraz ustawiamy mu hasło:

useradd bpmadmin -g 1004 -b /opt/IBM/db2 -m -N
passwd bpmadmin
Uwaga!

Hasło dla użytkownika bpmadmin administracyjnego będzie nam niezbędne w późniejszej instalacji. Użytkownik bpmadmin będzie wykorzystany jako użytkownik techniczny do realizacji komunikacji pomiędzy silnikiem aplikacji a bazą danych, w której składowane będą dane związane z definicjami aplikacji procesowych jak i instancjami procesów, metadane składowanych dokumentów itp.

Dodanie repozytorium pakietów instalacyjnych

Aby przeprowadzić instalację należy dodać repozytorium pakietu instalacyjnego w Installation Manager. Uruchamiamy IBM® Installation Manager uruchamiamy jako super użytkownik root:

cd /opt/IBM/db2/InstallationManager/eclipse
./IBMIM

Po uruchomieniu okna Installation Manager'a, z górnego menu (górny pasek okna) wybieramy pozycję "Plik", następnie "Preferencje": Otworzy się okno zatytułowane "Preferencje". Po lewej stronie okna będzie lista kategorii preferencji. Na pierwszej pozycji są "Repozytoria" - klikamy na przycisk "Dodaj repozytorium" i wskazujemy na pliki z definicją repozytorium. W naszym przypadku pliki o nazwie repository.config znajdują się w następujących katalogach:

  1. Plik z instalacją produktu DB2 znajduje się w katalogu /opt/IBM/install/repository/DB2_64.
  2. Plik z instalacją produktu BAW znajduje się w katalogu /opt/IBM/install/repository/repos_64bit.

screen-2025-01-23-003

Instalacja bazy danych DB2

Dygresja

Jeżeli instalujemy produkt IBM DB2 na licencji innej niż "Express" czy "Standard", to pamiętajmy o tym, by zmodyfikować parametry systemu odpowiedzialne za wydajność, przykładowo:

kernel.shmmni = 4096
kernel.shmmax = 17179869184
kernel.shmall = 8388608
kernel.sem = <SEMMSL> <SEMMNS> <SEMOPM> <SEMMNI>
kernel.sem = 250 256000 32 4096
kernel.msgmni = 16384
kernel.msgmax = 65536
kernel.msgmnb = 65536
vm.swappiness = 0
vm.overcommit_memory = 0
kernel.randomize_va_space = 0
Przypomnienie

IBM® Installation Manager'a uruchamiamy jako super użytkownik root:

cd /opt/IBM/db2/InstallationManager/eclipse
./IBMIM

Po dodaniu repozytorium pakietów instalacyjnych, wracamy do głównego okna IBM® Installation Manager'a. Realizujemy proces instalacji bazy danych w następujących krokach:

  1. Mamy otwarte okno Installation Manager'a. Klikamy na Instaluj.
  2. Pojawi nam się okno z wyborem pakietów instalacyjnych do zainstalowania. Wybieramy dwa produkty:
    1. IBM WebSphere Application Server Network Deployment (jak się okazuje bez tego nie zainstalujesz bazy danych).
    2. IBM DB2 Standard dla systemów 64-bitowych

screen-2025-01-23-004

Uwaga!

Jeżeli na naszej liście produktów pojawia się IBM Business Automation Workflow to go pomijamy. Jego instalacją zajmiemy się później.

Wciskamy przycisk Dalej >.

  1. Zaznaczamy instalację rekomendowanych poprawek zawartych w pakiecie instalacyjnym i wciskamy przycisk Dalej >.
  2. Akceptujemy rezultat wykonanej przez instalator walidacji warunków systemowych.
Uwaga!

Ignorujemy ostrzeżenie: Nie wykryto obsługiwanego systemu operacyjnego. Obsługa tego systemu operacyjnego mogła zostać dodana po wydaniu tej wersji produktu. Więcej informacji na temat obsługiwanych systemów operacyjnych można znaleźć na stronach WWW ze szczegółowymi wymaganiami systemowymi - http://www.ibm.com/support/docview.wss?uid=swg27038033. Można kontynuować instalację, jednak instalacja lub działanie produktu może zakończyć się niepowodzeniem.

Wciskamy przycisk Dalej >.

  1. Akceptujemy warunki umów licencyjnych i wciskamy przycisk Dalej >.
  2. Zostaniemy poproszeni o wskazanie położenia katalogu zasobów współużytkowanych. Zmieniamy wartość domyślną na /opt/IBM/db2/IMShared i wciskamy przycisk Dalej >.
  3. Zostaniemy poproszeni o wskazanie położenia katalogu zasobów, w którym ma zostać zainstalowany WebSphere. Zmieniamy wartość domyślną na /opt/IBM/db2/AppServer i wciskamy przycisk Dalej >.
  4. Wybieramy wersje językowe produktu, które zostaną zainstalowane. Domyślnie zaznaczona jest tylko wersja 'Angielski', jest ona wersją główną i nie można jej pominąć. Rozwijamy Tłumaczenia obsługiwane tylko przez niektóre pakiety i zaznaczamy 'Polski'. wciskamy przycisk Dalej >.
  5. Otworzy nam okno z podsumowaniem instalowanych pakietów. Wciskamy przycisk Dalej >.
  6. W kolenym kroku zostaniemy poproszeni o parametry konfiguracyjne instalowanego produktu. Dla pakietu instalacji DB2 będą to dane użytkowników, których utworzyliśmy wcześniej (podczas wykonywania prac przygotowawczych):

screen-2025-01-23-009

  1. Wprowadzamy informacje o użytkowniku instancji o nazwie db2inst1.
  2. Użytkownik "chroniony" został już przez nas utworzony, zatem odznaczamy opcję Nowy użytkownik.
  3. Wprowadzamy nazwę użytkownika "chronionego" db2fenc1.
  4. Użytkownik serwera administracyjnego został już przez nas utworzony, zatem odznaczamy opcję Nowy użytkownik.
  5. Wprowadzamy nazwę użytkownika serwera administracyjnego dasusr1.
  6. Wciskamy Sprawdź poprawność ponownie - u góry, pod tytułem "Instalacja pakietów" NIE powinna pojawiać się wiadomość błędu poprzedzona ikonką ⛔️.
  7. Wciskamy przycisk Dalej >.

W kolejnym kroku pojawi się okno z podsumowaniem instalacji.

screen-2025-01-23-010

Wciskamy przycisk Instaluj i czekamy na zakończenie procesu, który może potrwać dość długo, nawet 1.5h, ale powinien zakończyć się sukcesem. Po zakończeniu instalacji, zostaniemy poproszeni o uruchomienie kolejnego programu konfiguracyjnego, jednakże my na tym poprzestaniemy wybierając opcję Brak. Wciskamy przycisk Zakończ i zamykamy IBM® Installation Manager.

Aby sprawdzić czy zainstalowana instancja bazy danych jest uruchomiona wystarczy sprawdzić czy jej procesy oraz procesy serwera administracyjnego zostały uruchomione. Możemy to zrobić za pomocą polecenia ps -ef | grep db2:

screen-2025-01-23-011

Uruchomienie instancji bazy danych

Zaraz po instalacji instancja bazy danych powinna być już uruchomiona. Po restartcie serwera usługi powinny się automatycznie uruchomić. Aby uruchomić instancję 'ręcznie' wpierw musimy uruchomić serwer administracyjny:

# Logujemy się jako użytkownik serwera administracyjnego
su - dasusr1
# Ładujemy profil użytkownika (odpowiednie zmienne środowiskowe)
. ~/das/dasprofile
# Uruchamiamy serwer administracyjny
db2admin start

Teraz musimy uruchomić instancję bazy danych:

# Logujemy się jako użytkownik instancji bazy danych
su - db2inst1
# Ładujemy profil użytkownika (odpowiednie zmienne środowiskowe)
. ~/sqllib/db2profile
# Uruchamiamy instancję bazy danych
/opt/db2/db2inst1/sqllib/adm/db2start

Zatrzymanie instancji bazy danych

Wpierw musimy zatrzymać instancję bazy danych:

# Logujemy się jako użytkownik instancji bazy danych
su - db2inst1
# Ładujemy profil użytkownika (odpowiednie zmienne środowiskowe)
. ~/sqllib/db2profile
# Zatrzymujemy instancję bazy danych
/opt/db2/db2inst1/sqllib/adm/db2stop

Teraz musimy zatrzymać serwer administracyjny:

# Logujemy się jako użytkownik serwera administracyjnego
su - dasusr1
# Ładujemy profil użytkownika (odpowiednie zmienne środowiskowe)
. ~/das/dasprofile
# Uruchamiamy serwer administracyjny
db2admin stop

Więcej na tema bazy DB2 możesz poczytać w artykułach poświęconym oprogramowaniu DB2.

Skrypt startujący bazy danych DB2

Aby ułatwić sobie pracę, możemy utworzyć skrypt startujący bazę danych DB2. W tym celu tworzymy katalog /opt/IBM/db2/bin i w nim plik start-stop-db2.sh:

mkdir -p /opt/IBM/db2/bin
cd /opt/IBM/db2/bin
vim start-stop-db2.sh

W pliku start-stop-db2.sh wpisujemy:

#!/bin/bash
export BASE_DB2_DIR=/opt/IBM/db2
echo "Service DB2 Process Center - $1"

start()
{
. $BASE_DB2_DIR/dasusr1/das/dasprofile
su -c "$BASE_DB2_DIR/dasusr1/das/bin/db2admin start" dasusr1
. $BASE_DB2_DIR/db2inst1/sqllib/db2profile
su -c "$BASE_DB2_DIR/db2inst1/sqllib/adm/db2start" db2inst1
}

stop()
{
. $BASE_DB2_DIR/db2inst1/sqllib/db2profile
su -c "$BASE_DB2_DIR/db2inst1/sqllib/adm/db2stop" db2inst1
. $BASE_DB2_DIR/dasusr1/das/dasprofile
su -c "$BASE_DB2_DIR/dasusr1/das/bin/db2admin stop" dasusr1
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
esac

Zmieniamy uprawnienia pliku start-stop-db2.sh, tak aby skrypt mógł uruchomić tylko właściciel:

chmod u+x start-stop-db2.sh

Teraz jako super użytkownik root możemy uruchomić bazę danych DB2 za pomocą polecenia:

/opt/IBM/db2/bin/start-stop-db2.sh start

lub ją zatrzymać za pomocą polecenia:

/opt/IBM/db2/bin/start-stop-db2.sh stop

Instalacja IBM® BAW

Po zainstalowaniu i uruchomieniu serwera bazy danych DB2, możemy przystąpić do instalacji produktu IBM® BAW.

Rekomendacja

Ogólnie NIE zaleca się instalacji IBM® BAW na tym samym serwerze, co zainstalowano serwer bazy danych. Jednakże, w celach testowych, możemy zainstalować oba produkty na jednym serwerze.

Prace przygotowawcze

Produkt IBM® BAW powinniśmy instalować na prawach użytkownika nonAdmin (NIE jako super użytkownik root). W związku z tym, musimy wykonać następujące prace przygotowawcze w następujących krokach:

  1. Utworzenie katalogu głównego /opt/IBM/BAW dla produktu BAW, w którym będziemy instalować wszystkie niezbędne komponenty.
mkdir -p /opt/IBM/BAW
  1. Utworzenie grupy dla (jeżeli jeszcze nie istnieje) np. bpmadmins za pomocą polecenia groupadd bpmadmins -g 1004.
  2. Utworzenie użytkownika np. bawadmin w grupie bpmadmins za pomocą polecenia useradd bawadmin -g 1004 -b /opt/IBM/BAW -m -N.
  3. Ustawienie hasła dla użytkownika bawadmin za pomocą polecenia passwd bawadmin.
  4. Zmiana właściciela katalogu /opt/IBM/BAW na użytkownika bawadmin i grupę bpmadmins za pomocą polecenia chown bawadmin:bpmadmins /opt/IBM/BAW.
  5. Opcjonalnie utworzenie katalogu /opt/IBM/install (jeżeli jeszcze nie istnieje) i zmiana właściciela na użytkownika bawadmin i grupę bpmadminsoraz rozpakowanie do niego plików instalacyjnych IBM® BAW.
  6. Zainstalowanie IBM® Installation Manager jako użytkownik bawadmin z argumentem -accessRights nonAdmin w katalogu /opt/IBM/BAW/InstallationManager/eclipse:
cd /opt/IBM/install/IM64
./install -accessRights nonAdmin
  1. Dodanie repozytorium pakietów instalacyjnych (jeżeli nie pamiętasz jak to zrobić to opis operacji znajdziesz tutaj: Dodanie repozytorium pakietów instalacyjnych). Podłączamy tylko repozytorium z plikami instalacyjnymi IBM® BAW (przykładowo plik o nazwie repository.config z katalogu /opt/IBM/install/repository/repos_64bit).
  2. Kontynuuj instalowanie produktu IBM® BAW jako użytkownik bawadmin według poniższej instrukcji.

Process instalacji IBM® BAW

Po przygotowaniu środowiska, możemy przystąpić do instalacji IBM® BAW.

Uwaga!

Przed przystąpieniem do instalacji IBM® BAW pozwól procesom systemowym otwierać dużą liczbę plików. Rekomenduje się ustawienie wartości minimum 8192. Realizujemy to poprzez wydanie polecenia ulimit -n 8192.

Przypomnienie

W naszym przypadku IBM® Installation Manager'a uruchamiamy jako użytkownik bawadmin:

ulimit -n 8192
cd /opt/IBM/BAW/InstallationManager/eclipse
./IBMIM
  1. Mamy otworzone okno Installation Manager'a. Klikamy na Instaluj.
  2. Pojawi nam się okno z wyborem pakietów instalacyjnych do zainstalowania. Wybieramy dwa produkty:
    1. IBM WebSphere Application Server Network Deployment.
    2. IBM Business Automation Workflow
Uwaga!

Jezeli na naszej liście produktów pojawia się IBM DB2 Standard to go pomijamy. Jego instalację wykonaliśmy wcześniej.

Wciskamy przycisk Dalej >.

  1. Zaznaczamy instalację rekomendowanych poprawek zawartych w pakiecie instalacyjnym i wciskamy przycisk Dalej >.
  2. Akceptujemy rezultat wykonanej przez instalator walidacji warunków systemowych.
Uwaga!

Ignorujemy ostrzeżenie: Nie wykryto obsługiwanego systemu operacyjnego. Obsługa tego systemu operacyjnego mogła zostać dodana po wydaniu tej wersji produktu. Więcej informacji na temat obsługiwanych systemów operacyjnych można znaleźć na stronach WWW ze szczegółowymi wymaganiami systemowymi - http://www.ibm.com/support/docview.wss?uid=swg27038033. Można kontynuować instalację, jednak instalacja lub działanie produktu może zakończyć się niepowodzeniem.

Wciskamy przycisk Dalej >

  1. Akceptujemy warunki umów licencyjnych i wciskamy przycisk Dalej >.
  2. Zostaniemy poproszeni o wskazanie położenia katalogu zasobów współużytkowanych. Możemy pozostawić wartość domyślną /opt/IBM/BAW/IMShared i wciskamy przycisk Dalej >.
  3. Zostaniemy poproszeni o wskazanie położenia katalogu zasobów, w którym ma zostać zainstalowany WebSphere wraz z produktem BAW. Zmieniamy wartość domyślną na /opt/IBM/BAW/21.0.3 i wciskamy przycisk Dalej >.
  4. Wybieramy wersje językowe produktu, które zostaną zainstalowane. Domyślnie zaznaczona jest tylko wersja 'Angielski', jest ona wersją główną i nie można jej pominąć. Rozwijamy Tłumaczenia obsługiwane tylko przez niektóre pakiety i zaznaczamy 'Polski'. wciskamy przycisk Dalej >.
  5. Otworzy nam okno z podsumowaniem instalowanych pakietów.
Uwaga!

Pamiętaj o tym, że teraz powinieneś wybrać "licencję" produktu IBM BAW. W tym celu rozwijamy wpis związany z produktem IBM BAW i w naszym wypadku wybieramy "Licencja nieprodukcyjna na produkt IBM Business Automation Workflow".

screen-2025-01-23-012

Wciskamy przycisk Dalej >.

W kolejnym kroku pojawi się okno z podsumowaniem instalacji.

screen-2025-01-23-013

Wciskamy przycisk Instaluj i czekamy na zakończenie procesu, który może potrwać dość długo, nawet 1.5h, ale powinien zakończyć się sukcesem. Po zakończeniu instalacji, zostaniemy poproszeni o uruchomienie kolejnego programu konfiguracyjnego, jednakże my na tym poprzestaniemy wybierając opcję Brak. Wciskamy przycisk Zakończ i zamykamy IBM® Installation Manager.

Konfiguracja profili produktu IBM® BAW

Po zakończeniu instalacji IBM® BAW, musimy skonfigurować profile produktu. Teraz trzeba utworzyć nowe środowisko wdrażania i profile. Do tego celu użyjemy programu narzędziowego BPMConfig.sh.

Przygotowanie pliku konfiguracyjnego

W zainstalowanym katalogu /opt/IBM/BAW/21.0.3/BPM/samples/config/ mamy podkatalogi z przykładowymi plikami konfiguracyjnymi.

screen-2025-01-23-014

  1. Dla instalacji środowiska "Advanced" wybierz jeden z plików związany z konfiguracją tego środowiska np. advanced/Advanced-PC-SingleCluster-DB2.properties i na jego przykładzie przygotuj konfigurację odpowiadającą naszym celom.
  2. Dla instalacji środowiska "Express" lub "Standard" wybierz jeden z plików związany z konfiguracją środowiska Standard np. standard/Standard-PC-SingleCluster-DB2.properties i na jego przykładzie przygotuj konfigurację odpowiadającą naszym celom. W zależności od wyboru środowiska ustawiamy odpowiednio:
    1. dla "Express": bpm.de.type=Express
    2. dla "Standard": bpm.de.type=Standard
Zwróć uwagę!

Nazwy przykładowych plików konfiguracyjnych zawierają informacje o konfiguracji, którą reprezentują. Na przykładzie nazwy pliku Advanced-PC-SingleCluster-DB2.properties możemy odczytać, że jest to konfiguracja środowiska "Advanced" dla "Process Center" w konfiguracji "SingleCluster" z bazą danych "DB2".

Wybieramy plik konfiguracyjny, który będzie podstawą dla naszej konfiguracji. W naszym przypadku wybieramy plik advanced/Advanced-PC-SingleCluster-DB2.properties: Jako uzytkownik bawadmin kopiujemy plik konfiguracyjny do katalogu domowego:

cd ~
mkdir -p workspace/config
cd workspace/config
cp /opt/IBM/BAW/21.0.3/BPM/samples/config/advanced/Advanced-PC-SingleCluster-DB2.properties bpmbaw21test-PC-SingleCluster-DB2.properties

Edytujemy plik konfiguracyjny bpmbaw21test-PC-SingleCluster-DB2.properties i dostosowujemy go do naszych potrzeb.

vim bpmbaw21test-PC-SingleCluster-DB2.properties

Jeżeli nie ma takiej potrzeby, to nie musisz zmieniać wszystkich parametrów znajdujących się w pliku. Poniżej zaprezentowano zakres parametrów, które należy zmienić. W miarę możliwości, warto skorzystać z komentarzy zawartych w pliku konfiguracyjnym, które pomogą w zrozumieniu znaczenia poszczególnych parametrów.

Sekcja definicji środowiska wdrażania

Pamiętaj!

Pamietaj aby parametr bpm.de.deferSchemaCreation był ustawione na false

bpm.de.name=De1
# The type of product configuration: Express, Standard, Advanced, or AdvancedOnly.
bpm.de.type=Advanced
# The type of deployment environment: Process Center or Process Server. Use 'Process Center' to create a Workflow Center deployment
# environment and 'Process Server' to create a Workflow Server deployment environment.
bpm.de.environment=Process Center
# Options: 'true' or 'false'. If false is specified, the database schemas are created when the deployment environment is created.
# If true is specified, the database schemas must be created manually using the generated scripts, and the bootstrapProcessServerData
# script must be run manually. When using DB2 for z/OS, the option must be set to true.
bpm.de.deferSchemaCreation=false
# The context root prefix for all web modules in this environment. If set, the context root prefix must start with a forward slash character (/).
bpm.de.contextRootPrefix=
# The virtualHost for all web modules in this environment. If a value is not set for virtualHost, the default value 'default_host' is used.
bpm.de.virtualHost=
# Options: true or false. Set to true to use external IBM Content Navigator.
bpm.de.useExternalNavigator=false
# Options: true or false. Set to true to use external IBM FileNet Content Platform Engine.
bpm.de.useExternalCPE=false

Użytkownicy zarządzający środowiskiem w WebSphere Integrated Solutions Console

Użytkownik, który będzie administratorem środowiska w WebSphere Integrated Solutions Console. Zostanie utworzony automatycznie podczas tworzenia środowiska wdrożeniowego. Zdefiniujemy go z nazwą deadmin.

#######################################################################################################################################################
# Deployment environment administrator authentication alias. It cannot have the same user name as the authentication alias of the cell administrator. #
#######################################################################################################################################################
bpm.de.authenticationAlias.1.name=DeAdminAlias
bpm.de.authenticationAlias.1.user=deadmin
bpm.de.authenticationAlias.1.password=secret

Dane użytkownika technicznego do komunikacji z bazą danych

Wykorzystujemy dane wcześniej utworzonego użytkownika bpmadmin, który został utworzony podczas prac przygotowawczych przed instalacją bazy danych DB2. Użytkownik ten został utworzony jako użytkownik techniczny do komunikacji z bazą danych.

######################################
# Database user authentication alias #
######################################
bpm.de.authenticationAlias.2.name=BPM_DB_ALIAS
bpm.de.authenticationAlias.2.user=bpmadmin
bpm.de.authenticationAlias.2.password=secret

Dane definujące komórkę (cell) w WebSphere

Pamiętaj!

Dla wersji "Express" oraz "Standard" parametr bpm.cell.db=CellOnlyDb musi być wykomentowany.

############################
# Cell properties: PCCell1 #
############################
bpm.cell.name=PCCell1
# The database at the cell level. This database is only applicable to IBM Business Automation Workflow Advanced and AdvancedOnly configurations.
# The value should correspond to the name of a database that is defined in this file.
bpm.cell.db=CellOnlyDb

Dane administratora komórki (cell) w WebSphere

Użytkownik, który będzie administratorem komórki (cell) w WebSphere Integrated Solutions Console. Zostanie utworzony automatycznie podczas tworzenia środowiska wdrożeniowego. Zdefiniujemy go z nazwą bawadmin.

##################################################
# Cell (WAS) administration authentication alias #
##################################################
bpm.cell.authenticationAlias.1.name=CellAdminAlias
bpm.cell.authenticationAlias.1.user=bawadmin
bpm.cell.authenticationAlias.1.password=secret

Definicja profilu wdrożeniowego

Definiowanie profilu wdrożeniowego, który będzie używany do tworzenia środowiska wdrożeniowego. W naszym przypadku będzie to profil DmgrProfile. Należy przed uruchomieniem narzędzia BPMConfig.sh utworzyć katalog domowy profilu:

mkdir -p /opt/IBM/BAW/profiles/DmgrProfile
Pamiętaj!

Pamietaj aby parametr bpm.dmgr.hostname definiował pełną nazwę serwera (wraz z domeną). Ma to związek z generowanym certyfikatem SSL, który będzie zawierał nazwę serwera. Jeżeli nie masz zdefiniowanej nazwy domenowej to ją zdefiniuj wspierając się na pliku /etc/hosts. W naszym przypadku pełną nazwę serwera ustalam sobie jako bpmbaw21test.example.com. Numer IP serwera niech będzie 192.168.56.122. Realizujemy wpis w pliku /etc/hosts:

192.168.56.122 bpmbaw21test.example.com bpmbaw21test
#################################
# Deployment manager properties #
#################################
# The name of the deployment manager node.
bpm.dmgr.nodeName=Dmgr
# The host name of the deployment manager. Do not use localhost for environments that span multiple hosts.
bpm.dmgr.hostname=bpmbaw21test.example.com
# The installation location of the IBM Business Automation Workflow product.
# If you want to use a backslash character (\) in your properties file, you must use an escape backslash
# before it; for example, bpm.dmgr.installPath=C:\\IBM\\BPM\\v8.6.
bpm.dmgr.installPath=/opt/IBM/BAW/21.0.3
# The name of the deployment manager profile.
bpm.dmgr.profileName=DmgrProfile
# The file path of the deployment manager profile. It must be a valid path for the target system and must not be currently in use.
# You must have permissions to write to the directory. To use the default path, do not specify any value for the property.
# If you want to use a backslash character (\) in your properties file, you must use an escape backslash before it;
# for example, bpm.dmgr.profilePath=C:\\IBM\\BPM\\v8.6\\profiles\\DmgrProfile.
bpm.dmgr.profilePath=/opt/IBM/BAW/profiles/DmgrProfile
# Custom options that are passed to the 'manageprofiles' command and used primarily to customize port assignments.
bpm.dmgr.profileOptions=
# To override the default port assignments for this profile, specify a starting port number for generating and assigning ports.
bpm.dmgr.initialPortAssignment=
# The value for the JDBC driver path WebSphere environment variable.
bpm.dmgr.jdbcDriverPath=${WAS_INSTALL_ROOT}/jdbcdrivers/DB2
# The deployment manager SOAP port. This port is used to establish a connection to the deployment manager during the creation of remote nodes. Update this property after you create the deployment manager profile.
bpm.dmgr.soapPort=8879

Definicja profilu węzła (node) w WebSphere

Definiowanie profilu węzła (node) w WebSphere Integrated Solutions Console. Zostanie utworzony automatycznie podczas tworzenia środowiska wdrożeniowego. Należy przed uruchomieniem narzędzia BPMConfig.sh utworzyć katalog domowy profilu:

mkdir -p /opt/IBM/BAW/profiles/Node1Profile
Pamiętaj!

Pamietaj aby parametr bpm.de.node.1.hostname definiował pełną nazwę serwera (wraz z domeną). Ma to związek z generowanym certyfikatem SSL, który będzie zawierał nazwę serwera.

##########################
# Node properties: Node1 #
##########################
bpm.de.node.1.name=Node1
# If the host name is the same as the deployment manager, this node will be created on the same computer. Do not use localhost for environments that span multiple hosts.
bpm.de.node.1.hostname=bpmbaw21test.example.com
# The installation location of the IBM Business Automation Workflow product.
# If you want to use a backslash character (\) in your properties file, you must use an escape backslash before it;
# for example, bpm.de.node.1.installPath=C:\\IBM\\BPM\\v8.6.
bpm.de.node.1.installPath=/opt/IBM/BAW/21.0.3
# The name of the node profile.
bpm.de.node.1.profileName=Node1Profile
# The file path of the managed node profile. It must be a valid path for the target system and must not be currently in use.
# You must have permissions to write to the directory. To use the default path, do not specify any value for the property.
# If you want to use a backslash character (\) in your properties file, you must use an escape backslash before it;
# for example, bpm.dmgr.profilePath=C:\\IBM\\BPM\\v8.6\\profiles\\Node1Profile.
bpm.de.node.1.profilePath=/opt/IBM/BAW/profiles/Node1Profile
# Custom options that are passed to the 'manageprofiles' command and used primarily to customize port assignments.
bpm.de.node.1.profileOptions=
# To override the default port assignments for this profile, specify a starting port number for generating and assigning ports.
bpm.de.node.1.initialPortAssignment=
# The value for the JDBC driver path WebSphere environment variable.
bpm.de.node.1.jdbcDriverPath=${WAS_INSTALL_ROOT}/jdbcdrivers/DB2

Definicja bazy danych SharedDb

Baza danych SharedDb jest wspólna dla wszystkich komponentów IBM® BAW.

Nasz serwer bazy danych DB2 został zainstalowany na tym samym serwerze co IBM® BAW, zatem do komunikacji możemy wykorzystać wewnętrzny interfejs localhost.

Uwaga!

Nie używaj interfejsu localhost gdy serwer bazy danych jest na innej maszynie.

Schemat bazy danych SharedDb powinien być taki sam jak nazwa użytkownika technicznego wykorzystanego do komunikacji z bazą danych, czyli w naszym przypadku przyjmuje wartość bpmadmin.

#################################
# Database properties: SharedDb #
#################################
# The keyword to use to refer to this set of database properties. This is not the database name.
bpm.de.db.1.name=SharedDb
# The list of available options depends on the product configuration. For a Standard DE, the options are
# ProcessServer, EmbeddedECM, ContentNavigator, DesignObjectStore, TargetObjectStore, PDW, Messaging, and BusinessSpace.
# For an Advanced DE, the options are ProcessServer, EmbeddedECM, ContentNavigator, DesignObjectStore, TargetObjectStore,
# PDW, CellScopedDB, Messaging, BusinessSpace, CommonDB, and BPC. For an AdvancedOnly DE, the options are CellScopedDB,
# Messaging, BusinessSpace, CommonDB, and BPC. For EmbeddedECM, there is no support if the operating system for the
# IBM Business Automation Workflow environment is z/OS.
bpm.de.db.1.dbCapabilities=Messaging,BusinessSpace,CommonDB,BPC
# Options: DB2, DB2zOS, Oracle, or SQL Server.
bpm.de.db.1.type=DB2
# The host name of the database. Do not use localhost for environments that span multiple hosts.
bpm.de.db.1.hostname=localhost
bpm.de.db.1.portNumber=50000
# The name of the database.
bpm.de.db.1.databaseName=CMNDB
# For information about the restrictions that pertain to IBM Business Automation Workflow database schema names,
# see the IBM Business Automation Workflow topic "Configuration properties for the BPMConfig command" in the IBM Knowledge Center:
# https://www.ibm.com/support/knowledgecenter/SS8JB4_18.0.0/com.ibm.wbpm.ref.doc/topics/samplecfgprops.html
bpm.de.db.1.schema=bpmadmin

Definicja bazy danych ProcessServerDb

Baza danych ProcessServerDb jest używana przez serwer procesów.

Nasz serwer bazy danych DB2 został zainstalowany na tym samym serwerze co IBM® BAW, zatem do komunikacji możemy wykorzystać wewnętrzny interfejs localhost.

Uwaga!

Nie używaj interfejsu localhost gdy serwer bazy danych jest na innej maszynie.

Schemat bazy danych ProcessServerDb powinien być taki sam jak nazwa użytkownika technicznego wykorzystanego do komunikacji z bazą danych, czyli w naszym przypadku przyjmuje wartość bpmadmin.

########################################
# Database properties: ProcessServerDb #
########################################
# The keyword to use to refer to this set of database properties. This is not the database name.
bpm.de.db.2.name=ProcessServerDb
# The list of available options depends on the product configuration. For a Standard DE, the options are
# ProcessServer, EmbeddedECM, ContentNavigator, DesignObjectStore, TargetObjectStore, PDW, Messaging, and BusinessSpace.
# For an Advanced DE, the options are ProcessServer, EmbeddedECM, ContentNavigator, DesignObjectStore, TargetObjectStore,
# PDW, CellScopedDB, Messaging, BusinessSpace, CommonDB, and BPC. For an AdvancedOnly DE, the options are CellScopedDB,
# Messaging, BusinessSpace, CommonDB, and BPC. For EmbeddedECM, there is no support if the operating system for the
# IBM Business Automation Workflow environment is z/OS.
bpm.de.db.2.dbCapabilities=ProcessServer,EmbeddedECM
# Options: DB2, DB2zOS, Oracle, or SQL Server.
bpm.de.db.2.type=DB2
# The host name of the database. Do not use localhost for environments that span multiple hosts.
bpm.de.db.2.hostname=localhost
bpm.de.db.2.portNumber=50000
# The name of the database.
bpm.de.db.2.databaseName=BPMDB
# For information about the restrictions that pertain to IBM Business Automation Workflow database schema names,
# see the IBM Business Automation Workflow topic "Configuration properties for the BPMConfig command" in the IBM Knowledge Center:
# https://www.ibm.com/support/knowledgecenter/SS8JB4_18.0.0/com.ibm.wbpm.ref.doc/topics/samplecfgprops.html
bpm.de.db.2.schema=bpmadmin

Definicja bazy danych IcnDb

Baza danych IcnDb jest używana przez "Content Navigator", produkt IBM Filenet P8, repozytorium dokumentów.

Nasz serwer bazy danych DB2 został zainstalowany na tym samym serwerze co IBM® BAW, zatem do komunikacji możemy wykorzystać wewnętrzny interfejs localhost.

Uwaga!

Nie używaj interfejsu localhost gdy serwer bazy danych jest na innej maszynie.

Zwróć uwagę również na dodatkowe parametry:

  • bpm.de.db.3.schema=ICNSA - nazwa schematu, w którym zostaną umieszczone tabele inna niż nazwa użytkownika.
Uwaga!

Nie pozostawiaj parametru bpm.de.db.3.databaseDataDirectoryPath nie ustawionym. Jeżeli go nie ustawisz wygenerowane skrypty tworzenia baz danych i przestrzeni tabel zostaną utworzone błędnie, ale o tym dowiesz się dopiero gdy będziesz chciał je uruchomić na serwerze bazy danych. Jaką wartość ustawić? Na podstawie artykułu dokumentacji Struktura katalogów – informacje o domyślnym katalogu lokalnej bazy danych dla instancji DB2 db2inst1 wynika, że domyślna wartość to katalog ~db2inst1/db2inst1/NODE0000. Wykonaj polecenia jako użytkownik db2inst1 na serwerze bazy danych:

cd 
HOME_DIR=`pwd`
echo "$HOME_DIR/db2inst1/NODE0000"

screen-2025-01-23-015

Zatem, w naszym przypadku będzie to wartość /opt/IBM/db2/db2inst1/db2inst1/NODE0000.

##############################
# Database properties: IcnDb #
##############################
# The keyword to use to refer to this set of database properties. This is not the database name.
bpm.de.db.3.name=IcnDb
# The list of available options depends on the product configuration. For a Standard DE, the options are
# ProcessServer, EmbeddedECM, ContentNavigator, DesignObjectStore, TargetObjectStore, PDW, Messaging, and BusinessSpace.
# For an Advanced DE, the options are ProcessServer, EmbeddedECM, ContentNavigator, DesignObjectStore, TargetObjectStore,
# PDW, CellScopedDB, Messaging, BusinessSpace, CommonDB, and BPC. For an AdvancedOnly DE, the options are CellScopedDB,
# Messaging, BusinessSpace, CommonDB, and BPC. For EmbeddedECM, there is no support if the operating system for the
# IBM Business Automation Workflow environment is z/OS.
bpm.de.db.3.dbCapabilities=ContentNavigator
# Options: DB2, DB2zOS, Oracle, or SQL Server.
bpm.de.db.3.type=DB2
# The host name of the database. Do not use localhost for environments that span multiple hosts.
bpm.de.db.3.hostname=localhost
bpm.de.db.3.portNumber=50000
# The name of the database.
bpm.de.db.3.databaseName=CPEDB
# For information about the restrictions that pertain to IBM Business Automation Workflow database schema names,
# see the IBM Business Automation Workflow topic "Configuration properties for the BPMConfig command" in the IBM Knowledge Center:
# https://www.ibm.com/support/knowledgecenter/SS8JB4_18.0.0/com.ibm.wbpm.ref.doc/topics/samplecfgprops.html
bpm.de.db.3.schema=ICNSA
bpm.de.db.3.tsicn=WFICNTS
# The database data directory is the location where information that is managed by the database is stored.
# Specify the same data directory for each bpm.de.db.databaseDataDirectoryPath.
bpm.de.db.3.databaseDataDirectoryPath=/opt/IBM/db2/db2inst1/db2inst1/NODE0000

Definicja bazy danych DosDb

Baza danych DosDb jest używana przez "Design Object Store", produkt IBM Filenet P8, repozytorium dokumentów.

Nasz serwer bazy danych DB2 został zainstalowany na tym samym serwerze co IBM® BAW, zatem do komunikacji możemy wykorzystać wewnętrzny interfejs localhost.

Uwaga!

Nie używaj interfejsu localhost gdy serwer bazy danych jest na innej maszynie.

Zwróć uwagę również na dodatkowe parametry:

  • bpm.de.db.4.schema=DOSSA - nazwa schematu, w którym zostaną umieszczone tabele inna niż nazwa użytkownika.
  • bpm.de.db.4.tsdosdata=DOSSA_DATA_TS - przestrzeń tabel dla danych.
  • bpm.de.db.4.tsdoslob=DOSSA_LOB_TS - przestrzeń tabel dla LOB'ów.
  • bpm.de.db.4.tsdosidx=DOSSA_IDX_TS - przestrzeń tabel dla indeksów.
Uwaga!

Nie pozostawiaj parametru bpm.de.db.4.databaseDataDirectoryPath nie ustawionym. Jeżeli go nie ustawisz wygenerowane skrypty tworzenia baz danych i przestrzeni tabel zostaną utworzone błędnie, ale o tym dowiesz się dopiero gdy będziesz chciał je uruchomić na serwerze bazy danych. Jaką wartość ustawić? Na podstawie artykułu dokumentacji Struktura katalogów – informacje o domyślnym katalogu lokalnej bazy danych dla instancji DB2 db2inst1 wynika, że domyślna wartość to katalog ~db2inst1/db2inst1/NODE0000. Wykonaj polecenia jako użytkownik db2inst1 na serwerze bazy danych:

cd 
HOME_DIR=`pwd`
echo "$HOME_DIR/db2inst1/NODE0000"

screen-2025-01-23-015

Zatem, w naszym przypadku będzie to wartość /opt/IBM/db2/db2inst1/db2inst1/NODE0000.

##############################
# Database properties: DosDb #
##############################
# The keyword to use to refer to this set of database properties. This is not the database name.
bpm.de.db.4.name=DosDb
# The list of available options depends on the product configuration. For a Standard DE, the options are
# ProcessServer, EmbeddedECM, ContentNavigator, DesignObjectStore, TargetObjectStore, PDW, Messaging, and BusinessSpace.
# For an Advanced DE, the options are ProcessServer, EmbeddedECM, ContentNavigator, DesignObjectStore, TargetObjectStore,
# PDW, CellScopedDB, Messaging, BusinessSpace, CommonDB, and BPC. For an AdvancedOnly DE, the options are CellScopedDB,
# Messaging, BusinessSpace, CommonDB, and BPC. For EmbeddedECM, there is no support if the operating system for the
# IBM Business Automation Workflow environment is z/OS.
bpm.de.db.4.dbCapabilities=DesignObjectStore
# Options: DB2, DB2zOS, Oracle, or SQL Server.
bpm.de.db.4.type=DB2
# The host name of the database. Do not use localhost for environments that span multiple hosts.
bpm.de.db.4.hostname=localhost
bpm.de.db.4.portNumber=50000
# The name of the database.
bpm.de.db.4.databaseName=CPEDB
# For information about the restrictions that pertain to IBM Business Automation Workflow database schema names,
# see the IBM Business Automation Workflow topic "Configuration properties for the BPMConfig command" in the IBM Knowledge Center:
# https://www.ibm.com/support/knowledgecenter/SS8JB4_18.0.0/com.ibm.wbpm.ref.doc/topics/samplecfgprops.html
bpm.de.db.4.schema=DOSSA
bpm.de.db.4.tsdosdata=DOSSA_DATA_TS
bpm.de.db.4.tsdoslob=DOSSA_LOB_TS
bpm.de.db.4.tsdosidx=DOSSA_IDX_TS
# The database data directory is the location where information that is managed by the database is stored.
# Specify the same data directory for each bpm.de.db.databaseDataDirectoryPath.
bpm.de.db.4.databaseDataDirectoryPath=/opt/IBM/db2/db2inst1/db2inst1/NODE0000

Definicja bazy danych TosDb

Baza danych TosDb jest używana przez "Target Object Store", produkt IBM Filenet P8, repozytorium dokumentów.

Nasz serwer bazy danych DB2 został zainstalowany na tym samym serwerze co IBM® BAW, zatem do komunikacji możemy wykorzystać wewnętrzny interfejs localhost.

Uwaga!

Nie używaj interfejsu localhost gdy serwer bazy danych jest na innej maszynie.

Zwróć uwagę również na parametry:

  • bpm.de.db.5.schema=TOSSA - nazwa schematu, w którym zostaną umieszczone tabele inna niż nazwa użytkownika.
  • bpm.de.db.5.tsdosdata=TOSSA_DATA_TS - przestrzeń tabel dla danych.
  • bpm.de.db.5.tsdoslob=TOSSA_LOB_TS - przestrzeń tabel dla LOB'ów.
  • bpm.de.db.5.tsdosidx=TOSSA_IDX_TS - przestrzeń tabel dla indeksów.
Uwaga!

Nie pozostawiaj parametru bpm.de.db.5.databaseDataDirectoryPath nie ustawionym. Jeżeli go nie ustawisz wygenerowane skrypty tworzenia baz danych i przestrzeni tabel zostaną utworzone błędnie, ale o tym dowiesz się dopiero gdy będziesz chciał je uruchomić na serwerze bazy danych. Jaką wartość ustawić? Na podstawie artykułu dokumentacji Struktura katalogów – informacje o domyślnym katalogu lokalnej bazy danych dla instancji DB2 db2inst1 wynika, że domyślna wartość to katalog ~db2inst1/db2inst1/NODE0000. Wykonaj polecenia jako użytkownik db2inst1 na serwerze bazy danych:

cd 
HOME_DIR=`pwd`
echo "$HOME_DIR/db2inst1/NODE0000"

screen-2025-01-23-015

Zatem, w naszym przypadku będzie to wartość /opt/IBM/db2/db2inst1/db2inst1/NODE0000.

##############################
# Database properties: TosDb #
##############################
# The keyword to use to refer to this set of database properties. This is not the database name.
bpm.de.db.5.name=TosDb
# The list of available options depends on the product configuration. For a Standard DE, the options are
# ProcessServer, EmbeddedECM, ContentNavigator, DesignObjectStore, TargetObjectStore, PDW, Messaging, and BusinessSpace.
# For an Advanced DE, the options are ProcessServer, EmbeddedECM, ContentNavigator, DesignObjectStore, TargetObjectStore,
# PDW, CellScopedDB, Messaging, BusinessSpace, CommonDB, and BPC. For an AdvancedOnly DE, the options are CellScopedDB,
# Messaging, BusinessSpace, CommonDB, and BPC. For EmbeddedECM, there is no support if the operating system for the
# IBM Business Automation Workflow environment is z/OS.
bpm.de.db.5.dbCapabilities=TargetObjectStore
# Options: DB2, DB2zOS, Oracle, or SQL Server.
bpm.de.db.5.type=DB2
# The host name of the database. Do not use localhost for environments that span multiple hosts.
bpm.de.db.5.hostname=localhost
bpm.de.db.5.portNumber=50000
# The name of the database.
bpm.de.db.5.databaseName=CPEDB
# For information about the restrictions that pertain to IBM Business Automation Workflow database schema names, see the IBM Business Automation Workflow topic
# "Configuration properties for the BPMConfig command" in the IBM Knowledge Center:
# https://www.ibm.com/support/knowledgecenter/SS8JB4_18.0.0/com.ibm.wbpm.ref.doc/topics/samplecfgprops.html
bpm.de.db.5.schema=TOSSA
bpm.de.db.5.tstosdata=TOSSA_DATA_TS
bpm.de.db.5.tstoslob=TOSSA_LOB_TS
bpm.de.db.5.tstosidx=TOSSA_IDX_TS
# The database data directory is the location where information that is managed by the database is stored.
# Specify the same data directory for each bpm.de.db.databaseDataDirectoryPath.
bpm.de.db.5.databaseDataDirectoryPath=/opt/IBM/db2/db2inst1/db2inst1/NODE0000

Definicja bazy danych PerformanceDb

Baza danych PerformanceDb jest używana przez "Performance Data Warehouse".

Nasz serwer bazy danych DB2 został zainstalowany na tym samym serwerze co IBM® BAW, zatem do komunikacji możemy wykorzystać wewnętrzny interfejs localhost.

Uwaga!

Nie używaj interfejsu localhost gdy serwer bazy danych jest na innej maszynie.

Schemat bazy danych PerformanceDb powinien być taki sam jak nazwa użytkownika technicznego wykorzystanego do komunikacji z bazą danych, czyli w naszym przypadku przyjmuje wartość bpmadmin.

######################################
# Database properties: PerformanceDb #
######################################
# The keyword to use to refer to this set of database properties. This is not the database name.
bpm.de.db.6.name=PerformanceDb
# The list of available options depends on the product configuration. For a Standard DE, the options are
# ProcessServer, EmbeddedECM, ContentNavigator, DesignObjectStore, TargetObjectStore, PDW, Messaging, and BusinessSpace.
# For an Advanced DE, the options are ProcessServer, EmbeddedECM, ContentNavigator, DesignObjectStore, TargetObjectStore,
# PDW, CellScopedDB, Messaging, BusinessSpace, CommonDB, and BPC. For an AdvancedOnly DE, the options are CellScopedDB,
# Messaging, BusinessSpace, CommonDB, and BPC. For EmbeddedECM, there is no support if the operating system for the
# IBM Business Automation Workflow environment is z/OS.
bpm.de.db.6.dbCapabilities=PDW
# Options: DB2, DB2zOS, Oracle, or SQL Server.
bpm.de.db.6.type=DB2
# The host name of the database. Do not use localhost for environments that span multiple hosts.
bpm.de.db.6.hostname=localhost
bpm.de.db.6.portNumber=50000
# The name of the database.
bpm.de.db.6.databaseName=PDWDB
# For information about the restrictions that pertain to IBM Business Automation Workflow database schema names,
# see the IBM Business Automation Workflow topic "Configuration properties for the BPMConfig command" in the IBM Knowledge Center:
# https://www.ibm.com/support/knowledgecenter/SS8JB4_18.0.0/com.ibm.wbpm.ref.doc/topics/samplecfgprops.html
bpm.de.db.6.schema=bpmadmin

Definicja bazy danych CellOnlyDb

Baza danych CellOnlyDb jest używana przez "IBM Business Automation Workflow".

Nasz serwer bazy danych DB2 został zainstalowany na tym samym serwerze co IBM® BAW, zatem do komunikacji możemy wykorzystać wewnętrzny interfejs localhost.

Uwaga!

Nie używaj interfejsu localhost gdy serwer bazy danych jest na innej maszynie.

Schemat bazy danych CellOnlyDb powinien być taki sam jak nazwa użytkownika technicznego wykorzystanego do komunikacji z bazą danych, czyli w naszym przypadku przyjmuje wartość bpmadmin.

Dla wersji "Express" oraz "Standard" parametr bpm.cell.db=CellOnlyDb powinien być wykomentowany. Dotyczy to również całej poniższej sekcji.

###################################
# Database properties: CellOnlyDb #
###################################
# The keyword to use to refer to this set of database properties. This is not the database name.
bpm.de.db.7.name=CellOnlyDb
# The list of available options depends on the product configuration. For a Standard DE, the options are
# ProcessServer, EmbeddedECM, ContentNavigator, DesignObjectStore, TargetObjectStore, PDW, Messaging, and BusinessSpace.
# For an Advanced DE, the options are ProcessServer, EmbeddedECM, ContentNavigator, DesignObjectStore, TargetObjectStore,
# PDW, CellScopedDB, Messaging, BusinessSpace, CommonDB, and BPC. For an AdvancedOnly DE, the options are CellScopedDB,
# Messaging, BusinessSpace, CommonDB, and BPC. For EmbeddedECM, there is no support if the operating system for the
# IBM Business Automation Workflow environment is z/OS.
bpm.de.db.7.dbCapabilities=CellScopedDB
# Options: DB2, DB2zOS, Oracle, or SQL Server.
bpm.de.db.7.type=DB2
# The host name of the database. Do not use localhost for environments that span multiple hosts.
bpm.de.db.7.hostname=localhost
bpm.de.db.7.portNumber=50000
# The name of the database.
bpm.de.db.7.databaseName=CMNDB
# For information about the restrictions that pertain to IBM Business Automation Workflow database schema names,
# see the IBM Business Automation Workflow topic "Configuration properties for the BPMConfig command" in the IBM Knowledge Center:
# https://www.ibm.com/support/knowledgecenter/SS8JB4_18.0.0/com.ibm.wbpm.ref.doc/topics/samplecfgprops.html
bpm.de.db.7.schema=bpmadmin

Konfiguracja Case Manager'a

Wraz z produktem IBM BAW dostępny jest również produkt IBM® Case Manager. Poniżej przedstawiono sekcję konfiguracji związaną z tym produktem. Nic nie zmieniamy w tej sekcji, chyba że mamy taką potrzebę.

###########################
# Case Manager Properties #
###########################
# The network directory shared among multiple process servers in the deployment environment.
bpm.de.caseManager.networkSharedDirectory=${WAS_INSTALL_ROOT}/CaseManagement/properties
bpm.de.caseManager.formsType=eForms only
bpm.de.caseManager.ibmFormsDirectory=
bpm.de.caseManager.ibmFormsRenderApp=autoDetect
bpm.de.caseManager.ibmFormsTranslatorURL=http://localhost:8085/translator
bpm.de.caseManager.enablePD=false
bpm.de.caseManager.enableVCS=false
bpm.de.caseManager.vcsSandboxPath=
bpm.de.caseManager.vcsAdditionalParameters=
bpm.de.caseManager.vcsHeartbeatInterval=60
bpm.de.caseManager.vcsCommitTimeout=120
bpm.de.caseManager.vcsDeliverTimeout=600

Generacja plików tworzących bazę danych

Po przygotowaniu pliku konfiguracyjnego wygenerujemy sobie skrypty tworzące bazy danych, schematy oraz przestrzenie tabel. W tym celu zrealizujemy następujące kroki:

  • Tworzymy katalog, w którym będą generowane skrypty:
cd ~
mkdir -p workspace/createDbScripts
  • Generujemy skrypty za pomocą poleceń:
# Wchodzimy do lokalizacji wcześniej zdefiniowanego pliku z konfiguracją
cd ~/workspace/config
/opt/IBM/BAW/21.0.3/bin/BPMConfig.sh \
-create -sqlfiles bpmbaw21test-PC-SingleCluster-DB2.properties \
-outputDir ~/workspace/createDbScripts

Polecenie powinno zakończyć się komunikatem: Komenda BPMConfig.sh -create -sqlfiles bpmbaw21test-PC-SingleCluster-DB2.properties -outputDir /opt/IBM/BAW/bawadmin/workspace/createDbScripts została wykonana pomyślnie.

  • Powstałe katalogi z plikami pakujemy i przesyłamy na serwer z bazą danych (w naszym przypadku to ten sam serwer 😁, localhost):
cd ~/workspace/createDbScripts/
tar -czvf createDbScripts.tar.gz *
scp createDbScripts.tar.gz db2inst1@localhost:createDbScripts.tar.gz

Tworzenie baz danych

Logujemy się na serwer z bazą danych i wydajemy polecenia jako użytkownik db2inst1.

Zaloguj się jako db2inst1

Jeżeli jesteś zalogowany jako użytkownik uprzywilejowany root wydaj polecenie:

su - db2inst1
  • Załadowanie profilu użytkownika db2inst1 pozwalającego na lokalną komunikację z instalacją bazy danych.
. ~/sqllib/db2profile
  • Jeżeli wykonaliśmy wszystkie wcześniej opisane kroki to powinniśmy mieć w katalogu domowym plik createDbScripts.tar.gz - plik z archiwum zawierającym skrypty tworzące bazy danych, niezbędne schematy i przestrzenie tabel. Tworzymy katalog, do którego rozpakujemy dany plik:
mkdir -p ~/createDbScripts
cd ~/createDbScripts
tar -xzvf ~/createDbScripts.tar.gz
  • Po kolei tworzymy cztery niezbędne bazy danych (BPMDB, PDWDB, CMNDB oraz CPEDB) i przestrzenie tabel, w których składowane będą obiekty.
Zmiana terytorium baz danych

Wygenerowane skrypty tworzenia baz danych mają domyślnie ustawione terytorium na US. Możemy się zastanowić, czy czasem nie powinnismy tego zmienić. Wspierane wartości kodów znajdziemy w dokumentacji produktu w artykule Obsługiwane kody terytoriów i strony kodowe.

Wyszukujemy w ktalogach pliki SQL odpowiedzialne za utworzenie bazy danych: pliki o nazwie createDatabase.sql (dla bazy CPEDB createDatabase_ECM.sql) i dokonujemy zmian. Na przykład, dla bazy BPMDB ustawiamy terytorium PL:

-- create the database:
create database BPMDB automatic storage yes using codeset UTF-8 territory PL pagesize 32768;
Zignoruj

Pośród katalogów ze skryptami znajdziesz katalog PCCell1/DB2/CMNDB, który możesz zignorować. Jego zduplikowaną zawartość można znaleźć w katalogu PCCell1.De1/DB2/CMNDB.

Wydajemy polecenia:

cd ~/createDbScripts/PCCell1.De1/DB2/BPMDB
./createDatabase.sh
cd ~/createDbScripts/PCCell1.De1/DB2/PDWDB
./createDatabase.sh
cd ~/createDbScripts/PCCell1.De1/DB2/CMNDB
./createDatabase.sh
cd ~/createDbScripts/PCCell1.De1/DB2/CPEDB
./createDatabase_ECM.sh
db2 connect to CPEDB
db2 -stf ./createTablespace_Advanced.sql

Powyższy zbiór poleceń zapewni nam poprawne utworzenie baz danych.

Uwaga!

Dla naszych potrzeb uruchamiamy tylko powyższe, niezbędne skrypty tworzenia baz danych oraz przestrzeni tabel. Nie uruchamiamy skryptów tworzących tabele i procedury. We wczesniej stworzonym pliku konfiguracji profili ustawiliśmy parametr bpm.de.deferSchemaCreation=false, który zapewni nam utworzenie niezbędnych obiektów podczas procesu budowania profili WebSphere.

Tworzenie profili BAW

Jesteśmy an finiszu. Pozostaje nam utworzenie profili WebSphere.

Sprawdzenie poprawności konfiguracji

Przed uruchomieniem polecenia utworzenia profili warto sprawdzić, czy dane zawarte w pliku konfiguracyjnym są poprawne. Uruchomiona weryfikacja nie tylko waliduje poprawność składni, ale również sprawdza możliwość połączenia się do wymaganych baz danych. A zatem wydajemy polecenie:

cd ~/workspace/config
/opt/IBM/BAW/21.0.3/bin/BPMConfig.sh -validate bpmbaw21test-PC-SingleCluster-DB2.properties

Polecenie powinno zakończyć się komunikatem: Komenda BPMConfig.sh -validate bpmbaw21test-PC-SingleCluster-DB2.properties została wykonana pomyślnie.

Uruchomienie konfiguracji

Jeżeli z sukcesem przeszliśmy walidację, nic nie stoi na przeszkodzie by uruchomić tworzenie profili.

cd ~/workspace/config
/opt/IBM/BAW/21.0.3/bin/BPMConfig.sh -create -de bpmbaw21test-PC-SingleCluster-DB2.properties

Polecenie powinno zakończyć się komunikatem: Komenda BPMConfig.sh -create -de bpmbaw21test-PC-SingleCluster-DB2.properties została wykonana pomyślnie. Utworzenie wszystkich komponentów, schematów baz danych z tabelami i składowanymi procedurami, profilu wdrożeniowego oraz węzła z serwerem trwa przynajmniej 2h.

Skrypt startujący IBM® BAW

Aby ułatwić sobie pracę, możemy utworzyć skrypt startujący poszczególne komponenty produktu IBM® BAW. W tym celu, jako użytkownik bawadmin, tworzymy katalog /opt/IBM/BAW/bin i w nim plik start-stop-server.sh:

mkdir -p /opt/IBM/BAW/bin
cd /opt/IBM/BAW/bin
vim start-stop-server.sh

W pliku start-stop-server.sh wpisujemy:

#!/bin/bash
#set -x
echo "Service De1 Process Center - $1"

USER='bawadmin'
PASS='secret'
WEBSPHERE_PROFILES=/opt/IBM/BAW/profiles
ulimit -n 8192


start()
{
$WEBSPHERE_PROFILES/DmgrProfile/bin/startServer.sh dmgr
$WEBSPHERE_PROFILES/Node1Profile/bin/startNode.sh
$WEBSPHERE_PROFILES/Node1Profile/bin/startServer.sh SingleClusterMember1
}

stop()
{
$WEBSPHERE_PROFILES/Node1Profile/bin/stopServer.sh SingleClusterMember1 -username $USER -password $PASS
$WEBSPHERE_PROFILES/Node1Profile/bin/stopNode.sh -username $USER -password $PASS
$WEBSPHERE_PROFILES/DmgrProfile/bin/stopServer.sh dmgr -username $USER -password $PASS

}

startServer()
{
$WEBSPHERE_PROFILES/Node1Profile/bin/startServer.sh SingleClusterMember1
}

stopServer()
{
$WEBSPHERE_PROFILES/Node1Profile/bin/stopServer.sh SingleClusterMember1 -username $USER -password $PASS
}

case "$1" in
start)
start
;;
stop)
stop
;;
startServer)
startServer
;;
stopServer)
stopServer
;;
restart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart|startServer|stopServer}"
esac

Zmieniamy uprawnienia pliku start-stop-server.sh, tak aby skrypt mógł uruchomić tylko właściciel:

chmod u+x start-stop-server.sh

Teraz jako użytkownik bawadmin możemy uruchomić usługi za pomocą polecenia:

/opt/IBM/BAW/bin/start-stop-server.sh start

lub je zatrzymać za pomocą polecenia:

/opt/IBM/BAW/bin/start-stop-server.sh stop

Podsumowanie

Podsumowanie wykonanych przez nas operacji.

Adresy dostępowe zainstalowanych usług

Po zakończeniu sukcesem operacji instalacji i konfiguracji produkt IBM® BAW mamy dostępne następujące usługi (lista przygotowana dla serwera usług o nazwie bpmbaw21test.example.com, zamień tę nazwę na właściwą dla Ciebie):

  • WebSphere Integrated Solutions Console: dostęp jako użytkownik bawadmin
    https://bpmbaw21test.example.com:9043/ibm/console
  • Process Center (BPM): dostęp jako użytkownik bawadmin
    https://bpmbaw21test.example.com:9443/ProcessCenter
  • Process Portal (BPM): dostęp jako użytkownik bawadmin
    https://bpmbaw21test.example.com:9443/portal
  • Process Admin (BPM): dostęp jako użytkownik bawadmin
    https://bpmbaw21test.example.com:9443/ProcessAdmin
  • Process Designer (BPM): dostęp jako użytkownik bawadmin
    https://bpmbaw21test.example.com:9443/WebPD
  • Workflow Center (BAW): dostęp jako użytkownik bawadmin
    https://bpmbaw21test.example.com:9443/WorkflowCenter
  • Content Navigator (FileNet): dostęp jako użytkownik deadmin
    https://bpmbaw21test.example.com:9443/acce/

screen-2025-01-23-016

Drzewo katalogów zainstalowanych produktów

Poniżej przedstawiam drzewo najważniejszych katalogów zawierających komponenty produktu IBM® BAW, które uzyskaliśmy w wyniku przeprowadzenia niniejszego procesu instalacji. Wyróżniłem katalogi składające się na produkt IBM® BAW. Pozostałe foldery związane są z instalacją bazy danych DB2.

/
├── opt
| ├── .ibm
| └── IBM
| ├── BAW
| | ├── 21.0.3
| | ├── bawadmin
| | | └── var
| | | └── ibm
| | | └── InstallationManager
| | ├── bin
| | ├── IMShared
| | ├── InstallationManager
| | └── profiles
| | ├── DmgrProfile
| | └── Node1Profile
| ├── db2
| | ├── AppServer
| | ├── bin
| | ├── bpmadmin
| | ├── dasusr1
| | ├── db2fenc1
| | ├── db2inst1
| | | └── db2inst1
| | | └── NODE0000
| | ├── IMShared
| | └── InstallationManager
| └── install
└── var
└── ibm
└── InstallationManager

Standardowa lista portów nasłuchyjących

W poniższej tebeli umieszczono informacje o standardowych portach nasłuchująych wykorzystywanych przez usługi. Bardzo przydatne dane gdy potrzebujesz zrealizować konfigurację firewall'a. W tym przypadku najbardziej interesowac będa nas porty wykorzystywane przez usługi aplikacji o nazwach WC_defaulthost oraz WC_defaulthost_secure. Do celów administracyjnych potrzebne będą porty WC_adminhost_secure oraz SOAP_CONNECTOR_ADDRESS.

ProfilNazwa portuPort
DmgrWC_adminhost_secure9043
DmgrSOAP_CONNECTOR_ADDRESS8879
Node1BOOTSTRAP_ADDRESS9810
Node1SOAP_CONNECTOR_ADDRESS8880
Node1ORB_LISTENER_ADDRESS9101
Node1SAS_SSL_SERVERAUTH_LISTENER_ADDRESS9404
Node1CSIV2_SSL_SERVERAUTH_LISTENER_ADDRESS9405
Node1CSIV2_SSL_MUTUALAUTH_LISTENER_ADDRESS9406
Node1WC_adminhost9061
Node1WC_defaulthost9080
Node1DCS_UNICAST_ADDRESS9354
Node1WC_adminhost_secure9044
Node1WC_defaulthost_secure9443
Node1SIP_DEFAULTHOST5060
Node1SIP_DEFAULTHOST_SECURE5061
Node1OVERLAY_UDP_LISTENER_ADDRESS11007
Node1OVERLAY_TCP_LISTENER_ADDRESS11008
Node1IPC_CONNECTOR_ADDRESS9633
Node1SIB_ENDPOINT_ADDRESS7276
Node1SIB_ENDPOINT_SECURE_ADDRESS7286
Node1SIB_MQ_ENDPOINT_ADDRESS5558
Node1SIB_MQ_ENDPOINT_SECURE_ADDRESS5578

Kolejne kroki konfiguracyjne

W kolejnych krokach należałoby:

  1. Skonfigurować prawidłowe certyfikaty SSL dla protokołu HTTPS.
  2. Skonfigurowac uwierzytelnianie i autoryzację w oparciu o repozytorium użytkownikaów LDAP/AD.
  3. Skonfigurować wsługi Case Builder oraz Case Client związane z Case Management.

Ale o tym jak to zrobić opiszę w kolejnych artykułach.