H & BG cez externý Tomcat - postup inštalácie
postup spracoval MišoŠ
Obsah
Odporúčania
- je odporúčané používať vždy aktuálne verzie systémov HRS
- nainštalovaný samostatný Tomcat 7 (starších verzií je vhodné sa radšej zbaviť)
- k danému Tomcat-u mať nainštalovanú odpovedajúcu verziu Java
- porty, ktoré sú nastavené v Tomcat-e by mali byt pridané vo výnimkách vo firewalle OS prípadne inom smart security SW, inak môže nastať problém pri pripájaní na daný Tomcat
- je potrebné mať pripravené súbory HorecWS.war a BlueWS.war vždy z verzií systémov HRS, ktoré sú aktuálne nasadené u zákazníka. Tieto súbory nájdete v ..\DatalockHotel\SystemHorec\DlAppServer\webapps prípadne ..\DatalockHotel\SystemAsseco BLUEGASTRO\DlAppServer\webapps. Je potrebné uvedomiť si, že pri každom update je nutné .war súbory zobrať z najnovších verzií.
Inštalácia
- verziu Tomcat a Javy stiahneme a nainštalujeme z ftp://produkty/hotelove_systemy/servisnestrediska/Utilities/tomcat
- pri inštalácii Tomcat-u je nutné zadanie portov, na ktorom bude Tomcat poskytovať služby. Je dôležité, aby tieto porty nekolidovali s iným SW, prípadne aby už neboli obsadené inou aplikáciou. Pri inštalácii je teda nutné si overiť, či už nie je nainštalovaný iný Tomcat, prípadne či systémy HRS nemajú aktivovaný vnútorný Tomcat. Ak áno, skontrolujeme, aké je nastavenie portov v príslušných server.xml súboroch.
- ak nastane situácia, že sú porty obsadené, je nutná zmena predvolených a to hlavne SHUTDOWN port a HTTP port, na ktorom bude nový Tomcat fungovať.
- v prípade, že budú nastavené porty, ktoré už využíva iná aplikácia, nebude Tomcat korektne pracovať a v logoch catalina.yyyy-MM-dd.log uvidíme chybové hlásenia typu:
INFO: Server startup in 6511 ms, mar 20, 2014 2:09:09 PM org.apache.catalina.core.StandardServer await, SEVERE: StandardServer.await: create[localhost:8005]: java.net.BindException: Address already in use: JVM_Bind
alebo
INFO: Initializing ProtocolHandler ["http-bio-8085"], mar 20, 2014 2:09:02 PM, org.apache.coyote.AbstractProtocol init SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-8085"] java.net.BindException: Address already in use: JVM_Bind <null>:8085“
- po úspešnej inštalácii Tomcat pokračujeme nakopírovaním súborov HorecWS.war a BlueWS.war do ..\Tomcat 7.0\webapps
- pre správnu funkčnosť je nevyhnutné nakopírovať aj súbor settings.xml z Horca ..\DatalockHotel\SystemHorec01\DlAppServer do koreňového adresára Tomcat-u ..\DatalockHotel\Tomcat 7.0
- pre BlueWS.war je nutné skontrolovať správnosť nastavenia pripojenia na aplikačný server Blue Gastro. Nájdeme súbor BlueWSsettings.xml v ..\DatalockHotel\Tomcat 7.0\webapps\BlueWS a prekontrolujeme riadky nižšie:
<server>localhost</server> <port>5521</port>
- tento adresár, ktorý obsahuje aj BlueWSsettings.xml prekopírujeme aj do ...\Tomcat 7.0\conf - to pomáha, keď sa to nechce rozkomunikovať.
- ak je potrebné tieto údaje zmeniť, potom je zmenu nutné vykonať priamo vo .war súbore, aby pri najbližšom deploy nedošlo ku prepísaniu.
- spustíme servis Apache Tomcat zo služieb operačného systému
- skontrolujeme všetky logy Tomcat-u, či sa náhodou nevyskytlo chybové hlásenie, ktoré by malo vplyv na ďalšiu funkčnosť.
- po štarte Tomcat automaticky vykoná deploy súborov BlueWS.war a HorecWS.war a vytvorí príslušné priečinky v ..\DatalockHotel\Tomcat 7.0\webapps
Konfigurácia Asseco BLUEGASTRO:
Je to zatiaľ len expres verzia konfigurácie - časom rozšírime.
- Servis –> Špeciál –> externé systémy –> Horec
- Ins(nový)
- vyplníme polia:
- názov hotela
- lokálna prevádzka
- zaškrtneme checkbox povolený
- zvolíme spôsob pripojenia Webservices a postupne vyplníme všetky potrebné polia.
- ID externého systému v Hex alebo Dec tvare je možné skopírovať priamo z Horca cez menu Servis –> Špeciál –> Technické informácie –> Inštalačné číslo. App názov ostáva v tomto prípade HorecWS, pole host a port nastavíme podľa toho, kde je daný Tomcat nainštalovaný a na akom HTTP porte beží. Pre overenie správneho nastavenia host a port použijeme tlačidlo Test. POZOR - test nevie overiť inštalačné číslo.
Konfigurácia Horec:
Je to zatiaľ len expres verzia konfigurácie - časom rozšírime.
- Servis –> Špeciálne služby –> Externé systémy –> Gastro
- Ins (nový)
- vyplníme pole názov a povolíme potrebné checkboxy.
- predvolený kód meny sa v prípade SVK nastavuje na EUR, do poľa Externé ID sa zadáva inštalačné čislo v hex alebo dec tvare zo systému Blue Gastro, ktoré je možné zistiť a skopírovať cez Servis – Špeciál – Technické informácie – Inštalačné číslo.
- je nutné vybrať užívateľa pre zápis, inak nebude môcť systém Asseco BLUEGASTRO zapisovať predaje do systému Horec. Vyberáme z číselníka používateľov v Horci takého používateľa, ktorý má oprávnenia na prácu s účtami.
- povolíme typ komunikácie web services a nastavíme host a port podľa toho, kde je nainštalovaný Tomcat s príslušným portom. Funkčnosť pripojenia na Tomcat overíme pomocou tlačidla Test. Test nevie overiť správnosť inštalačného čísla.
Overenie korektného prepojenia systémov.
Správnu funkčnosť prepojenia systémov je možné overiť veľmi jednoducho. V systéme Blue Gastro cez menu Hostia a Služby –> Číselníky –> Ubytovaní hostia. Po stlačení tlačidla Import zmeny systém vykoná dopyt na zozname ubytovaných hostí. Ak tento import prebehne úspešne, mal by byť zobrazený zoznam aktuálne ubytovaných hostí z horca.
Za systém Horec je možné funkčnosť overiť napr. pomocou opravy skladovej karty (ak je má Horec a BG povolenú skladovú komunikáciu). Cez menu Servis –> Číselníky –>Služby –> Skladové tovary tlačidlo Oprava otvorte editáciu príslušnej karty a na záložke Externé systémy v riadku Gastro 2x klik na identifikátor prípadne tlačidlo Systém by mi mal zobraziť číselník tovarov z BlueGastra - ak sa tento zoznam zobrazil, prepojenie je správne a funkčné.
Chybové hlásenia:
- v prípade, že nie je správne alebo vôbec nakopírovaný súbor settings.xml sa môže objaviť chybové hlásenie v logu appservera Asseco BLUEGASTRO:
[Asseco BLUEGASTRO-QuartzScheduler_Worker-2] [HorecSynchronizaciaHostiJob] ERROR - HorecSynchronizaciaHostiJob execution FAILED !!! sk.datalock.exceptions.CriticalException: Nastala chyba pri spracovaní na vzdialenom systéme
a ďalej
Caused by: java.lang.IllegalStateException: Exception durin calling method : sk.datalock.horec.main.hostia.UbytovaniHostiaHelper.sendVersion(1037899131,276085989,5) - C:\Program Files(x86)\Apache Software Foundation\Tomcat 7.0\settings.xml (The system cannot find the file specified)
- v prípade, že je Tomcat vypnutý alebo nejakým spôsobom nedostupný resp. blokovaný firewallom na danej adrese a porte, ako je nastavený v systéme Horec alebo Asseco BLUEGASTRO:
[Connection 0] [ZakaznikHorec] ERROR - Nepodarilo sa stiahnuť hostí z externého systému Horec. sk.datalock.exceptions.CriticalException: Nastala chyba pri spracovaní na vzdialenom systéme.
a ďalej
Caused by: java.net.ConnectException: Connection refused: connect
- v prípade, že je nastavené nesprávne ID externého systému sa objaví hlásenie typu:
[Connection 0] [ZakaznikHorec] ERROR - Nepodarilo sa stiahnuť hostí z externého systému Horec. sk.datalock.exceptions.CriticalException: Nastala chyba pri spracovaní na vzdialenom systéme. java.rmi.RemoteException: Volanie nie je určené pre systém s ID='2760859891'.; nested exception is: sk.datalock.appClient.rmc.RmcRemoteException: Volanie nie je určené pre systém s ID='2760859891'.“