ИнфоАптека ®

Автоматизация аптек и аптечных сетей

Инструменты пользователя

Инструменты сайта


user:vmsirenko:удаленный_доступ_к_базе

Удаленный доступ к базе

Поставлена задача подключения удаленных пользователей к базе данных Центрального офиса. Для решения задачи воспользуемся утилитой Zebedee.

Преимущества Zebedee:

  • Не требует установки.
  • Использование бесплатно, может использоваться в коммерческих целях.
  • Один исполняемый файл как для клиента, так и для сервера.
  • Поддерживается шифрование.
  • Поддерживается сжатие.

Схема подключения

Установка

На официальном сайте можно скачать инсталлятор zebedee. По сути установка - это копирование исполняемого файла, файлов примеров конфигурации и описания в папку с программами C:\Program Files\Zebedee\ или C:\Program Files (x86)\Zebedee\

Версию 2.5.3 вы можете скачайте с этого сайта zebedee.exe.zip.

Как серверную, так и клиентскую часть можно запускать в виде приложения. Но в автоматизированных системах гораздо удобнее использовать запуск zebedee в качестве службы. Для этого в консоли выполните следующую команду:

zebedee.exe -Sinstall="Полный путь к файлу конфигурации" 

Имя файла конфигурации может быть произвольным.

Конфигурации

Сервер

server.zbd
#server.zbd
timestamplog true 
verbosity 1 
detached true 
server true 
serverport 8888
idletimeout 0 
ipmode tcp 
udpmode false 
compression zlib:9 
logfile 'C:\Program Files\zebedee\server.log' 
checkidfile 'C:\Program Files\zebedee\client.idlist' 
target localhost:3052 

На Роутере 0 в Офисе 0 нужно будет настроить порт форвардинг то есть перенаправлять трафик порта 8888 с внешнего адреса роутера на компьютер в локальной сети с IP адресом 192.168.1.100

Клиент

client.zbd
#client.zbd
timestamplog  true 
verbosity 1 
detached true 
server false 
serverport 8888 
idletimeout 0 
ipmode tcp 
udpmode false 
compression zlib:9 
logfile 'C:\Program Files\zebedee\client.log' 
keygenlevel 2 
include 'C:\Program Files\zebedee\myclient.key' 
tunnel 4052:94.100.180.199:3052 

Безопасность

Тестовый режим

Для работы в тестовом режиме можно не формировать дополнительных ключей. Тогда в конфигурации сервера исключите ссылку на файл ключей

checkidfile 'C:\Program Files\zebedee\client.idlist' 

И в файле конфигурации клиента тоже

keygenlevel 2 
include 'C:\Program Files\zebedee\myclient.key'

В этом случае, к базе подключиться может кто угодно, зная что подключение идет через клиента zebedee и зная логин/пароль к базе.

Безопасное подключение

Для безопасного подключения в рабочем режиме, создается пара ключей: публичный и личный. Личный ключ остается у клиента и держится в секрете, а публичный можно прописать в конфигурации сервера. При этом, сервер будет подключать только тех клиентов, которые перечислены в его конфигурации.

Личный ключ клиента создается командой:

zebedee -p > myclient.key

Публичный ключ клиента создается на основе личного ключа командой:

zebedee -P -f myclient.key > myclient.id

В результате, содержимое файла myclient.id добавьте в файл ключей сервера client.idlist

Ниже представлен пример файла с публичными ключами клиентов:

client.idlist
a8f24340a835922f89228f60422659754b7b41e3 office1
be7addff4865796e8708ed382ca780e4bee44037 office2

Настройка модулей ПО ИнфоАптека

Везде, где требуется прописать путь к базе данных с указанием имени сервера и порта, прописываете в качестве имени сервера имя компьютера с клиентом zebedee и указываете номер порта подключения к клиенту zebedee

Для схемы подключения описанной выше это 192.168.0.11/4052

iapteka.ini
[DB]
Path=192.168.0.11/4052:C:\IADB\IAPTEKA.FDB 
[Beep]
BeepErrorDuration=500
BeepErrorFreq=370
BeepScannerDuration=500
BeepScannerFreq=370
[Grid]
SearchTimeOut=1500
[Excel]
;UseOpenOffice=1
UserProfileEnable=1

Первое подключение происходит ощутимо долго, но потом работать в ПО ИнфоАптека будет достаточно комфортно.

Обсуждение

, 2017/12/22 08:56

А как же быть, с обновление папки IApteka? (при обновлении программы)

, 2017/12/22 09:41, 2017/12/22 09:42

Вы можете использовать локальный дистрибутив, который будет обновляться через ФТП штатной утилитой ftpConnect

, 2017/12/21 18:46

По данной схеме кассовый модуль получится подключить?

Да. При этом FireBird client и Zebedee client в офисе 1 или 2 могут работать на одном компьютере.

Только авторизованные участники могут оставлять комментарии.
user/vmsirenko/удаленный_доступ_к_базе.txt · Последние изменения: 2017/12/22 10:01 — Владимир Сиренко