Přeskočit na hlavní obsah

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át
  • application/json – JSON formát

Log

Aktivace vytváření logovacích souborů:

<setting name="log" serializeAs="String">
<value>1</value>
</setting>
  • 0 – Aplikace nevytváří logovací soubory
  • 1 – 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