Instalace a konfigurace ESO9 Web API
Systémové požadavky
Pro nasazení ESO9 Web API je potřeba splnit následující požadavky:
- .NET Framework 4.6.1 nebo vyšší
- IIS verze 10 nebo vyšší
- Doporučujeme nasazení na protokolu HTTPS (HTTP je také podporován, ale HTTPS je bezpečnější)
Nasazení na IIS
Webová aplikace Web API se nasazuje jako standardní webová aplikace na serveru IIS. Postupujte podle standardního procesu nasazení .NET aplikací na IIS.
Konfigurace - web.config
Po nasazení aplikace na IIS je potřeba nakonfigurovat soubor web.config. Hlavní konfigurační prvky jsou popsány níže.
Connection String
Hlavním konfigurační prvkem je připojovací řetězec k databázi ESO9. Nastavuje se v sekci <connectionStrings>:
<connectionStrings>
<add name="ConnStr"
connectionString="Provider=SQLOLEDB.1;Persist Security Info=True;Password=***;User ID=***;Initial Catalog=ESO9START;Data Source=SQL-SERVER\SQL2019" />
</connectionStrings>
Connection String pro asynchronní volání
Pokud chcete využívat metodu getDataAsync, je potřeba nastavit ConnStrSQLAsync. Důležité: Connection String musí obsahovat část Asynchronous Processing=true:
<add name="ConnStrSQLAsync"
connectionString="Persist Security Info=True;Password=***;User ID=***;Initial Catalog=ESO9START;Data Source=SQL-SERVER\SQL2017;Asynchronous Processing=true" />
Obecné nastavení (ESO9APIGeneral.My.MySettings)
Dalšími parametry jsou v sekci <ESO9APIGeneral.My.MySettings>:
DefContentType
Nastavuje defaultní content-type rozhraní (očekávaný typ komunikace):
<setting name="DefContentType" serializeAs="String">
<value>application/xml</value>
</setting>
Povolené hodnoty:
application/xml– XML formátapplication/json– JSON formát
Log
Aktivace vytváření logovacích souborů:
<setting name="log" serializeAs="String">
<value>1</value>
</setting>
0– Aplikace nevytváří logovací soubory1– Aplikace vytváří logovací soubory
LogPath
Cesta k adresáři s logovacími soubory:
<setting name="LogPath" serializeAs="String">
<value>C:\Temp\LogWebApi</value>
</setting>
Zajistěte, aby měl IIS dostatečná oprávnění pro zápis do tohoto adresáře.
IDLogUser
ID uživatele ESO9, pod kterým jsou logovány požadavky do logovací databáze:
<setting name="IDLogUser" serializeAs="String">
<value>76</value>
</setting>
CommandTimeout
Počet sekund, po který aplikace čeká na zpracování požadavku na straně databázového serveru:
<setting name="CommandTimeout" serializeAs="String">
<value>30</value>
</setting>
Pokud požadavek není do této doby zpracován, je jeho zpracování ukončeno.
CommandTimeoutAsync
Počet sekund pro asynchronní volání. Pokud požadavek není do této doby zpracován, API vrátí odpověď s ID běžícího zpracování:
<setting name="CommandTimeoutAsync" serializeAs="String">
<value>10</value>
</setting>
CheckReplayRequest
Aktivace kontroly opakovaných požadavků:
<setting name="CheckReplayRequest" serializeAs="String">
<value>0</value>
</setting>
0– Nekontroluje opakování stejných požadavků1– Kontroluje opakování dotazů
ReplayRequestTime
Počet sekund, během kterého nelze opakovat stejný dotaz (pokud je CheckReplayRequest = 1):
<setting name="ReplayRequestTime" serializeAs="String">
<value>30</value>
</setting>
RequestMaxSecValidity
Počet sekund platnosti vygenerovaného x-eso9-signature od jeho vygenerování:
<setting name="RequestMaxSecValidity" serializeAs="String">
<value>3600</value>
</setting>
Ověření instalace
Po nasazení a konfiguraci můžete ověřit správnost instalace voláním metody test:
http://server:port/eso9webapi/test
Tato metoda:
- Vypíše verzi Web API
- Zkontroluje připojení k databázi
- Ověří, zda je komunikace povolena pro předaný
x-api-key
Bezpečnost
- Vždy používejte HTTPS v produkčním prostředí
- Uchovávejte API klíče a hesla v bezpečí
- Omezujte přístup k API na autorizované uživatele
- Pravidelně kontrolujte logy aplikace