Instalace webového rozhraní
Obsah
O aplikaci
Informační systém enTeam zajišťuje řízení a správu firemních dokumentů, komunikaci uvnitř pracovního týmu a flexibilní automatizaci firemních procesů.
Pro zprovoznění webového rozhraní informačního systému enTeam je třeba provést tyto kroky:
- instalaci a nastavení webového API (aplikační rozhraní),
- instalaci a nastavení webového GUI (grafické uživatelské rozhraní),
- přesměrování komunikace z protokolu http na HTTPS a
- zpřístupnění webového API na protokolu HTTPS.
Popis provedení každého z těchto kroků je uveden v dalších kapitolách.
Instalační soubory webového rozhraní jsou součástí instalačního ZIP archivu. V návodu jsou uvedeny relativní cesty k souborům a adresářům (vždy začínají adresářem enTeam.WebApi nebo enTeam.WebGui, tj. jedním z adresářů umístěných na první úrovni vnoření v uvedeném archivu).
Pro přehlednost jsou názvy souborů a adresářů v celém postupu instalace označeny technickým písmem. Názvy adresářů a souborů obsažené v uvedeném ZIP archivu jsou navíc zvýrazněny červenou barvou.
V tomto dokumentu jsou uvedeny příklady částí souborů. Takové texty jsou označeny modrou barvou.
Předpoklady instalace webového rozhraní
Webové rozhraní informačního systému enTeam využívá k připojení do databáze dvou způsobů. Prvním z nich je přímé připojení do databáze pomocí databázového klienta. Druhým způsobem je připojení pomocí OLE rozhraní, které je součástí standardního desktopového klienta aplikace enTeam.
Server, kde bude webové rozhraní provozováno, proto musí mít:
- Funkční enTeam verze 6.0.0.3 nebo novější – serverovou (hlavní) nebo klientskou instalaci
- Funkční webový server Internet Information Services (IIS) verze 10 nebo novější nainstalovaný na serveru, kde je zprovozněn IS enTeam
Instalace webového API
Webové API je kolekce webových služeb poskytující přístup k datům modulů aplikace enTeam.
Aktuálně podporované DBMS jsou Firebird, Microsoft SQL Server a Oracle. Požadovanou strukturu databáze je nutné vytvořit dodanými SQL skripty (viz #Postup instalace). Strukturu lze vytvořit:
- Individuálně, tj. samostatná databáze koexistující vedle stávající databáze enTeam
- Přidat do aktuální databáze enTeam
Na vytvořenou strukturu databáze je pak potřeba nasměrovat aplikaci (viz #Soubor appsettings.json)
Předpoklady
- Funkční ASP.NET Core Runtime 2.1 (např. 2.1.19 nebo novější)
- https://dotnet.microsoft.com/download/dotnet-core/2.1
- Stáhnout a nainstalovat „Hosting Bundle“
- Existence databázového uživatele (typicky teambridge), pod kterým se bude webové API přihlašovat do databáze. V případě databázového serveru Firebird musí existovat uživatel s metodou autentizace SRP (viz #Pod uživatelem se nelze připojit z enTeam.WebApi do DB Firebird 3.0+. Spojení z ostatních aplikací enTeam pod stejným uživatelem funguje).
Postup instalace
Instalace sestává z následujících kroků:
- Založit databázové struktury pro webovou část enTeam
Poznámka: Uvedený postup popisuje vytvoření databázových struktur pro webovou část enTeam ve stávající databázi informačního systému enTeam. Struktury lze založit i v samostatné databázi vytvořené za tímto účelem.- Otevřete aplikaci Příkazová řádka (cmd.exe)
- Spusťte SQL skripty
- Máte-li databázový server Firebird:
V Příkazové řádce vykonejte následující příkazy:
<FirebirdAdresar>\isql -user teambridge -password <Heslo> <Databaze> -i <ZipAdresar>\enTeam.WebApi\sql\Firebird\waFirebird_001.sql
<FirebirdAdresar>\isql -user teambridge -password <Heslo> <Databaze> -i <ZipAdresar>\enTeam.WebApi\sql\Firebird\waFirebird_002.sql
V příkazu nahraďte:- <FirebirdAdresar> za cestu k adresáři s instalací Firebird (např. c:\Program Files (x86)\Firebird),
- <Heslo> za heslo uživatele teambridge,
- <Databaze> za cestu k databázi informačního systému enTeam,
- <ZipAdresar> za cestu k adresáři s extrahovaným ZIP archivem s instalačními soubory webového rozhraní enTeam
- Máte-li databázový server Microsoft SQL Server:
V Příkazové řádce vykonejte následující příkazy:
sqlcmd -U teambridge -d <Databaze> -i <ZipAdresar>\enTeam.WebApi\sql\SqlServer\waSqlServer_001.sql
sqlcmd -U teambridge -d <Databaze> -i <ZipAdresar>\enTeam.WebApi\sql\SqlServer\waSqlServer_002.sql
V příkazu nahraďte:- <Databaze> za název databáze informačního systému enTeam,
- <ZipAdresar> za cestu k adresáři s extrahovaným ZIP archivem s instalačními soubory webového rozhraní enTeam
Cannot find the user 'teambridge', because it does not exist or you do not have permission.
Varování se zobrazí v případě, že nedošlo k vykonání příkazů GRANT. To nastane v případě, že databázový uživatel teambridge již je vlastníkem vytvořených tabulek. Varování lze proto ignorovat. - Máte-li databázový server Oracle:
V Příkazové řádce vykonejte následující příkaz: exit | sqlplus.exe teambridge/<Heslo>@//<Server>/<Databaze> @<ZipAdresar>\enTeam.WebApi\sql\Oracle\waOracle_002.sql
V příkazu nahraďte- <Heslo> za heslo uživatele teambridge,
- <Server> IP nebo hostname databázového serveru Oracle,
- <Databaze> za název databáze informačního systému enTeam,
- <ZipAdresar> za cestu k adresáři s extrahovaným ZIP archivem s instalačními soubory webového rozhraní enTeam
- Máte-li databázový server Firebird:
- Vytvořit adresář enTeam.WebApi v kořenovém adresáři webového serveru (např. c:\inetpub\wwwroot)
- Zkopírovat obsah adresáře enTeam.WebApi\bin do adresáře enTeam.WebApi, vytvořeného v předchozím kroku
- V IIS Manageru přidat nový aplikační pool pro webové API (IIS Manager > Server > Application Pools > Add Application Pool…)
- V rozšířených nastaveních aplikačního poolu musí být nastaveno
- .NET CLR Version = No Managed Code
- Enable 32-Bit Applications = true
- Identity = Local System
- V IIS Manageru vytvořit novou webovou stránku pro webové API (pojmenovanou např. enTeam.WebApi) a přiřadit jí vlastní port (např. 8088).
Poznámka: Pokud je uvedený port na serveru již obsazen jinou aplikací, použijte libovolný jiný. Zvolený port je ale nutné reflektovat ve všech krocích tohoto postupu.
Nastavení webového API
Soubor appsettings.json
V aplikaci webového API nastavte soubor appsettings.json dle následujícího postupu.
- Pokud v adresáři aplikace webového API dosud takový soubor nemáte, pak jej vytvořte zkopírováním souboru appsettings.Template.json
Poznámka: Klíče (ve struktuře JSON souboru), které začínají znakem (nebo více znaky) #, jsou považovány za zakomentované a slouží pouze jako ilustrace možného nastavení. Po nastavení hodnot v souboru appsettings.json, je možné zakomentované řádky zcela odstranit (pozor ale na případné porušení syntaxe JSON, např. čárky mezi vlastnostmi) - Správně nastavte připojení k databázi webové části aplikace enTeam (viz #Postup instalace), tj. klíč WebApiDb a jeho vlastnosti Provider a ConnectionString. Ostatní vlastnosti klíče WebApiDb deaktivujte zakomentováním (nebo odstraňte) dle předchozí poznámky.
- Dále nastavte přístup k původní databázi (popř. databázím) aplikace enTeam (tj. obdoba nastavení databáze ze sekcí [M/USER], [M/TeamBridge] atd., ve standardním INI produktu enTeam). Jde o klíče DataDictionaryDb, ScriptExDb, UserDb a WorkflowManagerDb a jejich vlastnosti Provider a ConnectionString
Poznámka: V případě databázového serveru Firebird obsahuje vlastnost ConnectionString plnou cestu k souboru databáze (např. C:\enTeam\Files\Data\enTeam.fdb). Aby byla aplikace webového API schopna vlastnost ConnectionString přečíst, je třeba zpětná lomítka v cestě k souboru „zdvojit“. Cesta k databázi pak bude v hodnotě vlastnosti ConnectionString např. tato:
"ConnectionString":"Database=SERVER:C:\\enTeam\\Files\\Data\\enTeam.fdb;…"
INI soubor webového API
Webové API pro svůj běh potřebuje pozměněné INI oproti desktopu. Vytvořte kopii souboru serie_m.ini, ke které bude přistupovat pouze webové API (např. <enTeamAdresar>\Ini\serie_m.WebApi.ini) a přidejte do něj následující obsah
[M/TeamBridge]
ServerEngine=True
Soubor web.config
Ověření funkčnosti
Způsob provozování webového API
Způsob provozování webového API
Instalace webového GUI
Předpoklady
Postup instalace v IIS – webová stránka
Postup instalace v IIS – webová stránka
Postup instalace v IIS – podstránka jiné webové stránky
Postup instalace v IIS – podstránka jiné webové stránky
Nastavení webového GUI
Ověření funkčnosti
URL Rewrite – Přesměrování na https
URL Rewrite – Přesměrování na https
Předpoklady
Postup
URL Rewrite – Zpřístupnění webového API
URL Rewrite – Zpřístupnění webového API