IP Driver 8.0.8658 Практическое применение в бизнесе

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

IP Driver 8.0.8658 Практическое применение в бизнесе

Сообщение Developer »

Привет всем!

Clarion 8.0.9661 Windows 7 SP1 Русский IP Driver 8.0.8658.

Собрал и запустил тестовый пример People из поставки IP Driver 8.0.8658. Всё работает, как в Internet так и в Intranet!

В связи с этим возникает вопрос, использует ли кто IP Driver 8.0.8658 в реальной работе (бизнесе) в Internet(WAN) и Intranet (LAN)?

Прошу участников форума высказать свои мнения о достоинствах и недостатках данной технологии и реализации данной версии драйвера.

Если есть возможность, укажите тип локального драйвера базы данных и примерные размеры используемой базы данных.

С Уважением, Developer, cfwdeveloper@gmail.com
С Уважением, Developer
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3133
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Re: IP Driver 8.0.8658 Практическое применение в бизнесе

Сообщение Дед Пахом »

Мы - нет, не работаем, только через NetTalk.
С уважением, ДП
Аватара пользователя
Alex
Старожил
Сообщения: 210
Зарегистрирован: 29 Август 2005, 14:54
Откуда: Белоруссия

Re: IP Driver 8.0.8658 Практическое применение в бизнесе

Сообщение Alex »

Я делал на IPD клиент - сервер. Поиск и подбор запчастей
FinSoft
Посетитель
Сообщения: 49
Зарегистрирован: 21 Ноябрь 2006, 13:37

Re: IP Driver 8.0.8658 Практическое применение в бизнесе

Сообщение FinSoft »

Developer писал(а):Привет всем!

Clarion 8.0.9661 Windows 7 SP1 Русский IP Driver 8.0.8658.

Собрал и запустил тестовый пример People из поставки IP Driver 8.0.8658. Всё работает, как в Internet так и в Intranet!

В связи с этим возникает вопрос, использует ли кто IP Driver 8.0.8658 в реальной работе (бизнесе) в Internet(WAN) и Intranet (LAN)?

Прошу участников форума высказать свои мнения о достоинствах и недостатках данной технологии и реализации данной версии драйвера.

Если есть возможность, укажите тип локального драйвера базы данных и примерные размеры используемой базы данных.

С Уважением, Developer, cfwdeveloper@gmail.com
Используется на С6. Больше 30 чел периодически цепляется с разных городов через интернет. Интенсивность работы небольшая. База tps. Сделано через вызов серверных процедур и пересылка результатов из очередей. Подключился-забрал/записал-отключился. Все работает шустро и без обращений на суппорт. Сейчас я бы не стал использовать ip-драйвер, т.к. он работает только с виндовых приложений. Подобную схему можно без особых сложностей организовать через сокеты или nettalk, можно коннектиться к базе и с десктопа, и с web. А для серьезных полнофункциональных приложений есть tsplus и т.п., за небольшую плату можно работать в терминальном доступе откуда угодно и без проблем с быстродействием и с сетевыми глюками.
Аватара пользователя
Alex
Старожил
Сообщения: 210
Зарегистрирован: 29 Август 2005, 14:54
Откуда: Белоруссия

Re: IP Driver 8.0.8658 Практическое применение в бизнесе

Сообщение Alex »

FinSoft
А как с клиента обратиться к Queue на сервере? Мне пришлось плодить в словаре InMemory таблицы для промежуточного хранения результатов выборки.И затем уж с клиента обращаться к этим файлам.
FinSoft
Посетитель
Сообщения: 49
Зарегистрирован: 21 Ноябрь 2006, 13:37

Re: IP Driver 8.0.8658 Практическое применение в бизнесе

Сообщение FinSoft »

Alex писал(а):FinSoft
А как с клиента обратиться к Queue на сервере? Мне пришлось плодить в словаре InMemory таблицы для промежуточного хранения результатов выборки.И затем уж с клиента обращаться к этим файлам.
Одна серверная процедура формирует кьюшку, другая пересылает результат, свернутый в строку. У меня свертывается по 100 записей. На клиенте строка развертывается в аналогичную кьюшку. Т.е. структуры очередей должны совпадать на сервере и клиенте.
Аватара пользователя
Alex
Старожил
Сообщения: 210
Зарегистрирован: 29 Август 2005, 14:54
Откуда: Белоруссия

Re: IP Driver 8.0.8658 Практическое применение в бизнесе

Сообщение Alex »

Как серверная процедура пересылает? Может, клиентская часть берет серверную переменную, сделанную доступной для клиента??
Igor Vesnin
Посетитель
Сообщения: 49
Зарегистрирован: 30 Декабрь 2005, 0:06

Re: IP Driver 8.0.8658 Практическое применение в бизнесе

Сообщение Igor Vesnin »

Видимо так:

На клиенте
IPx.SetConnectionString(IPDRV::OWNER)
StrReturn = IPx.Exec('ProcOnServer',параметр1,...)

На сервере
Процедура ProcOnServer, что-то делает и возвращает результат (в том числе и серверную переменную).

Можно, например, в параметре процедуры указывать переменную. Если переменных много, то их объединяем в группу, биндим ее и возвращаем по evaluate(парамерт1).
FinSoft
Посетитель
Сообщения: 49
Зарегистрирован: 21 Ноябрь 2006, 13:37

Re: IP Driver 8.0.8658 Практическое применение в бизнесе

Сообщение FinSoft »

Alex писал(а):Как серверная процедура пересылает? Может, клиентская часть берет серверную переменную, сделанную доступной для клиента??
Одна процедура на сервере формирует итоговую кьюшку (на сервере) и возвращает количество записей в ней. Вторая вызывается в цикле и возвращает строку, в которую свернуто по 100 записей из этой кьюшки. При последнем вызове, когда возвращается последняя порция записей, серверная кьюшка зачищается. Никаких серверных переменных или таблиц на клиенте не видно, все работает через вызовы серверных процедур. Через интернет получается довольно шустро, время отклика в пределах пары секунд. На сервере есть еще обычная десктопная программа, через которую админится - задается список пользователей, ролей, прав доступа, устанавливаются различные ограничения, можно посмотреть лог изменений в базе и т.п.
Еще по этой схеме пробовал делать туннель. То есть цепочка из двух ip-серверов. Первый лишь транслирует запросы и результаты, второй выполняет обработку. Это может пригодиться, если на компьютере с базой данных закрыт доступ в интернет. Работает.
Да, еще такой нюанс. Кларионовский IP-сервер не заточен для работы через интернет. Он создает соединение, которое висит, пока на клиенте открыто хотя бы одно окно в потоке, в котором было обращение. Поэтому я завернул обращения к серверу в одну процедуру, которая стартует в отдельном потоке, а после выполненных операций завершает работу. В этом случае получается правильно, подключились-отработали-отключились. Усложняется обработка на клиенте, нужно передавать информацию между диалоговой процедурой и процедурой-коннектором. Реализуется через простой класс, адрес которого передается в качестве параметра в процедуру-коннектор.
Для приложений с простым функционалом, например, организации удаленных точек продаж, вполне работоспособный вариант, не требующий каких-то телодвижений с настройками и администрированием стороннего софта.
Аватара пользователя
Alex
Старожил
Сообщения: 210
Зарегистрирован: 29 Август 2005, 14:54
Откуда: Белоруссия

Re: IP Driver 8.0.8658 Практическое применение в бизнесе

Сообщение Alex »

Теперь ясно. Мне было непонятно только , что серверная процедура пересылает.. Таки Клиент получает, вызвав серверную процедуру..
В моем случае я пользовался не кьюшками , а InMem файлами на сервере. Принцип тот же.
Если процед.1 вернула ненулевое кол-во строк в выборке, то вторая лезет за ними. Загружает по записям (NEXT), точнее пачками , используя IPrequestcount=.
И еще : а разве соединение не закрывается по
IPx.SetConnectionString(IPDRV::OWNER)
IPX.Closeconnection() ?
Это я про.. пока открыто окно в потоке..? Очень интересно. Может пойму, почему ответчик на сервере порой виснет наглухо.
З.Ы. У меня CW6.3 с соответствующим IPD..
Аватара пользователя
Alex
Старожил
Сообщения: 210
Зарегистрирован: 29 Август 2005, 14:54
Откуда: Белоруссия

Re: IP Driver 8.0.8658 Практическое применение в бизнесе

Сообщение Alex »

Процедура - вызыватель хранимок запускается в отдельном потоке на клиенте.
А что в это время делает Thread номер 1? Как он ждет окончания выборки?
FinSoft
Посетитель
Сообщения: 49
Зарегистрирован: 21 Ноябрь 2006, 13:37

Re: IP Driver 8.0.8658 Практическое применение в бизнесе

Сообщение FinSoft »

Alex писал(а):Процедура - вызыватель хранимок запускается в отдельном потоке на клиенте.
А что в это время делает Thread номер 1? Как он ждет окончания выборки?
Ловит пользовательское событие от коннектора, которое тот посылает перед завершением работы.
Кстати, я недавно пробовал доступ с web-сайта к tps-базе через сокеты, работает быстрее ip-драйвера, заметно на глаз. Поэтому я на будущее скорее всего ip-драйвер для подобных задач использовать не буду - сложнее и доступ только с виндовых приложений.
Аватара пользователя
Alex
Старожил
Сообщения: 210
Зарегистрирован: 29 Август 2005, 14:54
Откуда: Белоруссия

Re: IP Driver 8.0.8658 Практическое применение в бизнесе

Сообщение Alex »

Спасибо за ответ. Я так и думал. Но коннектор то может во время исполнения подержать свое окошко открытым, чтоб юзер не нажимал кнопок.
Что касается сокетов - никогда не сталкивался , не читал.
В IP хоть что-то понятно..
Аватара пользователя
Alex
Старожил
Сообщения: 210
Зарегистрирован: 29 Август 2005, 14:54
Откуда: Белоруссия

Re: IP Driver 8.0.8658 Практическое применение в бизнесе

Сообщение Alex »

И еще: при выполнении упаковки в строку результатов выборки на сервере,- какие лучше использовать разделители полей и записей? Боязно, что такой символ встретится в содержимом какой - нибудь строки и это сломает распаковку(парсинг) строки на клиенте.
FinSoft
Посетитель
Сообщения: 49
Зарегистрирован: 21 Ноябрь 2006, 13:37

Re: IP Driver 8.0.8658 Практическое применение в бизнесе

Сообщение FinSoft »

Alex писал(а):И еще: при выполнении упаковки в строку результатов выборки на сервере,- какие лучше использовать разделители полей и записей? Боязно, что такой символ встретится в содержимом какой - нибудь строки и это сломает распаковку(парсинг) строки на клиенте.
Я просто передаю по размеру записи кьюшки. То есть структура, объявленная на сервере, совпадает со структурой, объявленной на клиенте. Деления на поля при пересылке как такового нет. Все поля кьюшки с итогами стринговые. Конечно, есть опасность рассогласования структур. В принципе, можно делать как в csv, оборачивать поля в кавычки, а внутри поля проверять наличие кавычек и дублировать.
Ответить