Базы данных - Cache - статьи


Взаимодействие СУБД Caché c внешним миром - часть 2


СУБД Caché является открытой системой и предоставляет огромное количество интерфейсов для взаимодействия с внешним миром, которые можно разделить по типу доступа: прямой, реляционный и объектный. Однако, стоит отметить, что подобное разбиение довольно условно, и некоторые способы взаимодействия Caché с внешним миром можно отнести сразу к нескольким категориям.

Чаще всего для создания GUI -приложений в среде Windows используется механизм объектной фабрики Caché, в основе которой лежит Caché ObjectServer, представляющий собой OLE In - Process Automation Server. Он позволяет держать на клиенте копии серверных объектов. Иначе говоря, если в приложении на VB средствами ObjectServer открывается объект, то идентичный объект открывается и на сервере. При изменении какого-либо свойства на стороне клиента соответствующее свойство у серверного объекта изменяется автоматически, вызов метода влечет его выполнение на сервере с передачей результатов на клиентскую часть

Архитектура ObjectServer подразумевает разделение приложения на две основные части: клиентскую и серверную. И здесь сразу же возникает вопрос: каким образом клиент будет получать метаданные серверных объектов? Существует два возможных подхода: раннее и позднее связывание. Раннее связывание означает, что на клиенте явно хранятся определения классов. Т.е. если клиент взаимодействует с серверным классом, то приложению заранее известна структура этого класса, описания свойств и сигнатуры методов, благодаря чему при компиляции можно создавать более эффективные способы обращения к экземплярам данного класса. Если с сервером связано более одного клиента, то, естественно, информацию о серверных классах необходимо продублировать на каждом клиенте, что в случае сильно распределенной системы может быть довольно трудоемко. Однако, основной недостаток такого подхода заключается в синхронизации изменений серверных классов с соответствующими определениями на клиентах. При изменении одного свойства необходимо провести корректировку и перекомпиляцию всех классов, которых потенциально могут быть тысячи и даже сотни тысяч.




- Начало -  - Назад -  - Вперед -