Manorivile-Gateway diegimas

Manorivile-Gateway instaliuojamas kompiuteryje, kuris turi prieigą prie Rivile GAMA duomenų bazės. Aplikacija diegiama kaip Window Service paketas.

Prieš pradedant

Prieš diegiant REST API v2 ryšio kanalą turite užsakyti REST API paslaugą ir gauti prisijungimo kodus, kurie bus reikalingi tolimesniems nustatymams. Sukuriant pirmąją jungtį reikalinga pateikti informaciją:

  • Rivile GAMA programos valdytojo įmonės pavadinimas, įmonės kodas, e-mail

  • Rivile GAMA įmonės identifikacijos nr (pvz: 01)

  • Rivile GAMA įmonės bazinės valiutos kodas (pvz: EUR)

  • Rivile GAMA duomenų bazės vardas (pvz: NAU_IMONE)

  • DB: MSSQL ar SYBASE (pvz: MSSQL)

  • Rivile GAMA WEB adresas (pvz: 55245597)

    image-20200220163645418

    image-20200220163852088

Diegimo instrukcija

1. Sudiegiamas komunikatorius (gateway)

1.1. Parsisiunčiami naujausia versija iš rivile FTP.

Priklausomai nuo operacinės sistemos 32bit/64bit:

ftp://www.rivile.lt/programos/Install/ManorivileGateway/

1.2. Išpakuojami failai į C:/Manorivile-Gateway katalogą

1.3. Sukonfigūruojamas prisijungimas prie ryšio kanalo gateway.manorivile.lt

išpakuotame kataloge pakoreguojamas failas global.properties su teksto redaktoriumi (pvz. Notepad). Įterpiami nustatymai gauti užsakant paslaugą, pvz.:

broker.username=*******
broker.password=**************************************

2. Nustatomas prisijungimas prie DB

Išpakuotame kataloge kiekvienai DB sukuriamas atskiras dbxxx.properties failas su prisijungimo informacija, kur dbxxx - atitinkamos SQL duomenų bazės vardas (pavyzdiniai nustatymus galima rasti gama_example.properties faile).

Svarbu: failo pavadinimas turi būtinai sutapti su duomenų bazės vardu!

Jeigu prijungiama daugiau nei viena duomenų bazių - atitinkamai sukuriami dbxxx.properties konfigūraciniai failai su atitinkama prisijungimo prie DB informacija. Kiekviena DB turi būti užregistuota MANORIVILE sistemoje.

Priklausomai kokį DB serverio MS SQL ar SYBASE (SQL Anywhere) nustatymai detalizuoti žemiau:

2.1. Prisijungimas prie MS SQL DB

Sukurtame faile dbxxx.properties su teksto redaktoriumi (pvz. Notepad) nustatome prisijungimus:

  • Jeigu jungiamasi prie DB "Windows authentification".

    db.url=jdbc:sqlserver://localhost:1433;databaseName=dbxxx;integratedSecurity=true;applicationName=ManoRivile

Svarbu atkreipti dėmesį, kad jungiantis šiuo metodu SQL Serveryje turi būti suteiktos teisės "ManoRivile-Gateway" servisui, kokiu vartotoju jis paleistas. Pagal nutylėjimą startuojamas kaip "Local system account", tuomet SQL'e turi būti suteiktos teisės "NT AUTHORITY\SYSTEM" vartotojui.

  • Jeigu jungiamasi vartotoju ir slaptažodžiu

    db.url=jdbc:sqlserver://localhost:1433;databaseName=dbxxx;applicationName=ManoRivile
    db.username = sukurto vartotojo vardas
    db.password = sukurto vartotojo slaptažodis
  • Jeigu reikalinga nurodyti SQL serverio instance, nutatymai atrodytų taip:

    db.url=jdbc:sqlserver://server1;instanceName=instance1;integratedSecurity=true;databaseName=dbxxx;applicationName=ManoRivile
MS SQL Server TCP/IP nustatymai

Įsitikinkite, kad MS SQL server yra sukonfigūruotas priimti užklausas per TCP/IP protokolą:

  1. Sql Server Configuration Manager reikia įjungti TCP/IP protokolą:

    img

    Ir nustatyti TCP portą 1433:

    img

MS SQL Server vartotojo teisių nustatymai

SQL serveryje turi būti įjungta SQL autentifikacija (esant poreikiui jungtis vartotoju vardu):

img

Sukurtas arba esamas vartotojas turi būti su db owner teisėmis prie norimos duomenų bazės:

img

img

2.2. Prisijungimas prie SYBASE (SQL Anywhere)

Sukurtame faile dbxxx.properties su teksto redaktoriumi (pvz. Notepad) nustatome prisijungimus:

db.type=sybase
db.host=localhost
db.port=2638
db.db=dbxxx
db.username=username
db.password=password
db.connectionInitSQL=
  • Jeigu naudojama SQL Anywhere versija ne OEM eilutę db.connectionInitSQL= reikia ištrinti.

3. Paleidimas

Komunikatorius paleidžiamas kaip Windows Servisas

Paleidžiamas install.bat failas administratoriaus teisėmis "run as administrator":

image-20200210140256494

Tuomet susikuria ir startuojasi naujas Windows Servisas "ManoRivile-Gateway":

image-20200210140505875

image-20200210140539457

4. Pasibandymas

Pasibandyti ar sistema veikia galite tiesiog iškviesti API užklausą per Postman ar kitą aplikaciją (reikalingas API raktas). pvz curl užklausa:

curl --location --request GET 'https://api.manorivile.lt/client/ping' \
--header 'ApiKey: **************************************'

rezultatas:

{
    "message":"Sėkmingai prisijungta",
    "connectedSuccessfully":true
}

Atnaujinimo instrukcija

Atnaujinant Manorivile-Gateway komunikatorių, tuo metu, kai bus sustabdytas servisas API neveiks. Atnaujinimo instrukcija iš keleto žingsnių:

  1. Parsisiunčiama nauja versija iš FTP (ftp://www.rivile.lt/programos/Install/ManorivileGateway/)

  2. Išjungiamas esamas servisas (remove.bat)

  3. Ištrinami visi failai, išskyrus *.properties failus:

    image-20200519143639899

  4. Perkeliami nauji failai iš parsiųsto archyvo (išskyrus *.properties failus)
  5. Startuojamas servisas - paleidžiamas install.bat failas (run as administrator teisėmis)

Išdiegimo instrukcija

Norint išdiegti Manorivile-Gateway komunikatorių tereikia atlikti keletą žingsnių

  1. Išjungiamas esamas servisas (remove.bat)
  2. Ištrinami Manorivile-Gateway katalogas arba failai šiame kataloge.

Pasitaikančios klaidos ir sprendimai

Manorivile-Gateway esant sėkingam prisijungimui ar klaidai yra galima pasitikrinti serviso būseną /log/manorivile-gateway.log faile

Nr Klaida Problema / galimas sprendimas
1 nėra klaidos, bet neveikia API a) Galimai blogai užvadintas duomenų bazės nustatymų failas dbxxx.properties - dbxxx turi būtinai sutapti su duomenų bazės pavadinimu
b) Kai sudiegiate Manorivile-Gateway palaukite 5min, kol sistema sinchronizuosis
c) API raktas neteisingas ar negaliojantis
2 ERROR Error for database dbxxx: JZ006: Caught IOException: java.net.ConnectException: Connection refused: connect Blogai sukonfigūruotas prisijungimas prie SQL serverio arba duomenų bazės - patikrinkite dbxxx.properties failo nustatymus
3 ERROR Failed to initialize pool: Cannot open database "dbxxx" requested by the login. The login failed Blogai sukonfigūruotas vartotojo prisijungimas prie DB arba nesuteiktos reikalingos teisės nustatytam vartotojui - patikrinkite dbxxx.properties failo nustatymus arba suteikite vartotojui reikalingas teises SQL serveryje
4 ERROR ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile Blogai nustatytas global.properties prisijungimo duomenys, sutikrinkite ir pataisykite prisijungimo duomenis pagal pateiktus iš Rivile
5 WARN Invalid length parameter passed to the RIGHT function. Problema MS SQL jeigu įjungta procedūrų ir funkcijų replikavimas. Siūlymas išjungti procedūrų ir funkcijų replikavimą.
6 WARN CREATE PROCEDURE permission denied in database 'dbxxx'. Nustatytas SQL vartotojas neturi teisių kurti procedūras. Arba pakeiskite SQL vartotoją arba suteikite nustatytam vartotojui reikiams teises (db_owner)