Компоненты Caché

pdf

Скачать в .pdf (англ.)

Caché Object Technology

Объекты Caché, являются мощным инструментом постреляционной СУБД Caché и идеально подходят для создания высокопроизводительных приложений, разрабатываемых с применением Web и объектно-ориентированных технологий. Используя объектную технологию, программисты могут создавать сложные структуры данных, максимально полно описывающие отношения и поведение сущностей реального мира. Такое детальное представление делает процесс разработки приложений более эффективным и рациональным.

Объекты Caché, модель реального мира

Объектная технология Caché, стремится описать данные реального мира так, как они существуют в сознании людей и оперировать данными так же, как это происходит в реальном мире. В объектной терминологии, данные, содержащиеся в классах**, называются «Свойствами», а программный код, манипулирующий данными и определяющий поведения объектов, называется «Методами»

Как уже говорилось, объектная технология Caché продвигает естественное представление данных, без ограничений, накладываемых применением упрощенных, «компьютерных» типов данных. Классы могут содержать в себе другие классы или ссылаться на другие классы. Благодаря этому можно легко создавать максимально реалистичные модели данных. Простой пример:

Customer Object

Объект Customer:

Name

Может быть простым системным типом данных, таким как строка, целое число и т.д.

SSN

Может быть расширенным типом данных, определяемым программистом. Для примера, тип данных может быть определен как целое, девятизначное число, совпадающее с шаблоном NNN-NN-NNNN. Расширенные типы данных, также являются разновидностью объектов.

Address: Street City

Объекты могут быть встроены в классы. В данном примере, свойство “Address”, является объектом, содержащим свойства “Street” и “City”.

AccountRep:

“Account Rep” является составным классом, который существует независимо от класса “Customer”. В данном примере класс “Customer” включает ссылку на соответствующий экземпляр класса “Account Rep”.

Invoice:

Свойство класса может содержать ссылки на один или более экземпляров классов, такие свойства являются коллекциями. Коллекцию можно рассматривать как отношение сущностей «Один ко многим». Caché также поддерживает и другие типы отношений.

Несмотря на то что, класс “Customer” содержит много разнообразной информации, приложение может оперировать этой информацией как единой сущностью – объектом.

Объекты Caché — возможность быстрой разработки приложений

Объектная технология Caché поддерживает концепции наследования, инкапсуляции полиморфизма.

Наследование – способность получать один класс из другого. Новый класс (подкласс) всегда находится в отношении «Является» с родительским классом (супер классом). Для примера, собака является млекопитающим, соответственно класс «Собака», наследует свойства и методы класса «Млекопитающий», но так же содержит свойства и методы, специфичные для собаки. Множественное наследование – способ получения дочернего класса из более чем одного родительского класса. Собака «является» млекопитающим и «является» домашним животным. Соответственно класс «Собака» наследует свойства и методы от обоих классов, от класса «Млекопитающий» и от класса «Домашнее животное».

Dog Object

Множественное наследование:
Подклассы могут наследовать атрибуты от одного
или нескольких супер классов.

Инкапсуляция – это механизм, который объединяет данные и код, манипулирующий этими данными, а также защищает и то, и другое от внешнего вмешательства или неправильного использования. В объектно-ориентированном программировании код и данные могут быть объединены вместе; в этом случае объект представляется в виде "чёрного ящика". Приложениям нет необходимости «знать» как внутри работает объект. Приложение взаимодействует только с открытыми свойствами и методами класса. Реализация объекта в виде черного ящика имеет два важных преимущества:

  1. Классы становятся модульными. Разработчик может изменить внутреннее устройство класса, без влияния на все приложение.
  2. Классы становятся интероперабельными. Классы могут без изменения использоваться несколькими приложениями, т.к. интерфейсы классов (свойства и методы) остаются постоянными.

Полиморфизм – механизм, позволяющий классам со схожей функциональностью, поддерживать  общий интерфейс, но иметь различную внутреннюю реализацию. Для примера, скажем, что приложение использует несколько различных классов: Письмо, Телеграмма и Почтовый перевод, все эти классы имеют метод для печати адреса (назовем его PrintAddress). Приложение не должно содержать специальных инструкций форматирования адреса для каждого типа объектов. Достаточно написать команду “DO PrintAddress(objectID)”. Полиморфизм гарантирует, что каждый объект имеет соответствующую реализацию интерфейса.

Создание объектов Caché

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

Импорт/Экспорт модели данных

Caché Studio содержит утилиту для быстрого создания классов Caché. Однако возможно несколько разных путей для импорта определения классов в Cache Studio и экспорта определений классов.

Caché RoseLink позволяет определять классы с помощью популярного инструмента объектного моделирования Rational Rose и импортировать определения в Caché. Аналогичным образом возможен экспорт определений классов из Caché в Rational Rose.

Также возможно создание объектов Caché из реляционной модели данных (DDL – файл). В этом случае объекты получаются очень простыми: их свойства являются однозначными, имеют системный тип данных и совпадают с полями таблиц реляционной модели. Единственные методы, которые содержат объекты, это методы обеспечения долговременного хранения объектов. Однако, благодаря Единой Архитектуре Данных, все эти простые классы сразу же доступны в объектном языке программирования и могут быть использованы в качестве строительных блоков, для создания более сложных типов данных.

XML-документы, еще один путь передачи определений классов между приложениями. Определения классов могут быть экспортированы в XML-документы и импортированы из XML-документов.

Языки программирования Caché

Методы Caché классов могут быть написаны на одном из двух (или сразу на обоих) языков программирования, Caché ObjectScript или Caché Basic. Оба языка программирования позволяют разработчикам использовать в процедурах все режимы представления данных – Объектный, Реляционный и Многомерный.

Интеграция Caché с прочими объектными технологиями

Достоинством Единой Архитектуры Данных Caché является то, что классы Caché автоматически доступны в виде реляционных таблиц и к ним возможен доступ через ODBC и JDBC интерфейс. Также, благодаря наследованию, классы Caché могут быть легко адаптированы для использования с XML и объектно-ориентированными технологиями.

Caché Server Pages

Класс, разработанный как CSP, автоматически наследует все методы, необходимые для управления WEB – сессией, в дополнение, существует метод “OnPage()”, в котором разработчик может описать содержимое страницы.

XML

Наследование свойств и методов от класса %XML.Adaptor (поставляется компанией InterSystems) позволяет классу импортировать данные из XML – документа и экспортировать в XML – документ. Caché автоматически определяет отображение между объектом Caché и XML – документом или разработчик может реализовать собственное отображение.

COM

Одна команда в Caché Studio создает проекцию классов Caché в COM классы, для использования такими инструментами, как Visual Basic, Delphi и прочим программным обеспечением, поддерживающим COM интерфейсы. Caché, также имеет COM – шлюз, позволяющий использовать COM – объекты в приложениях Caché.

C++

Аналогичным образом, одной командой можно создать C++ проекцию классов Caché.

Java

Одной командой в Caché Studio можно создать проекцию классов Caché в Java классы. Caché также предоставляет библиотеку классов, с помощью которой Java программисты могут получить доступ к объектам Cache в базе данных.

EJB

EJB проекция классов Caché также может быть получена выполнением одной команды в Caché Studio. Cache позволяет разработчикам использовать высокую производительность приложений, предоставляемую, моделью сохранения состояния, управляемое компонентом, без трудоемкого программирования объектно–реляционного отображения. Поддерживается создание проекций для следующих серверов приложений: BEA WebLogic, JBoss.

** Классом называется шаблон, по которому создаются объекты. Каждый объект, созданный на основе класса, называется экземпляром этого класса и содержит реальные данные.

Caché и Caché Direct торговые марки InterSystems Corporation. Windows и Visual Basic зарегистрированные торговые марки Microsoft Corporation. Delphi торговая марка Borland International. PowerBuilder торговая марка Powersoft Corporation. Прочие названия продуктов и торговые марки принадлежат их производителям.