Postupy instalace a konfigurace služeb souvisejících s Maxim CRM

Z K.A.P.
Skočit na navigaciSkočit na vyhledávání

Pro úspěšné provozování aplikace Maxim CRM na koncových zařízeních uživatelů je třeba zprovoznit a udržovat v chodu několik služeb, které většinou běží na firemních serverech. Na serveru běží několik úloh:

  1. Serverová aplikace pro přípravu synchronizačních dat - tato aplikace bere data ze skladového IS a připravuje je do podoby vhodné pro synchronizaci v mobilních zařízeních
  2. Webová aplikace pro konfiguraci programu - pomocí webového prohlížeče v PC nebo i třeba v telefonu pak můžete mimo jiné nastavit, kteří dealeři mají k datům přístup, omezit rozsah poskytovaných dat a povolit pro jednotlivá zařízení (notebooky, tablety, telefony), aby mohly načítat data ze serveru. Lze zde také nastavit mechanizmus generování dat (například, jak často mají být data generovaná a kdy se nemá výpočet provádět)
  3. Synchronizační webová služba - stará se o poskytování dat jednotlivým zařízením

Instalace a konfigurace se skládá z několika částí. Mezi ty hlavní patří následující

  • Instalace .NET Framework
  • Instalace databáze MS SQL a inicializace databází
  • Instalace služby Skeleton
  • Instalace webového serveru Skeleton do Internetové informační služby (IIS)
  • Konfigurace synchronizační služby
  • Instalace úloh pro generování dat
  • Konfigurace služby pro generování dat
  • Konfigurace přenosů objednávek a dalších dat do Sklad6
  • Konfigurace skladového programu


Instalace .NET Framework

Ověřte, že na serveru, kde bude provozována webová služba Skeleton pro konfiguraci přenosů a synchronizaci dat, je nainstalován Microsoft .NET Framework 4.5 nebo vyšší. Lze to ověřit například pomocí ovládacího panelu Programy a funkce. V případě, že máte nainstalovanou starší verzi, tak stáhněte a nainstalujte odpovídající novější verzi (např. 4.7) ze stránek Microsoft.


Instalace databáze MS SQL a inicializace databází

Na serveru musí být nainstalována databáze MS SQL. Je možné instalovat nejnovější verzi, která je dostupná pro operační systém MS Windows, na který chcete MS SQL nainstalovat. Minimální požadovaná verze je MS SQL 2012. Dle očekávané velikosti databází je možné nainstalovat verzi Express, která je zdarma, ale má omezení na maximální velikost zpracovávaných dat. Ke stažení aktuální verze MS SQL Express můžete použít tento odkaz:
[1] V rámci průvodce pro instalaci databáze stačí zvolit výchozí nastavení. Po instalaci databáze je možné přenést vzorové databáze, které používá webová služba:

Skeleton.Service Systémová databáze obsahující uživatele a uživatelské role služby Skeleton. Uživatele je možné spravovat výhradně pomocí funkcí služby Skeleton (např. přes webové rozhraní této služby)
Skeleton.EventLog Databáze obsahuje tabulku obsahující zaznamenané události a chyby. V konfiguraci služby Skeleton je možné určit rozsah sledovaných událostí (např. lze zaznamenávat jen chyby). Pokud jsou zaznamenávány všechny události, tak může databáze značně narůstat a je třeba zajistit její pravidelnou údržbu. Pokud se v databázi odstraní celá tabulka SYS_EventLogs i tabulka __MigrationHistory, tak se obě tabulky založí prázdné při nejbližším spuštění služby Skeleton.
Skeleton.Maxim Databáze definující uživatele systému Skeleton ve vztahu ke skladovým uživatelům. Je zde také možné definovat, ke kterým skladovým databázím mají uživatelé služby Skeleton přístup.
Maxim.Sync Databáze definuje, jaká data mají být synchronizována na jaká zařízení. Je zde možné definovat vaše zpracovávané firmy či střediska, koncové uživatele Maxim CRM, rozsah dat, které mají mít dostupná, na jakých zařízeních a s jakými oprávněními
Maxim.SyncGen Konfigurační databáze pro výpočtovou část systému, která převádí data ze skladové aplikace do synchronizační databáze (např. do Maxim.CRM.Data). Je zde možné definovat a spravovat plánování úloh pro výpočty a definovat omezující podmínky.
Maxim.CRM.Data Synchronizační databáze obsahující data skladové aplikace ve tvaru, který je vhodný na synchronizaci do mobilních zařízení. Synchronizační data nemusí být nutně v této jedné databázi, ale mohou být umístěna v různých umístěních dle definice synchronizace.

Pro správu databází (mimo Maxim.CRM.Data) použijte rozhraní Skeleton (předpokladem je to, že v systému Skeleton jsou nainstalovány odpovídající moduly).

Pro usnadnění instalace doporučujeme nainstalovat aplikaci Microsoft SQL Server Management Studio (MSSMS - instalace ze stránek Microsoft). Pomocí této aplikace lze pak provést přenos databází a provádět údržbu dat.

Přenos databází je možné provést tak, že na vzorovém serveru uvedené databáze zazálohujeme do souboru pomocí MSSMS - viz výše (Task/Backup … v nastavení vybrat Back up To Disk a pomocí Add přidat jméno souboru, do kterého má být provedena záloha) a na novém serveru data obnovíme ze zálohy (Databases/Restore Database.. v nastavení vybrat Device a pomocí Add přidat jméno souboru, ze kterého má být záloha obnovena; data mohou být umístěna kdekoli, doporučujeme ale provést v záložce Files realokaci do složky Skeleton.Runtime/Service/Data).

Skeloton EnentLog.PNG

Druhou variantou přenosu dat do nového prostředí je přímý přenos souborů s databází (soubory s příponou MDF a LDF). Můžete pomocí funkce „Take offline“ uvést databázi do odpojeného stavu, ve kterém je možné soubory MDF a LDF zkopírovat a poté opět pomocí „Take online“ převést zpět do provozního stavu. Je také možné databázi „odpojit“ od databázové služby MS SQL. To lze provést s využitím funkce Dettach nad danou databází. Po přenosu souborů je v původním serveru potřeba opět databázi připojit pomocí funkce Attach. Stejně tak se připojí i soubory v novém serveru.

Protože v rámci nové instalace nejsou potřebná žádná data v databázi Maxim.CRM.Data, tak pro přenosu databází je možné spustit SQL skript, který vymaže všechny záznamy ze všech tabulek v této databázi (poté doporučujeme spustit nad touto databází funkci Tasks/Shrink/Database). Skript lze spustit pomocí New Query v aplikaci MSSMS s následným stisknutím tlačítka pro spuštění dotazu.


Instalace služby Skeleton

Před samotným spuštěním služby Skeleton nakopírujte složku Skeleton.Runtime ze vzorového serveru na nově instalovaný server. Pokud jsou na vzorovém serveru databáze umístěny v některé z podsložek (např. Skeleton.Runtime\Service\Data), tak tuto složku nekopírujte, protože databáze již byly připraveny v předchozím kroku.

Před instalací upravte obsah souboru SkeletonSvc.exe.config. Úpravu lze provést například pomocí aplikace Notepad. V části <services> najděte <baseAddresses> a v této sekci upravte IP adresu, na které poběží webová služba. Http verze služby běží standardně na portu 7000 a zabezpečená https verze běží standardně na portu 7001. Na těchto portech běží služba, která zpracovává a poskytuje data (nejde o službu s vizuálním rozhraním). Dále je třeba v části <connectionStrings> upravit připojovací údaje k jednotlivým databázím. Jde hlavně o část „data source“, ve které je potřeba uvést jméno serveru a jméno instance SQL databáze (například localhost\SQLEXPRESS). V případě plné verze MS SQL serveru může být instance databáze instalována jako výchozí a nemusí jí pak být potřeba uvádět (uvádí se pak jen jméno serveru). Jednotlivé databáze nemusí být nutně instalovány na stejném serveru, kde poběží služba Skeleton. Lze například nastavit, aby databáze Maxim.Sync byla na vzdáleném centrálním serveru. V tom případě je ale třeba zajistit stabilní a rychlé připojení mezi serverem pro Skeleton a příslušným databázovým serverem.

Službu nainstalujete pomocí dávkového příkazu InstallSvc.cmd, kterou najdete ve složce Skeleton.Runtime\Service\_install. Tento příkaz je potřeba spustit jako správce. Po spuštění příkazu by se měla služba Skeleton.NET objevit mezi službami systému Windows. Následně je třeba vyvolat ovládací panel „Služby“ a zde nově nainstalovanou službu vyhledat. Ve vlastnostech služby určete uživatele, pod kterým uživatelem Windows má služba běžet (je třeba počítat s tím, že uživatel musí mít přístup jak k databázím, tak i ke skladovému programu; pokud je skladový program dostupný přes síťové připojení, tak uživatel musí mít odpovídající přístup i do sítě). Nastavení oprávnění pro uživatele pro databázi MS SQL se provádí v aplikaci MSSMS v nabídce Security/Logins.Zde můžete přidat zvoleného uživatele (buď některého z běžných uživatelů Windows nebo systémového uživatele, např. „Network Service“. V rámci vytvoření uživatele proveďte také přidělení všech výše popsaných databází v záložce User Mappings.

CRM Mappings.PNG

Pokud použijete uživatele, který není administrátorem systému, tak bude nutné přidělit přístupová práva pro porty, na kterých poběží http nebo https komunikace služby. Práva je třeba přidělit pro všechny porty, na kterých služba naslouchá (jsou uvedené v konfiguračním souboru služby v části <baseAddresses>). Můžete k tomu použít následující příkazy, které je třeba spustit s oprávněním správce:
netsh http add urlacl url=http://+:7000/SkeletonService user=\Everyone listen=yes
netsh http add urlacl url=https://+:7001/SkeletonService user=\Everyone listen=yes
Pro zabezpečenou komunikaci pomocí protokolu https budete potřebovat certifikát. Můžete použít certifikát vydaný nějakou důvěryhodnou certifikační autoritou nebo můžete také použít vlastní (veřejně nedůvěryhodný) certifikát. Vlastní certifikát můžete vygenerovat pomocí jednoduchého průvodce „Create Self-Signed Certificate“ ve správě IIS v části „Server Certificates“. Zde doporučujeme vytvořit osobní (Personal) certifikát.

CRM Certifikace.PNG

Pro instalaci certifikátu pro https rozhraní lze využít aplikaci netsh nebo starší aplikaci HttpConfig.exe pro .Net Framework 3.5.
Příkaz netsh je třeba spustit s oprávněním správce:
netsh http add sslcert ipport= ip_adresa:7001 certhash=551ef4a6dcee54be324a112233445566778899aa appid={1A2B3C4D-1234-44C0-9D7E-71DCA9C908C3}
Údaj Certhash vyplňte podle údaje Thumbprint (otisk/hash) z certifikátu. Údaj appid by měl obsahovat globální identifikátor aplikace ve formátu UUID, který si můžete vymyslet nebo nechat vygenerovat v některé aplikaci umožňující generování UUID/GUID.

Nezapomeňte také, že certifikáty mají omezenou časovou platnost a je třeba je v pravidelných intervalech aktualizovat.

Pokud použijete HttpConfig, tak je třeba provést následující kroky:

  • Přidat oprávnění (je potřeba pro službu systému, pro konzoli není potřeba)
URL: https://+:7001/SkeletonService nebo :https://ip_adresa:7001/SkeletonService
Skupina: Everyone
Oprávnění: Register
  • Přiřadit certifikát pro IP adresu a port
IP: ip_adresa
Port: 7001
GUID: New
Certifikát: Vybrat z úložiště

Poté je možné službu spustit a ověřit, že spuštění proběhlo. Jednoduchou kontrolou je otevření internetového prohlížeče a zadání adresy http://localhost:7000/SkeletonService (případně https://localhost:7001/SkeletonService – při použití vlastního certifikátu většina moderních prohlížečů neumožní pokračování na stránku, kde není důvěryhodně ověřitelný certifikát). Objeví se jednoduchá stránka popisující základní možnosti rozhraní webové služby. Pokud služba nenastartuje, tak je možné otestovat start služby pomocí aplikace SkeletonServiceConsole.exe. Ta má samostatný konfigurační soubor SkeletonServiceConsole.exe.config, který je potřeba nastavit stejně jako SkeletonSvc.exe.config (soubory mohou mít i stejný obsah). Po spuštění aplikace se objeví konzolové okno, ve kterém se ukazuje průběh spouštění a je tak možné lépe reagovat na zobrazenou chybu. Problémy se spouštěním služby jsou také většinou zobrazeny v událostech Windows v části Aplikace.

Aplikace na koncových zařízeních uživatelů (Maxim CRM na notebooku či tabletu) pak přistupuje k webové službě pomocí služby Skeleton na portu 7000 nebo 7001. V případě, že zařízení nebudou přímo přistupovat do vnitřní sítě (např. pomocí VPN), tak je nutné zajistit, aby alespoň port 7001 komunikující pomocí https, byl dostupný ve veřejné síti buď pomocí doménového jména nebo pomocí pevné IP adresy (např. https://skeleton.mojedomena.cz:7001/SkeletonService). Port 7000, kde může běžet nezabezpečená komunikace, nedoporučujeme zprovozňovat ve veřejné síti. Dále je třeba zajistit, aby se přístupová adresa pokud možno do budoucna neměnila, protože změna přístupových bodů pro existující instalace Maxim CRM může být komplikovaná.


Instalace webového serveru Skeleton do Internetové informační služby (IIS)

Prvním krokem instalace je doplnění chybějících komponent operačního systému Windows. Pomocí „Zapnout nebo vypnout funkce systému Windows“ nebo jiného nástroje pro správu rolí z dané verze Windows doplňte do systému případné chybějící komponenty ASP.NET či rozšiřitelnost rozhraní .NET (funkce mohou mít v nových verzích Windows mírně odlišné názvy nebo umístění v rámci konfiguračního stromu pro IIS)

CRM IIS.png
FceSystWin.PNG

Následně se spustí konzola pro správu IIS. V ní je třeba připravit „webovou aplikaci“.

  • Fondy aplikací/Přidat fond aplikací (Application Pool): Skeleton.NET - Maxim
FondApl.PNG
V dialogu může být místo .NET CLR na výběr .NET Framework. Jde o stejnou volbu.
  • Weby/Přidat web: Skeleton.NET - Maxim
Web.png
Vybrat správnou fyzickou cestu ( C:\Skeleton.Runtime\Web ) a nastavit port 8080 (popř. jiný port).
Měla by se objevit standardní přihlašovací obrazovka webového rozhraní Skeleton.
  • Pokud bude webová aplikace spravována pouze v rámci vnitřní sítě (dostupná např. pomocí VPN), tak není třeba tento webový server zpřístupňovat do veřejného internetu.



Zpět