Zverejnením databázy a webových služieb na Linuxe zvyšujeme 1c server

Zverejnením databázy a webových služieb na Linuxe zvyšujeme 1c server

Dnes by som vám chcel povedať, ako vytvoriť 1c server na linux debian 9 s publikovaním webových služieb.

Čo sú webové služby 1c?

webové služby je jedným z mechanizmov platformy využívaných na integráciu s inými informačnými systémami. Ide o prostriedok podpory SOA (Service-Oriented Architecture) - servisne orientovanej architektúry, ktorá je moderným štandardom pre integráciu aplikácií a informačných systémov. V skutočnosti je to príležitosť na vytvorenie html stránky s údajmi, ku ktorým potom môže pristupovať akákoľvek iná aplikácia a získať ich.

Plusy - funguje rýchlo (aj pri dosť veľkom množstve dát), relatívne pohodlne.

Nevýhody - váš 1c programátor na vás bude dlho reptať pri písaní webovej služby pre vašu databázu. Tá vec je v písaní veľmi zvláštna.

Nebudem vám hovoriť, ako písať webová služba... Poviem vám, ako ho publikovať v systéme Linux zo serverovej konzoly, ako aj niečo o inštalácii servera 1c v systéme Linux.

A tak máme debian 9 netinst, začnime:

Nainštalujte PostgresPro (Upozorňujeme, že nie je zadarmo a je distribuovaný len ako súčasť oboznámenia sa s možnosťami):

# apt-get update -y

# apt-get install -y wget gnupg2 || apt-get install -y gnupg

# wget -O - http://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO | apt-key add -

# echo deb http://repo.postgrespro.ru/pgpro-archive/pgpro-11.4.1/debian stretch main > /etc/apt/sources.list.d/postgrespro-std.list

# apt-get update -y
# apt-get install -y postgrespro-std-11-server
# /opt/pgpro/std-11/bin/pg-setup initdb
# /opt/pgpro/std-11/bin/pg-setup service enable
# service postgrespro-std-11 start
# su - postgres
# /opt/pgpro/std-11/bin/psql -U postgres -c "alter user postgres with password 'ВашПароль';"

Povedzme postgresql, aby počúval všetky adresy a nielen localhost

# nano /var/lib/pgpro/std-11/data/postgresql.conf

Odkomentujte a zmeňte adresy, ktoré chcete počúvať:

...
#listen_addresses = 'localhost'
...

Na

...
listen_addresses = '*'
...

Ďalej povoľme používateľom z našej siete prihlásiť sa

# nano /var/lib/pgpro/std-11/data/pg_hba.conf

Poďme sa zmeniť:

# Lokálne pripojenia IPv4:
hostiť všetky 127.0.0.1/32 md5

na

hostiť všetky 192.168.188.0/24 md5
hostiť všetky 127.0.0.1/32 md5

Môžete si prečítať viac o rôznych inštaláciách Postgres pre 1s tu.

Ďalej dáme 1 na server.

Nahrajte archív stiahnutý zo stránky 1c na server (v mojom prípade deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

ešte pár drobností:

# apt install imagemagick unixodbc libgsf-bin

Teraz nainštalujeme Apache2

# apt install apache2

Cez administračnú konzolu alebo cez 1c klienta vytvoríme databázu a vyplníme našu konfiguráciu ...

Teraz zverejňujeme databázu:

prejdite do priečinka s 1s.

# cd /opt/1C/v8.3/x86_64/

./webinst -publish -apache24 -wsdir Test -dir /var/www/test/ -connstr  "Srvr=10.7.12.108;Ref=test;" -confPath /etc/apache2/apache2.conf

Lezieme do var/www/test/ a vidíme, čo sa tam objavilo.

# cd /var/www/test
# nano default.vrd

«

v8.1c.ru/8.2/virtual-resource-system"
href="http://www.w3.org/2001/XMLSchema">www.w3.org/2001/XMLSchema"
href="http://www.w3.org/2001/XMLSchema-instance">www.w3.org/2001/XMLSchema-instance"
base="/Test"
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata enable="false"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

«

Toto sú schémy, ktoré sú potrebné na spustenie webového klienta 1c ... teraz môžete pristupovať k našej testovacej databáze z prehliadača na adrese „http://ServerAddress/Test“ (prípad je dôležitý! Toto je Linux) alebo zadajte adresa “base location type” v klientovi http://ServerAddress/Test” a klient bude pracovať s publikovanou databázou.

VUT v Brne

Ale čo webové služby? (v mojej testovacej konfigurácii sú dva: WebBuh na výmenu dát s účtovníctvom a toplog integrácia s wms systémom rovnomennej spoločnosti).

No, pridajme pár riadkov do nášho súboru vrd...


v8.1c.ru/8.2/virtual-resource-system"
href="http://www.w3.org/2001/XMLSchema">www.w3.org/2001/XMLSchema"
href="http://www.w3.org/2001/XMLSchema-instance">www.w3.org/2001/XMLSchema-instance"
base="/TestWeb"
ib="Srvr=IP_addres;Ref=TestWebServ">
<standardOdata enable="false"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

# Вот тут начинается код который публикует веб-сервисы
<point name="WebBuh" # Имя веб-сервиса в конфигураторе
alias="Web_buh.1cws" # Web_buh.1cws - алиас веб-сервиса в браузере
enable="true" # дальше я думаю строки и так понятны
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
<point name="TopLog" # второй веб сервис
alias="toplog.1cws" # toplog.1cws
enable="true"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

uložiť.

A teraz je naša webová služba dostupná na adrese "http://ServerAddress/Test/Web_buh.1cws?"

Prečo ste to museli robiť ručne?

Keďže náš server je bez grafického shellu, nebude na ňom fungovať spustenie konfigurátora, a teda jeho publikovanie bežnými prostriedkami. Vzdialený konfigurátor nainštalovaný na klientovi nezverejňuje webové služby na serveri. Preto musíme konfiguráciu upraviť manuálne podľa šablóny opísanej vyššie.

Skript na generovanie .vrd - Ďakujem TihonV

Zdroj: hab.com

Pridať komentár