div.main {margin-left: 20pt; margin-right: 20pt} Отличительные особенности СУБД Cache'
Олег
Сиротюк, инженер по контролю качества InterSystems corporation, http://www.citforum.ru/
Объектно-ориентированные базы данных (ООБД) по сравнению
с традиционными (например, реляционными) БД обеспечивают следующие
преимущества: во-первых, в таких БД хранятся не только данные, но и методы
их обработки, инкапсулированные в одном объекте; во-вторых, ООБД позволяют
обрабатывать мультимедийные данные; в-третьих, ООБД допускают работу на
высоком уровне абстракции; в-четвертых, ООБД позволяют пользователям
создавать структуры данных любой сложности.
При всех достоинствах современной объектной технологии
разработки баз данных имеется несколько препятствий, которые удерживают
разработчиков от принятия решения о переходе с реляционной технологии на
объектную. Основным препятствием является значительный объем разработок,
опирающихся на реляционные СУБД. Ведь при переходе на объектную технологию
необходимо многое начинать "с нуля", и поэтому возникает вопрос
целесообразности такого перехода. Кроме того, объектная технология,
поддерживаемая в ряде постреляционных СУБД, не имеет развитого и
стандартизированного языка генерации отчетов и анализа данных, каким
является структурированный язык запросов SQL. Данные проблемы были решены
при создании постреляционной СУБД Cache' от InterSystems
(www.intersystems.ru). СУБД Cache' обеспечивает не только реализацию
основных возможностей объектно-ориентированной технологии, но и позволяет
во многом облегчить переход с реляционной технологии на объектную, а также
может выступать в роле шлюза к реляционным базам данных.
Отличительной особенностью СУБД Cache' является
независимость хранения данных от способа их представления, что реализуется
с помощью, так называемой, единой архитектуры данных Cache'. В рамках
данной архитектуры существует единое описание объектов и таблиц,
отображаемых непосредственно в многомерные структуры ядра базы данных,
ориентированных на обработку транзакций [1]. Как только определяется класс
объектов, Cache' автоматически генерирует реляционное описание данных
этого класса в формате SQL. Подобным же образом, как только в Словарь
данных поступает DDL-описание в формате реляционной базы данных, Cache'
автоматически генерирует реляционное и объектное описание данных,
устанавливая тем самым доступ в формате объектов. При этом все описания
ведутся согласованно, все операции по редактированию проводятся только с
одним описанием данных. Это позволяет сократить время разработки,
сэкономить вычислительные ресурсы и приложения будут работать значительно
быстрее.
БД Cache' была первой базой данной, предназначенной для
работы в сети Internet/Intranet. В версии Cache' 4.0. реализована
технология создания динамических web-приложений Cache' Server Pages (CSP),
которая пришла на смену технологии Weblink предыдущих версий Cache'. Кроме
этого, системная библиотека %Net предоставляет классы, реализующие
протоколы SMTP, POP3, HTTP, FTP и др.
В статье рассмотрены основные компоненты, функциональные
возможности и характеристики СУБД Cache'.
На рис. 1. представлена архитектура Cache'.
Рис.1. Архитектура системы Cache'.
Основными компонентами СУБД Cache' являются следующие:
TMDM. Многомерное ядро системы, ориентирование на работу с
транзакциями.
Сервер Cache' Objects. Представление многомерных структур данных
ядра системы в виде объектов, инкапсулирующих как данные так и методы их
обработки.
Сервер Cache' SQL. Представление многомерных структур данных в виде
реляционных таблиц.
Сервер прямого доступа. Предоставление прямого доступа к многомерным
структурам данных ядра системы.
Рассмотрим подробнее назначение и функциональные
возможности основных компонентов системы.
Данные в 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"
Применение разреженных массивов позволяет оптимизировать
использование объема жесткого диска и сократить время, требуемое на
выполнение I/O операций и извлечение данных.
В СУБД Cache' реализована развитая технология обработки
транзакций и разрешения конфликтов. Блокировка данных производится на
логическом уровне. Это позволяет учитывать особенность многих транзакций,
производящих изменения небольшого объема информации. Кроме этого, в Cache'
реализованы атомарные операции добавления и удаления без проведения
блокировки, в частности, это применяется для счетчика ID объектов в базе
данных.
Объектная модель 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' хранится в двух формах:
Описательная форма. Поддерживается развитый язык описания классов
объектов - CDL (class definition language). В версии Cache' 4.2.
планируется обеспечить поддержку языков UDL (unified definition
language) и XML (extensible markup language).
Объектная run-time форма. Использование класса возможно только после
его компиляции в объектный код.
СУБД Cache' является уникальной системой. Наряду с
реализацией в полном объеме основных принципов объектной технологии в СУБД
Cache' поддерживается также структурированный язык запросов SQL для
обеспечения выполнения запросов по стандарту, поддерживаемому многими
инструментальными средствами. Кроме этого, с помощью единой архитектуры
данных Cache' возможно автоматическое преобразование реляционных таблиц в
классы объектов. При этом, при поступлении на сервер Cache' SQL
DDL-описания реляционной таблицы Cache' автоматически преобразует
DDL-описание во внутреннюю структуру хранения данных и сохраняет
полученную структуру в словаре данных. Затем с помощью поставляемых в
стандартной комплектации Java- или ODBC- драйверов производится импорт
данных из реляционных таблиц в многомерные структуры ядра Cache'. После
чего Cache' предоставляет возможность работы с данными, как в виде
реляционных таблиц, так и в виде классов объектов. Таким образом, при
переходе с реляционной технологии на объектную технологию разработка не
начинается с "нуля" - многое уже сделано Cache' автоматически.
Классы Cache' также могут быть представлены в виде
реляционных таблиц, причем соотношение между разнообразными понятиями
объектного и реляционного подходов представлены ниже:
Объектное понятие
Реляционное понятие
Класс |
Таблица |
Экземпляр |
Строка |
Идентификатор объекта (OID) |
ID-столбец в виде первичного ключа |
Свойство-константа |
Столбец |
Ссылка на хранимый объект |
Внешний ключ |
Встраиваемый объект |
Индивидуальные столбцы |
Коллекция-список |
Столбец с полем-списком |
Коллекция-массив |
Подтаблица |
Поток данных |
BLOB |
Индекс |
Индекс |
Запрос |
Хранимая процедура или представление |
Метод класса |
Хранимая процедура |
Отметим, что в таблице не обозначены понятия параметров
класса, многомерных свойств и методов объекта, так как в реляционной
технологии им нет аналогов. Дополнительно к объектным понятиям в Cache'
поддерживаются еще и триггеры, присутствующие в реляционном представлении.
Доступ к данным с использованием языка SQL продолжает
играть важную роль, т.к. многие существующие приложения и инструменты
используют SQL в качестве языка запросов. СУБД Cache' поддерживает все
элементы ANSI-стандартов, реализованных для SQL и SQL-92.
Для облегчения разработки прикладных систем баз данных,
Cache' поддерживает встраивание 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. Пример демонстрирует случай использования встроенного
SQL-запроса, не основанного на курсоре. В данном случае запрос всегда
возвращает только одну строку.
Если же необходимо получить несколько строк из
результирующей выборки запроса необходимо использовать SQL, основанный на
курсоре. Курсор в данном случае является указателем на одну строку и при
проведении операции FETCH курсор передвигается к следующей строке.
Использование курсора предполагает выполнение следующей
последовательности операций:
Объявление курсора;
Открытие курсора;
Проведение серий операций чтения (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 на
SQL-запрос SELECT, после чего определенный курсор открывается, а затем с
помощью команды FETCH производится последовательное сканирование
результатов выборки и в локальных переменных surname и DateOB сохраняются
соответствующие значения полей Surname и DateOfBirth таблицы Person. После
этого курсор закрывается.
С помощью сервера Cache' Direct разработчик получает
доступ к многомерным структурам ядра системы. Встроенный в СУБД Cache'
язык программирования COS предоставляет ряд функций для работы с массивами
данных или глобалями, составляющими ядро системы. Использование прямого
доступа к данным позволяет оптимизировать время доступа к данным. Для
прямого доступа и работы с многомерными структурами ядра системы можно
воспользоваться утилитой эмуляции ASCII-терминала Cache' Terminal, которая
обычно используется для целей обучения языку COS и тестирования работы
терминального приложения (рис.3).
Рис.3. Cache' Terminal
В стандартной поставке системы разработчику предлагается
два средства администрирования Cache':
Configuration Manager
Control Panel.
С помощью Configuration Manager можно выполнить следующие
функции администрирования:
Создать новую БД, удалить или изменить настройки существующей БД. С
точки зрения физического хранения, БД Cache' - это бинарный файл
Cache'.DAT. Для каждой БД создается свой файл Cache'.DAT в отдельной
директории.
Определить область (Namespace) для существующей БД, под которой в
Cache' понимается логическая карта, на которой указаны имена многомерных
массивов - глобалей и программ файла Cache'.DAT, включая имена
каталога-директории и сервера данных для этого файла. При обращении к
глобалям используется имя области.
Определить CSP-приложение. Для использования CSP-приложений
необходимо определить виртуальную директорию на web-сервере, физическую
директорию хранения CSP-приложений, а также несколько специфических для
CSP настроек, таких как, к примеру, класс-предок для CSP приложений (по
умолчанию принимается системный класс %CSP.Page).
Определить сетевое окружение Cache'. В Cache' реализован собственный
протокол работы с сетью распределенного окружения БД, носящий название
DCP (Distributed Cache' Protocol). С помощью интерфейсов Configuration
Manager можно определить источники данных в сети, а также определить
связи между различными компонентами сети.
Настройка системы Cache'. Разработчику предоставляется возможность
конфигурирования различных компонент Cache', таких как параметры
журналирования, настройки теневых серверов, параметры сервера лицензий,
параметры Cache'-процессов и другие.
Утилита Control Panel предоставляет схожий набор функций
администрирования и добавляет следующие новые:
Управление процессами Cache'.
Настройка параметров защиты глобалей, таких как разрешение на
редактирование/создание/чтение глобалей различными группами
пользователей.
Определение пользователей системы с присваиванием им имени
пользователя, пароля и определение параметров доступа.
Просмотр файлов журнала. Журналирование в Cache' выполняется на
уровне глобалей.
Определение теневых серверов системы.
Создание резервных копий баз данных.
В СУБД Cache' реализован собственный язык
программирования Cache' Object Script (COS). COS - это расширенная и
переработанная версия языка программирования M (ANSI MUMPS).
В первую очередь, COS предназначен для написания
исходного кода методов класса. Кроме этого, в Cache' вводится понятие
Cache'-программы. Cache'-программа не является составной частью классов и
предназначена для написания прикладного программного обеспечения для
текстовых терминальных систем.
Для создания Cache'-программ и классов Cache'
предназначены утилиты Cache' Studio и Cache' Architect.
Рис.4. Cache' Studio.
С помощью утилиты Cache' Studio можно создавать
Cache'-программы. Внешний вид утилиты приведен на рис.4. Для удобства
пользователя в Cache' Studio реализована контекстная подцветка команд,
функций и операторов COS.
Рис.5. Cache' Architect.
Утилита Cache' Architect предназначена для работы с
классами Cache'. Разработчику предоставляется ряд мастеров (wizard), для
создания новых и редактирования параметров существующих классов, методов,
свойств и др. компонент классов Cache'. Внешний вид утилиты Cache'
Architect приведен на рис.5.
Для доступа к многомерным структурам ядра СУБД Cache'
можно воспользоваться утилитой Cache' Explorer. Утилита Cache' Explorer
предоставляет ряд интерфейсов для просмотра, импорта/экспорта, печати на
принтер и др. глобалей, классов Cache', программ Cache'. Внешний вид
утилиты приведен на рис. 6.
Рис.6. Cache' Explorer.
Основой концепции серверных страниц 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>
Стандартные теги приложений Cache' приведены в Таблице 1.
Однако пользователь не ограничен только стандартными тегами. Cache'
предоставляет также интерфейсы для создания пользовательских тегов
приложений.
Таблица 1. Стандартные теги CSP.
Вставка данных:
#(а)# |
Вывод значения переменной/функции/метода |
##(a)## |
тоже, но во время компиляции |
Управление
<CSP:IF CONDITION='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" …> |
Запрос класса Поисковая форма SQL-запрос |
Привязка объекта к форме
<CSP:OBJECT …>
<FORM CspBind="obj" …>
<INPUT CspBind="obj.Name" …> |
Открытие объекта Привязка объекта к форме Привязка свойства
к полю |
Управление параметрами класса
<CSP:CLASS [Encoded=encodedType]
[Private=accessType]
[Super=classList] …> |
Определение родительских классов, режима шифрования и
пр. |
При открытии CSP-страницы в браузере Cache' автоматически
преобразует CSP-страницу в класс Cache' (по умолчанию классом-предком для
CSP-классов является системный класс %CSP.Page). CSP-класс - это не просто
способ представления кода. Это отражение полноценной объектной модели
CSP-приложения. Т.е. можно использовать все преимущества объектного
подхода к разработке при работе с CSP, такие как наследование и
полиморфизм.
После преобразования CSP-страницы в класс Cache' класс
можно редактировать, используя возможности Object Architect, например,
возможность контекстной подцветки кода методов.
Для изучения CSP можно воспользоваться примерами,
поставляемыми в стандартной комплектации Cache'. Для этого необходимо
установить Cache' и в браузере обратиться по адресу
http://127.0.0.1:1972/csp/samples/menu.csp:
С помощью классов %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
Последними версиями СУБД Cache' являются версии 4.0 и
4.1.1. На рынке высокопроизводительных СУБД Cache' позиционируется как
eDBMS, т.е. как СУБД, ориентированная на работу в сетях Internet/Intranet.
Разработчику предоставляется обширный набор функций, реализующих
большинство стандартных протоколов Internet, таких как SMTP, HTTP, POP3 и
др. Кроме этого, разработчику предоставляется развитая технология
разработки динамических web-приложений CSP. Поэтому при установке
проверяется наличие web-сервера и производится автоматическое
конфигурирование подсистемы.
Утилиты администрирования и инструментарий разработки
приложений в версиях 4.0. и 4.1.1. не отличаются, однако имеются
существенные различия в формате хранения данных на диске и использовании
ОЗУ компьютера временными библиотеками. Так, к примеру, в версии 4.1.1
блок данных, который считывается с диска, может быть равным 8 КБ, в то
время, как в версии 4.0. максимальный размер блока равен 2КБ. Разумеется,
при считывании блоков данных большего размера с жесткого диска сокращается
количество I/O операций, что приводит к повышению производительности
системы. Кроме этого, в версии 4.1.1. произведена оптимизация функций
журналирования, использования блокировок и других функций.
Описание поддерживаемых СУБД Cache' платформ, языков,
web-серверов и браузеров для Cache' версии 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.
СУБД Cache' поддерживает архитектуру, в которой
web-сервер и сервер БД могут находиться на разных компьютерах.
Таблица 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 |
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 |
При инсталляции Cache' происходит автоматическая проверка
настроек операционной системы и производится необходимое конфигурирование
ресурсов. Так, к примеру, производится автоматическое определение
web-сервера, конфигурирование CSP-компонентов и создание необходимых
виртуальных директорий.
Минимальные требования к аппаратному обеспечению для
работы под ОС Windows:
Процессор Intel Pentium.
ОЗУ - 64 Мбайт (минимум).
100 Мбайт свободного места на диске.
Сконфигурированный протокол TCP/IP с фиксированным IP-адресом.
Наличие Web-сервера не обязательно. Для тестирования
CSP-приложений можно воспользоваться встроенным в СУБД Cache' web-сервером
(по умолчанию порт 1972). Однако использование встроенного web-сервера для
реальной работы не рекомендуется.
При установке Cache' под Windows-платформами
предоставляется возможность выбора одного из следующих вариантов
установки:
Standard. Устанавливаются сам сервер БД Cache', ActiveX-компоненты,
CSP-компоненты, инструментарий разработки и администрирования СУБД,
документация.
Client. Устанавливаются клиентские компоненты администрирования и
разработки приложений Cache'.
Custom. Выборочная установка компонентов СУБД Cache'.
После выбора варианта установки программа инсталляции
Cache' запрашивает информацию о размерности кодировки - 8-битовая или
Unicode (16 бит). Выбор кодировки целиком и полностью зависит от
требований разработчика, однако следует помнить, что Cache' автоматически
произведет конвертацию из 8-битовой БД в Unicode БД, однако обратную
конвертацию придется производить вручную.
После успешной установки Cache' на панели задач MS
Windows появится иконка Cache'-куба . С помощью меню, раскрываемого нажатием правой кнопки мыши на
Cache'-кубе, можно получить доступ ко всем утилитам СУБД Cache':
Рис.8. Меню 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-протокола для удаленного
вызова функций.
|