Проект L.E.S. - технология разработки распределенных приложений для баз данных.

Сервер приложений для удаленного доступа.

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

    Для этого нужно было сделать следующее:

1. Еще уменьшить трафик при запросах интерфейса.
2. Передавать отчеты(печатные формы) в упакованном виде.

    Клиентская часть реализована точно так же как и в предыдущих примерах,
за исключением того, что отсутствет прямое соединение с SQL Server-ом.
    При этом не требуется никаких существенных переделок.Это стало возможным благодаря тому, что ADO умеет открывать наборы данных локально из потока.



"Middleware" реализовано с использованием Indy(см. пример TCPStreamClientServer в примерах Borland Delphi).

    Процесс такой :

    Для открытия набора данных на клиентской стороне формируется запрос , этот запрос упаковывается в буфер и на лету сжимается (алгоритм zip2), далее сжатый буфер посредством Indy отсылается middleware.Middleware распаковывает буфер с запросом и исполняет его. В результате имеем открытый набор данных ADO на стороне сервера.Этот ADO-набор сохраняем в потоке ADO,упаковываем и отсылаем клиенту. Клиент распаковывает буфер в поток ADO и открывает ADO-набор из этого потока локально. На клиентской стороне необходимо наличие ADO , но его установку производит Office, так что проблем не должно быть.
    Естественно как и раньше запрашиваем только то, что нужно отобразить клиенту. После ответа клиенту набор из десяти(условно) записей на сервере закрываем и никакой балансировки не надо.

В случае с отчетами делается следующее :

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


    Некоторые замечания:

1. Передача данных в формате HTML сделала возмоным глобальное распространение Internet.
2. При этом,однако,каждый раз передается информация о форматировании(ясно конечно,что есть кэши и все такое), кроме того интерфейс локальных и удаленных приложений отличается.
3. Здесь внешне локальные и распределенные приложения ничем не отличаются,передаются только данные, платой за это является наличие приложения на локальном компьютере.





    Приложение демонстрирует использование технологии для реализации приложения в трехзвенной архитектуре.На рисунке показаны окна клиента и middleware.

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

Сайт создан в системе uCoz