Проект 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.
В примере,который можно скачать,реализована подсистема доступа для торговых агентов.
Торговые ангенты могут заносить новые заказы непосредственно в базу данных.