Продолжается подписка на наши издания! Вы не забыли подписаться?

Постреляционная СУБД Cache .

Олег Сиротюк,
инженер по контролю качества InterSystems corporation .

Введение

Объектно-ориентированные базы данных (ООБД) по сравнению с традиционными (например, реляционными) БД обеспечивают следующие преимущества: во-первых, как и полагается объектно-ориентированным системам, данные в них инкапсулированы в объекты, где и хранятся неотъемлемо от методов их обработки; во-вторых, ООБД повышают уровень абстракции при работе с данными; в-третьих, ООБД упрощают работу со сложно структурированными данными.

При всех достоинствах современной объектной технологии разработки баз данных имеется несколько препятствий, которые удерживают разработчиков от принятия решения о переходе с реляционной технологии на объектную. Основным останавливающим фактором является значительный объем разработок, опирающихся на реляционные СУБД. Ведь при переходе на объектную технологию необходимо многое начинать «с нуля», и поэтому возникает вопрос целесообразности такого перехода. Кроме того, объектная технология, поддерживаемая в ряде постреляционных СУБД, не имеет развитого и стандартизированного языка генерации отчетов и анализа данных, каким является структурированный язык запросов SQL. Данные проблемы были решены при создании постреляционной СУБД Cache от InterSystems (www.intersystems.ru). СУБД Cache обеспечивает не только реализацию основных возможностей объектно-ориентированной технологии, но и позволяет во многом облегчить переход с реляционной технологии на объектную, а также может выступать в роле шлюза к реляционным базам данных.

Отличительной особенностью СУБД Cache является независимость хранения данных от способа их представления. Это реализуется с помощью так называемой единой архитектуры данных Cache . В рамках данной архитектуры существует единое описание объектов и таблиц, отображаемых непосредственно в многомерные структуры ядра базы данных, ориентированного на обработку транзакций [1]. Как только определяется класс объектов, Cache автоматически генерирует реляционное представление данных этого класса. Подобным же образом, как только в Словарь данных поступает DDL-описание на языке SQL, Cache автоматически генерирует реляционное и объектное описание данных. При этом все описания ведутся согласованно, но все операции по редактированию проводятся только с одним описанием данных. Это позволяет сократить время разработки. Одновременно улучшается совместимость со старыми SQL-ориентированными приложениями.

БД Cache прекрасно подходит для работы в сетях Internet/Intranet. В версии Cache 4.0. реализована технология создания динамических web-приложений Cache Server Pages (CSP), которая пришла на смену технологии Weblink предыдущих версий Cache. Наряду с этим, системная библиотека %Net предоставляет классы, реализующие протоколы SMTP, POP3, HTTP, FTP и др.

В статье рассмотрены основные компоненты, функциональные возможности и характеристики СУБД Cache.

1. Основные компоненты СУБД Cache

На рис. 1. представлена архитектура Cache.

Рисунок 1. Архитектура системы Cache .

Основные компоненты СУБД Cache:

Рассмотрим подробнее назначение и функциональные возможности основных компонентов системы.

1.1. TMDM – многомерное ядро Cache , ориентированное на работу с транзакциями

Данные в Cache хранятся в виде разреженных массивов, носящих название глобалей. Количество индексов массива может быть произвольным, что позволяет описывать и хранить структуры данных произвольного уровня сложности. Индексы глобалей могут быть любого литерального типа данных. Например, с помощью следующей глобали можно описать количество машин Mercedes SL600 черного цвета на складе:

^car(“Mercedes”,”SL600”,”black”)=10

Немного усложняя приведенный пример описания данных, можно определить все доступные цвета для Mercedes SL600:

^car(“Mercedes”,”SL600”,”colors”)=3
^car(“Mercedes”,”SL600” ,”colors”,1)=”black”
^car(“Mercedes”,”SL600” ,”colors”,2)=”blue”
^car(“Mercedes”,”SL600” ,”colors”,3)=”white”

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

В СУБД Cache реализована развитая технология обработки транзакций и разрешения конфликтов. Блокировка данных производится на логическом уровне. Это позволяет учитывать особенность многих транзакций, производящих изменения небольшого объема информации. Кроме этого, в Cache реализованы атомарные операции добавления и удаления без проведения блокировки, в частности, это применяется для счетчика идентификаторов объектов.

1.2. Сервер Cache Objects

Объектная модель Cache соответствует объектной модели стандарта ODMG (Object Data Management Group). В соответствии со стандартом ODMG каждый экземпляр объекта в Cache должен быть определенного типа. Поведение объекта определяется операциями (методами), а состояние объекта – значениями его свойств. Свойства и операции составляют характеристики типа. Тип определяется одним интерфейсом, которому может соответствовать одна или большее число реализаций [2]. Объектная модель Cache представлена на рис. 2.

В соответствии со стандартом в Cache реализовано два типа классов:

Классы типов данных определяют допустимые значения констант (литералов) и позволяют их контролировать. Литерал не имеют дополнительной идентификации, кроме своего значения, в то время как объекты имеют еще и уникальную идентификацию.

Классы типов данных подразделяются на два подкласса типов:

Атомарными литеральными типами в Cache являются традиционные скалярные типы данных (%String, %Integer, %Float, %Date и др.). В Cache реализованы две структуры классов типов данных – список и массив. Каждый литерал уникально идентифицируется индексом в массиве или порядковым номером в списке.

Рисунок 2. Объектная модель Cache

Различают два подтипа классов объектов – зарегистрированные и незарегистрированные. Зарегистрированные классы обладают предопределенным поведением, т.е. набором методов, наследуемых из системного класса %RegisteredObject и отвечающих за создание новых объектов и за управление размещением объектов в памяти. Незарегистрированные классы не обладают предопределенным поведением, разработка функций (методов) класса целиком и полностью возлагается на разработчика.

Зарегистрированные классы могут быть двух типов – сериализуемые и хранимые. Сериализуемые классы наследуют свое поведение от системного класса %SerialObject. Основной особенностью хранения сериализуемого класса является то, что объекты сериализуемых классов существуют в памяти как независимые экземпляры, однако могут быть сохранены в базе данных, только будучи встроенными в другой класс.

Основным преимуществом использования сериализуемых классов является минимум издержек при изменении структуры класса.

Хранимые классы наследуют свое поведение от системного класса %Persistent. %Persistent предоставляет своим наследникам обширный набор функций, включающий: создание объекта, подкачку объекта из БД в память, удаление объекта и т.п. Каждый экземпляр хранимого класса имеет 2 уникальных идентификатора – OID и OREF. OID (object ID) характеризует объект, записанный в БД, а OREF (object reference) характеризует объект, который был подкачан из БД и находится в памяти.

Объектная модель Cache в полном объеме поддерживает все основные концепции объектной технологии:

Наследование. Объектная модель Cache позволяет наследовать классы от произвольного количества родительских классов.

Полиморфизм. Объектная модель Cache позволяет создавать приложения целиком и полностью независимыми от внутренней реализации методов объекта.

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

Хранимость. Система Cache поддерживает несколько видов хранения объектов: автоматическое хранение в многомерной базе данных Cache ; хранение в любых структурах, определенных пользователем; хранение в таблицах внешних реляционных баз данных, доступных через шлюз Cache SQL Gateway.

Класс объектов в Cache хранится в двух формах:

1.3. Сервер Cache SQL

СУБД Cache является уникальной системой. Наряду с реализацией в полном объеме основных принципов объектной технологии в СУБД Cache поддерживается структурированный язык запросов SQL. Это, как уже говорилось, обеспечивает выполнение запросов по стандарту, поддерживаемому многими инструментальными средствами. Кроме этого, с помощью единой архитектуры данных Cache возможно автоматическое преобразование описаний реляционных таблиц в классы объектов. При поступлении на сервер Cache SQL DDL-описания реляционной таблицы, Cache автоматически преобразует DDL-описание в свою внутреннюю форму и сохраняет полученную структуру в словаре данных. С помощью поставляемых в стандартной комплектации Java- или ODBC-драйверов возможен также и импорт данных из реляционных таблиц в многомерные структуры ядра Cache . Это позволяет Cache работать с данными как в виде реляционных таблиц, так и в виде классов объектов. Таким образом, при переходе с реляционной на объектную технологию разработка не начинается с «нуля» – многое делается Cache автоматически.

Классы Cache также могут быть представлены в виде реляционных таблиц, причем соотношения между разнообразными понятиями объектного и реляционного подходов представлены ниже:

Объектное понятие Реляционное понятие
Класс Таблица
Экземпляр Строка
Идентификатор объекта (OID) Колонка первичного ключа
Свойство-константа Колонка
Ссылка на хранимый объект Внешний ключ
Сериализуемый объект Индивидуальные столбцы
Коллекция-список Колонка с полем-списком
Коллекция-массив Подтаблица
Поток данных BLOB
Индекс Индекс
Запрос Хранимая процедура или представление
Метод класса Хранимая процедура

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

Доступ к данным с использованием языка SQL продолжает играть важную роль, т.к. многие существующие приложения и инструменты используют SQL в качестве языка запросов. СУБД Cache поддерживает все элементы ANSI-стандартов, реализованных для SQL и SQL-92.

Для облегчения разработки прикладных систем баз данных, Cache поддерживает встроенный SQL (Embedded SQL). Встроенный SQL может быть использован для решения следующих задач:

Реализации сложных запросов к базам данных

Представления полученных результатов запросов в качестве значений переменных встроенного языка разработки приложений Cache Object Script (COS).

Пример использования встроенного SQL-запроса:

new id, Surname
set Surname=”Ivanov”
&sql(SELECT Id into :id FROM Person where Surname=:Surname)

Приведенный код ищет запись, содержащую в поле Surname таблицы Person значение Ivanov, и сохраняет найденный OID объекта в локальной переменной id. В данном случае запрос всегда возвращает только одну строку, и никаких дополнительных действий не требуется. Если же необходимо получить и обработать несколько строк, необходимо использовать так называемый курсор. Курсор в данном случае является указателем на одну строку и при проведении операции FETCH курсор передвигается к следующей строке.

Использование курсора предполагает выполнение следующей последовательности операций:

Использование курсора в SQL-запросе:

&sql(DECLARE PersCur CURSOR 
       FOR SELECT Surname, DateOfBirth
             FROM Person,
             WHERE Surname=”Ivanov”)
&sql(OPEN PersCur)
&sql(FETCH PersCur INTO :surname, :DateOB)
&sql(CLOSE PersCur)

В приведенном примере создается курсор PersCur, после чего он открывается, а затем с помощью команды FETCH производится сканирование содержимого первой записи в локальные переменные surname и DateOB. После этого курсор закрывается. Для того, чтобы считать все содержимое курсора, необходимо последовательно в цикле вызвать операцию FETCH.

1.4. Сервер прямого доступа к данным Cache Direct

С помощью сервера Cache Direct разработчик получает доступ к многомерным структурам ядра системы. Встроенный в СУБД Cache язык программирования COS предоставляет ряд функций для работы с массивами данных, или глобалями, составляющими ядро системы.

Рисунок 3. Cache Terminal.

Использование прямого доступа к данным позволяет оптимизировать время доступа к данным. Для прямого доступа и работы с многомерными структурами ядра системы можно воспользоваться утилитой эмуляции ASCII-терминала Cache Terminal, которая обычно используется для целей обучения языку COS и тестирования работы терминального приложения (рис.3).

2. Средства администрирования Cache

В стандартной поставке системы разработчику предлагается два средства администрирования Cache:

С помощью Configuration Manager можно выполнить следующие функции администрирования:

Утилита Control Panel предоставляет схожий набор функций администрирования, но также позволяет осуществлять:

3. Инструментальные средства разработки в Cache

В СУБД Cache реализован собственный язык программирования Cache Object Script (COS). COS – это расширенная и переработанная версия языка программирования M (ANSI MUMPS).

В первую очередь, COS предназначен для написания исходного кода методов класса. Кроме этого, в Cache вводится понятие Cache-программы. Cache-программа не является составной частью классов и предназначена для написания прикладного программного обеспечения для текстовых терминальных систем.

Рисунок 5. Cache Studio.

Для создания Cache -программ и классов предназначены утилиты Cache Studio и Cache Object Architect.

Внешний вид утилиты Cache Studio приведен на рис.4. Для удобства пользователя в Cache Studio реализована контекстная подсветка команд, функций и операторов COS.

Рисунок 6. Cache Explorer.

Утилита Cache Object Architect предназначена для работы с классами Cache. Разработчику предоставляется ряд мастеров (wizard) для создания новых и редактирования параметров существующих классов, методов, свойств и др. компонентов классов Cache . Внешний вид утилиты приведен на рис.5.

Для доступа к многомерным структурам ядра СУБД Cache можно воспользоваться утилитой Cache Explorer. Утилита Cache Explorer предоставляет возможности просмотра, печати, импорта/экспорта глобалей, классов и программ Cache. Внешний вид утилиты приведен на рис. 6.

Cache Server Pages (CSP)

Основой концепции серверных страниц Cache является автоматическое создание по запросу пользователя web-страниц, содержащих требуемую информацию из БД Cache . Как видно из рис. 7, вся бизнес-логика CSP-приложений выполняется в непосредственной близости к хранилищу данных Cache, таким образом сокращается объем данных, которыми обмениваются web-сервер и сервер БД Cache, что приводит к выигрышу в производительности по сравнению с другими технологиями создания web-приложений. Для еще большего увеличения производительности CSP приложений при обмене данными между сервером Cache и web-сервером используются высокоскоростные API-интерфейсы.

Рисунок 7. Сравнение web-технологий.

Серверные страницы Cache представляют собой HTML-файлы, содержащие дополнительные теги Cache (Cache Application Tags или CATs). Для создания CSP приложений можно воспользоваться стандартными средствами разработки HTML-страниц (Cache предоставляет add-in модуль для полной интеграции с Macromedia DreamWeaver) или, на крайний случай, обыкновенным текстовым редактором.

В листинге 1 приведен пример небольшого CSP-приложения, которое выводит значения свойств объекта, хранящегося в БД Cache.

Листинг 1.
<html>
<head></head>
<body>
  <script language="Cache" runat="Server">
    set obj=##class(Sample.Person).%OpenId(1)
    write obj.Name,"<br>"
    write obj.Age,"<br>"
    do obj.%Close()
  </script>
</body>
<html>

Таблица 1. Стандартные теги CSP

Вставка данных:

#(а)# Вывод значения переменной/функции/метода
##(a)## то же, но во время компиляции

Управление

<CSP:IFCONDITION='a=1'>

<b>Unautorized!!!</b>

</CSP:IF>

Условие
<CSP:WHILE …>

<CSP:LOOP …>

Циклы

Использование Cache Script

<SCRIPT Language=”Cache” RUNAT=”Server/Compiler”>

….

</SCRIPT>

Скрипт внутри страницы
<SCRIPT Method=methodName Arguments=spec [ReturnType=dataType]>

\Inner Text
</SCRIPT>

Метод CSP класса

Запросы к БД

<CSP:QUERY …>

<CSP:SEARCH …>

<SCRIPT LANGUAGE= ”SQL”…>< /p>< /p>

Запрос класса

Поисковая форма

SQL-запрос

Привязка объекта к форме

<CSP:OBJECT …>

<FORM CspBind=”obj” …>

<INPUT CspBind= ”obj.Name”…>< /p>< /p>

Открытие объекта

Привязка объекта к форме

Привязка свойства к полю

Управление параметрами класса

<CSP:CLASS [Encoded=encodedType] [Private=accessType] [Super=classList] …> Определение родительских классов, режима шифрования и пр.

Стандартные теги приложений Cache приведены в таблице 1. Однако пользователь не ограничен только стандартными тегами. Cache предоставляет также интерфейсы для создания пользовательских тегов приложений.

При открытии CSP-страницы в браузере, Cache автоматически преобразует CSP-страницу в класс Cache (по умолчанию классом-предком для CSP-классов является системный класс %CSP.Page). CSP-класс – это не просто способ представления кода. Это отражение полноценной объектной модели CSP-приложения. Это позволяет при работе с CSP использовать все преимущества объектно-ориентированного подхода, такие как наследование и полиморфизм.

Рисунок 8.

После преобразования CSP-страницы в класс Cache, класс можно редактировать, используя возможности Object Architect, например, возможность контекстной подсветки кода методов.

Для изучения CSP можно воспользоваться примерами, поставляемыми в стандартной комплектации Cache. Для этого необходимо установить Cache и в браузере открыть страницу http://127.0.0.1:1972/ csp/samples/menu.csp (рисунок 8).

Использование классов %Net.SMTP и %Net.POP3 для отправки и приема электронной почты

С помощью классов %Net.SMTP и %Net.POP3 системной библиотеки %Net, поставляемой в стандартной конфигурации, можно реализовать функции отправки и приема электронных писем на базе СУБД Cache.

В листинге 2 приведена Cache-программа, с помощью которой реализуется отправка электронного письма с прикрепленным графическим файлом (test.jpg) по протоколу SMTP.

Листинг 2.
 set s=##class(%Net.SMTP).%New() 
 set s.smtpserver="SMTP.mail.ru"
 set s.timezone="-0400"
 set m=##class(%Net.MailMessage).%New() 
 set m.From="test@company.com"
 do m.To.Insert("receiver@another.com") 
 set m.Subject="Sent by Cache' mail"
 set m.Charset="iso-8859-1" 
 do m.TextData.Write("This is the main body.")
 do m.TextData.Write($char(13,10))
 do m.TextData.Write("This is the second line.")
 do m.TextData.Write($char(13,10))
 set status=m.AttachFile("c:\winnt","test.jpg")
 set status=s.Send(m)
 do m.%Close() 
 do s.%Close() 
 quit

Класс %Net.SMTP поддерживает также отправку сборных (multi-part) электронных писем.

Для реализации функции приема электронных писем можно воспользоваться системным классом %Net.POP3. В листинге 3 приведен пример использования класса %Net.POP3.

Листинг 3.
new mailserver,status,from,to,date,subject,messagesize,m,hdrs,key,mailMsg
set mailserver=##class(%Net.POP3).%New()
set mailserver.AttachDir="d:\attach\"  ; need terminating \
set mailserver.Debug=0
set mailserver.StoreAttachToFile=1
write !,"Calling Connect"
set status=mailserver.Connect("moon.kinich.com","testjsl","jsltest")
write !,"Calling FetchMessage"
set status=mailserver.FetchMessage(13,.from,.to,.date,.subject,.messagesize,.hdrs,.mailMsg,0)
write !,"from="_from
write !,"to="_to
write !,"date="_date
write !,"subject="_subject
write !,"messagesize="_messagesize
write !,"Closing mailserver="_mailserver.%Close()
write !,"Closing mailMsg="_mailMsg.%Close()
quit

4. Версии системы и поддерживаемые платформы.

Последними версиями СУБД Cache являются версии 4.0 и 4.1.1. На рынке высокопроизводительных СУБД Cache позиционируется как eDBMS, т.е. как СУБД, ориентированная на работу в сетях Internet/Intranet. Поэтому при установке проверяется наличие web-сервера и производится автоматическое конфигурирование подсистемы.

Утилиты администрирования и инструментарий разработки приложений в версиях 4.0. и 4.1.1. не отличаются, однако имеются существенные различия в формате хранения данных на диске и использовании ОЗУ компьютера. Так, к примеру, в версии 4.1.1 блок данных, который считывается с диска, может быть равным 8 КБ, в то время, как в версии 4.0. максимальный размер блока равен 2КБ. Разумеется, при считывании блоков данных большего размера с жесткого диска сокращается количество I/O операций, что приводит к повышению производительности системы. Кроме этого, в версии 4.1.1. произведена оптимизация функций журналирования, использования блокировок и других функций.

Описание поддерживаемых СУБД Cache платформ, языков, web-серверов и браузеров для версии 4.1.1. приводится в последующих таблицах.

Таблица 2. Поддерживаемые платформы

Платформа Версия ОС Unicode ODBC SQL Шлюз Notes
Alpha OpenVMS 7.2, 7.3 +      
Alpha Tru64 UNIX 5.1 +      
HP HP/UX 11i        
IBM P Series AIX 4.3.3, 5.1 +      
Red Hat Linux (Intel) 7.1 + +    
Sun Solaris (SPARC) 2.8 +     64-bit only
SuSE Linux (Intel) 7.1 + +    
Windows 95, 98, ME, NT 4 (SP4, SP5, SP6), 2000   + + +  

СУБД Cache поддерживает множество национальных языков (таблица 3). Кроме поддержки языков, специальная утилита CNLS позволяет создавать собственные таблицы трансляции из одного набора символов в другой, задавать различные способы вывода непечатных символов и предоставляет ряд других возможностей. При инсталляции под ОС Windows Cache автоматически определяет региональные настройки операционной системы и устанавливает соответствующую схему локализации. Также предоставляется возможность установки Unicode-версии (16bit) Cache.

Таблица 3. Поддерживаемые национальные языки

Язык 8-Bit
набор символов
Локализация утилит
Чешский Latin 2 -
Голландский Latin 1 +
Английский Latin 1 +
Французский Latin 1 +
Немецкий Latin 1 +
Греческий Latin G -
Иврит Latin H -
Итальянский Latin 1 +
Японский N/A +
Корейский N/A +
Польский Latin 2 -
Португальский Latin 1 +
Русский Latin C +
Испанский Latin 1 +

Для русского языка поддерживаются две таблицы кодировок: Windows-1251 и ISO 8859-5.

Таблица 4. Поддерживаемые Web-серверы

Web-сервер Платформа
Microsoft IIS/PWS Windows 95, 98, NT, 2000
Apache 1.3.12 Alpha Tru64 UNIX
FreeBSD (Intel)
HP HP/UX
IBM PowerPC AIX
Red Hat Linux (Intel)
Sun Solaris (SPARC)
SuSE Linux (Intel)
TurboLinux (Intel)
Windows
Netscape/Sun iPlanet 4.0 Alpha Tru64 UNIX
HP HP/UX
IBM PowerPC AIX
Red Hat Linux (Intel)
Sun Solaris (SPARC)
Compaq Secure Web Server 1.0 Alpha OpenVMS 7.3

СУБД Cache поддерживает архитектуру, в которой web-сервер и сервер БД могут находиться на разных компьютерах.

CSP поддерживает следующие браузеры:

Таблица 5. Поддерживаемые браузеры

Web браузер Версия
Netscape 3.0
4.0
4.7
Internet Explorer 4.0
5.0
5.5
6.0

Как было сказано ранее, Cache может выступать в роли шлюза к реляционным базам данных (РБД). Официально поддерживаются следующие РБД:

Таблица 6. Поддерживаемые РБД.

РБД Версия
Microsoft SQL Server 7.0
2000
Oracle 8
9i

5. Простота инсталляции

При инсталляции Cache автоматически проверяются настройки операционной системы и производится необходимое конфигурирование ресурсов. Так, к примеру, автоматически определяется web-сервер, конфигурируются CSP-компоненты и создаются необходимые виртуальные директории.

Минимальные требования к аппаратному обеспечению для работы под ОС Windows:

Наличие Web-сервера не обязательно. Для тестирования CSP-приложений можно воспользоваться встроенным в СУБД Cache web-сервером (по умолчанию порт 1972). Однако использование встроенного web-сервера для реальной работы не рекомендуется.

При установке Cache на Windows-платформах предоставляется возможность выбора одного из следующих вариантов установки:

После выбора варианта установки программа инсталляции Cache запрашивает информацию о размерности кодировки – 8-битовая или Unicode (16 бит). Выбор кодировки целиком и полностью зависит от требований разработчика, но следует помнить, что Cache автоматически произведет конвертацию из 8-битовой БД в Unicode БД, а обратную конвертацию придется производить вручную.

После успешной установки Cache на панели задач MS Windows появится иконка Cache -куба . С помощью меню, раскрываемого нажатием правой кнопки мыши на Cache-кубе, можно получить доступ ко всем утилитам СУБД Cache (Рисунок 9).

Рисунок 9. Меню Cache-куба

Заключение

В статье описана лишь малая часть того, что реализовано в Cache. Кроме описанных интерфейсов, Cache предоставляет ODBC- и JDBC-драйверы для представления данных из СУБД Cache в виде реляционных таблиц и работы с ними.

СУБД Cache предоставляет стандартные ActiveX-компоненты, которыми можно воспользоваться при создании пользовательского приложения в таких средствах разработки, как Visual Basic. Кроме этого, предоставляется мастер создания форм Cache Form Wizard для облегчения разработки пользовательских форм в среде Visual Basic.

В Cache реализованы интерфейсы CALLIN/CALLOUT, предназначенные для прямого вызова функций СУБД Cache из С-программ и вызова функций операционной системы из Cache. Также предоставляется интерфейс для работы с функциями DLL- библиотек.

Cache предоставляет модуль интеграции со средой проектирования информационных систем Rational Rose. При этом UML-диаграмму классов можно импортировать напрямую в БД Cache , причем классы, а также типы данных свойств на диаграмме будут полностью соответствовать созданным классам и свойствам классов Cache .

Разработчику предоставляется также возможность создания описаний классов Cache на языках Java или С++ и дальнейшей работы с методами и свойствами классов Cache так, как если бы эти классы были реализованы на Java или С++.

Кроме всего перечисленного, в следующей версии Cache планируется обеспечить поддержку XML – общепринятого стандарта для обмена данными между различными платформами и SOAP-протокола для удаленного вызова функций.

Использованная литература:

  1. В.Кирстен, М.Ирингер и др. «СУБД Cache . Объектно-ориентированная разработка приложений», Питер, 2001.

  2. Л.А.Калиниченко «Стандарт систем управления объектными базами данных ODMG-93», СУБД №01/1996.

  3. Материалы сайта www.InterSystems.com  


Copyright © 1994-2016 ООО "К-Пресс"