arrowГлавная arrow Статьи arrow Статьи по Clarion arrow IP-драйвер: мнение #2 Wednesday, 20 August 2008  
Главное меню
Главная
Новости
Статьи
Комментарии
Файлы
Ресурсы
Ленты новостей
Форум разработчиков
Фотогалерея кларионистов
Пользователи
Общение
Ссылки
Поиск
Контакты
Карта сайта
Ссылки
Softvelocity
Clarion Magazine
Кларион в России
SealSoft Company
IngaSoft Plus
Авторизация (CB)
Счетчик



who's online
IP-драйвер: мнение #2 Версия для печати Отправить на e-mail
Написал Андрей Попов   
08.08.2007
Автор: Сергей Редькин
 
Хотелось поделиться своими впечатлениями по работе драйвера. Поскольку проекты реально работают у клиентов и возимся мы с ним довольно долго и плотно, то есть и подводные камни, на которые мы наткнулись. Темплеты ABC, но не стандартные, а доработанные и перекочевавшие из CW4. Темплеты и классы адаптируются за 1 час...
При работе по 100 мбит сети никаких существенных замедлений не замечено. При многопользовательской работе получаем выигрыш на порядок, т.к. на TPS-файлах при работе с двух станций есть замедление в 10-20 раз. Работа через инет по ADSL тоже довольно шустрая. Через GPRS или 3G смотрится очень тоскливо. Броузник (одна страница) открывается 1-2мин. Но это понятно ping 0.5-1сек для GPRS и 0.25-0.4 для 3G. Но работать при необходимости все равно можно.
 
Несомненное преимущество, что с одну APP можно использовать, как для TPS, так и для IP. Для этого в глобальных настройках следует включить (отключить один флажок), а в рукописном коде использовать условную компиляцию. В простейшем случае она не нужна, т.к. код одинаковый. В дальнейшем при оптимизации часть кода перебирается в хранимые процедуры на сервере.
 
Если в списках используются функции фильтрации, то их надо продублировать на сервере. Единственная неприятность, что надо использовать не классы, а операторы языка для работы с файлами. Одна серверная DLL может работать с разными наборами данных. Для этого достаточно написать хранимку, в которой указывается путь к данным. При этом возможно запретить выход за пределы каталога.
 
Что касается глюков и не оптимальной работы.
1. В доке продекларировано, что хранимка возвращает строку. На самом деле возвращается CSTRING. Например, невозможно возвратить группу, в которой используется LONG. Обходится путем преобразования LONG в STRING.
2. Для VIEW не работает PROP:IPRequestCount (позволяет передать группу записей за раз). Как обойти и почему не работает пока не исследовали - просто не используем.
3. Не работает RECORDS(File), RECORDS(Key). Вернее работает один раз после открытия или после SET - NEXT. Выход - хранимка на сервере или SET - NEXT.
4. При чтении VIEW реально тянутся все Record, участвующие во VIEW, а не описанные поля. Запись не сжатая, поэтому траффик повышается.
5. В драйвере DOS тоже аналогичный глюк - GET(File,Pointer,Len) с сервера реально тянут количество байт рекорда. Поскольку драйвер используется при пересылке файлов и буфер в оригинальных классах длиной 64К, то класс пересылки следует доработать, учитывая эту особенность.
 
Сергей Редькин
SPR AT_NO_SPAM enigmasoft.com.ua
ЧП "Энигма Софт"

комментариев
Written by StillZero on 2007-08-08 06:26:19
еще одно мнение о ip-драйвере.. 
я обратил внимание, что здесь не нравится ABC, а в этом письме  
 
>Единственная неприятность, что надо использовать не классы, а операторы языка для работы с файлами. 
 
..другое, фраза  
>проекты реально работают у клиентов и возимся мы с ним довольно долго и плотно 
не служит хорошей рекламой :)

Only registered users can write comments.
Please login or register.

Powered by AkoComment 2.0!

Последнее обновление ( 08.08.2007 )
 
След. >

вверх страницы