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


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


Альтернативой раннему связыванию является использование механизма позднего связывания. Все что клиенту необходимо иметь, так это единственный класс Factory , который согласно паттерну проектирования Abstract Factory , берет на себя ответственность за создание объектов, инкапсулируя всю логику формирования экземпляров класса на стороне клиента. В совокупности с преимуществами технологии OLE ( а именно, при использовании Variant ) объектная фабрика избавляет клиента от необходимости хранить определения всех используемых серверных классов.

Dim Factory As CacheObject.Factory Set Factory = CreateObject("CacheObject.Factory") If Not Cache.Connect("cn_iptcp:127.0.0.1[1972]:TEST") Then MsgBox "Cannot connect to Cache" End End If Dim Dog As Object Set Dog = Factory.New("Dog") Dog.Name = "Tuzik" Dog.sys_Save

Листинг 1 Использование Factory в VB

Как уже говорилось выше, механизм Caché ObjectFactory используется для создания GUI -приложений исключительно в среде Windows. При создании же кросс-платформенных решений разработчики зачастую используют технологию Java, которая также очень легко интегрируется с СУБД Caché с помощью таких механизмов как Caché Java Binding, Caché EJB Binding и относящийся к реляционному способу доступа JDBC -драйвер, поддерживающий JDBC API 2.0.

Механизм Caché Java Binding позволяет Java -объектам взаимодействовать с серверными объектами Caché напрямую и для каждого указанного класса Caché создает специальный промежуточный Java -класс, который функционирует непосредственно в среде Java и обеспечивает доступ к свойствам и методам серверных объектов. В модели объектного проецирования Java Binding можно выделить следующие основные элементы:

?  Caché Java Class Generator – специальное расширение компилятора классов Caché, позволяющее из описаний классов в Caché Class Dictionary получать описания классов на Java

?  Caché Java Class Package – Набор Java-классов, которые в связке с классами, сгенерированными Caché Java Class Generator, обеспечивают прозрачную работу с объектами, сохраненными на сервере Caché




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