Szczegóły techniczne dotyczące instalacji
Serwer bazodanowy
W trakcie tworzenia nowego środowiska skrypty w sposób automatyczny zakładają użytkowników oraz bazy danych tworzonego środowiska. Wszystkie nazwy tworzone są przez konwencję. Dla środowiska o nazwie „MYAPP” i działającego na silniku bazodanowym MYDBENGINGE (SQLServer lub PostgreSQL) wykonywane są następujące operacje (podane ścieżki są ścieżkami względnymi dla katalogu zainstalowania obrazu archITekta):
- Tworzą użytkowników (gdy aplikacja działa na koncie systemowym):
- MYAPP_ADMIN,
- MYAPP_USER,
lub (gdy aplikacja łączy się z bazą danych za pomocą uwierzytelniania Windows – wyłącznie dla SQL Server)
- rejestrują wskazanego w parametrze
applicationCredentialAdminUserużytkownika jako użytkownika bazy danych traktując go jako MYAPP_USER. - W przypadku podania parametru
applicationCredentialAdminUsertworzą tego użytkownika właścicielem baz danych. W przypadku, gdy parametru nie podano, właścicielem baz danych jest użytkownik uruchamiający skrypt PowerShell.
Skrypt bazodanowy:
.\Database\ScriptsMASTER\MASTER\_RUNTIME\MYDBENGINGE\!INITIALIZATION\ 001\_CreateLoginInMaster.sql
- Tworzą bazy danych środowiska. Jeśli bazy danych o tych nazwach istniały w trakcie tworzenia nowego środowiska, są one nadpisywane. Nazwy tworzonych baz:
- MYAPP_CONFIG,
- MYAPP_DATA,
- MYAPP_SCHEDULER,
- MYAPP_VIP,
- MYAPP_VERSION_SERVER*
* - baza tworzona wyłącznie w przypadku wybrania bazodanowego serwera wersji.
Skrypty bazodanowe:
.\Database\ScriptsMASTER\MASTER\_RUNTIME\MYDBENGINGE\!INITIALIZATION\\*CreateDatabase\*.sql
Skrypt bazodanowy dla bazy VERSION_SERVER (wyłącznie dla SQL Server):
\Database\ScriptsMASTER\MASTER_PROJECT\MYDBENGINGE\!INITIALIZATION\*CreateDatabase*.sql
- Nadają uprawnienia użytkownikom MYAPP_ADMIN, MYAPP_USER (lub wskazanym użytkownikom domenowym) w poszczególnych bazach danych, oraz schem baz danych oraz tworzą tabelę
_DATABASE_UPDATE_JOURNAL, w której będą odnotowywane uruchomienia wszystkich skryptów aplikacji na danej bazie danych.
Skrypty bazodanowe (w miejsce [nazwa bazy] należy wstawić odpowiednią bazę danych):
.\Database\ScriptsMASTER\[nazwa bazy]\MYDBENGINGE\
Powyższe skrypty uruchamiane są na uprawnieniach super-administratora serwera bazy danych.
Po utworzeniu:
- użytkowników dedykowanych do danej aplikacji (mających dostęp wyłącznie do baz danych tej aplikacji),
- baz danych dedykowanej aplikacji
- nadaniu użytkownikom wymaganych uprawnień,
konto super-administratora serwera bazodanowego nie jest wykorzystywane w ramach uruchamiania skryptów aktualizacyjnych aplikacji. Wszystkie kolejne skrypty modyfikujące bazę danych uruchamiane są przez użytkownika „MYAPP_ADMIN” i bazują na nadanych mu uprawnieniach.
Dotyczy to jedynie przypadku, gdy aplikacja korzysta z użytkowników lokalnych bazy danych. W przypadku wykorzystywania użytkowników domenowych skrypty aktualizacyjne aplikacji uruchamiane są z uprawnieniami użytkownika uruchamiającego skrypt PowerShell.
Skrypty umieszczone są w katalogu:
.\Database\Scripts\[nazwa bazy]\MYDBENGINGE\
Serwer aplikacyjny
Instalacja instaluje wszystkie komponenty środowiska we wskazanym katalogu runtime (parametr runtimeFolder/app w pliku default.runtime.json).
Skrypty instalacyjne instalując oprogramowanie wykonują następujące działania (funkcja AppInstall w pliku .\InstallOnPremises.ps1):
- Włączają wymagane feature windows (funkcja
Install-ARCHWindowsRequiredFeaturesw pliku.\InstallTools\DeploymentTools.psm1). - W przypadku, gdy aplikacja działa na użytkowniku domenowym nadają uprawnienia używania portów (netsh http add urlacl) używanych przez usługi (80 lub 443 lub podany specyficzny port
appServerCustomWcfPortw plikudefault.runtime.json). - W przypadku, gdy aplikacja działa na użytkowniku domenowym nadają uprawnienia działania usług na koncie tego użytkownika (funkcja
Grant-VSOFTLogOnAsServicew pliku.\InstallTools\InstallTools.psm1). - W przypadku podania certyfikatu dla serwera aplikacyjnego przypisują ten certyfikat (netsh http add sslcert) do portu, na którym działa aplikacja dla wszystkich IP (0.0.0.0); Dodatkowo, w przypadku gdy aplikacja działa na użytkowniku domenowym nadawane mu są uprawnienia dostępu do klucza prywatnego wskazanego certyfikatu.
- Dodają reguły firewall umożliwiające komunikację na portach, na których działają usługi aplikacji oraz portu, na którym działa komunikacja po ZMQ.
- Instalują serwisy aplikacji. Dla środowiska o nazwie „MYAPP” nazwy serwisów są następujące (w nawiasie nazwa wyświetlana):
- VSoft_MYAPP_Service (MYAPP: VSoft Service)
- VSoft_MYAPP_Workflow (MYAPP: VSoft Workflow)
- VSoft_MYAPP_Transformation (MYAPP: VSoft Transformation)
- VSoft_MYAPP_Scheduler (MYAPP: VSoft Scheduler)
- VSoft_MYAPP_Document (MYAPP: VSoft Document)
Serwer WWW
Instalacja instaluje wszystkie komponenty środowiska we wskazanym katalogu runtime (parametr runtimeFolder/web w pliku default.runtime.json).
Skrypty instalacyjne instalując oprogramowanie wykonują następujące działania (funkcja AppInstall w pliku .\InstallOnPremises.ps1):
- Włączają wymagane feature windows (funkcja
Install-ARCHWindowsRequiredFeaturesw pliku.\InstallTools\DeploymentTools.psm1). - W przypadku podania certyfikatu serwera podłączają go pod podany WebSite.
- W przypadku instalacji aplikacji wykorzystującej protokół SSL wykonywane jest włączenie TLS 1.2 (funkcja
Update-VSOFTIISConfigurationForTLSw pliku.\InstallTools\InstallTools.psm1). - Instalują aplikacje WWW dla każdej tworząc osobną AppPool. Dla środowiska o nazwie „MYAPP” nazwy puli są następujące (w nawiasie nazwy aplikacji WWW):
- MYAPP_AppPool (aplikacja MYAPP)
- MYAPP_SchedulerPool (aplikacja MYAPP-Scheduler)
- MYAPP_VipPool (aplikacja MYAPP-VIP)
Klaster failover
Skrypty instalacyjne instalując oprogramowanie wykonują następujące działania (funkcja FailoverClusterResourcesInstallOrUpdate w pliku .\InstallOnPremises.ps1):
- Dodają serwisy do wskazanej grupy klastrowej (funkcja
InstallOrUpdate-VSOFTClusterResourcew pliku.\InstallOnPremises.ps1). Dla środowiska o nazwie „MYAPP” nazwy tworzonych zasobów klastra są następujące:
- VSoft_MYAPP_ServiceClusterResource
- VSoft_MYAPP_WorkflowClusterResource
- VSoft_MYAPP_TransformationClusterResource
- VSoft_MYAPP_SchedulerClusterResource
- VSoft_MYAPP_DocumentClusterResource
- Ustawiają im właściwość
RestartActionnaClusterResourceRestartNoNotify(wyłączają opcję „if restart is unsuccesfull, fail fail over all resources in this Role”).