Oracle9i Lite: идеальная платформа для мобильных данных
Oracle9i Lite: идеальная платформа для мобильных данных
При создании приложений баз данных (БД) перед разработчиком встает проблема выбора сервера БД, который мог бы удовлетворять все более растущим потребностям. И когда говоришь про СУБД корпорации Oracle, то обычно слышишь о заоблачных ценах и сложности администрирования. Хочется обратить ваше внимание на редко упоминающийся в нашей стране сервер Oracle 9i Lite, который предназначен для мобильных устройств. При огромных возможностях данный сервер практически не требует администрирования и имеет привлекательную цену. Судя по прайсам дилеров, цена лицензии держится на уровне в несколько раз ниже цены на типовые прикладные программы, что вполне приемлемо для небольших организаций. К тому же, корпорация Oracle предоставляет бесплатную лицензию для разработчиков на разработку и отладку прикладного программного обеспечения. Использование Oracle 9i Lite позволит вам поднять свою квалификацию и подготовиться к использованию профессионального сервера Oracle 9i.
Большинство разработчиков сразу же возразят, что есть аналогичные бесплатные продукты. На это очень трудно возразить, но опыт использования данной СУБД в течение нескольких лет и поиски бесплатной альтернативы с аналогичными возможностями не принесли ощутимых результатов. Единственным конкурирующим продуктом можно назвать, пожалуй, СУБД PostgreSql, но на текущий момент нет официальной реализации данной СУБД под платформу Windows, что сильно тормозит ее использование. Да и требования по системным ресурсам у PostgreSql на уровне профессиональной БД. Получившая широкое распространение в нашей стране СУБД Interbase сильно уступает по функциональным возможностям, которых после общения с продуктами Oracle катастрофически не хватает.
Итак, что же такое СУБД Oracle 9i Lite? Это отдельно развивающийся продукт, предназначенный для удаленной работы с частью корпоративных данных. При этом используют мобильные устройства от Palm Computing Platform, Microsoft Pocket PC, Symbian EPOC и Windows 95/98/NT/2000 до смартфонов — например, Nokia Commu-nicator 9210. Сразу оговорюсь, что это не Personal Oracle. Судя по материалам дискуссионных форумов, многие путают эти программные продукты. Первая версия Oracle Lite была представлена общественности в 1997 году. А на текущий момент последним билдом является версия 5.0.2., которая успешно решает проблемы, стоящие перед разработчиками БД. Данная версия БД является прекрасным решением для создания по-настоящему мобильных приложений. Oracle9i Lite облегчает разработку, развертывание и управление автономными мобильными приложениями баз данных для большого числа мобильных пользователей. Автономное мобильное приложение — это приложение, которое выполняется на мобильных компьютерах и не требуюет постоянного соединения с основным (корпоративным) сервером базы данных. Такое приложение использует локальную базу данных на мобильном компьютере, которая является частью данных корпоративного сервера базы данных. Изменения, производимые мобильным приложением в локальной базе данных, периодически синхронизируются с данными на сервере БД. Данный процесс называется синхронизацией или репликацией данных, при этом специальный сервер разрешает возникающие конфликты данных. Клиентская часть Oracle 9i Lite требует минимум ресурсов. На практике это объем порядка 1 Мб для программных модулей, не считая файлов базы данных. Начальный объем базы данных, содержащий системные таблицы, составляет около 200 Кб. Интересно, что клиентская часть может функционировать автономно без необходимости установки мобильного сервера. В итоге мы получаем мобильный сервер базы данных, помещающийся на одну дискетку (если не использовать хранимые процедуры и функции на Java) и не требующий администрирования. В документации по инсталляции версий Oracle 9i выше 5-го билда такой режим работы БД не рассматривается, но он использовался в более ранних версиях и, как показывает практика, продолжает успешно работать. Методика формирования минимальной конфигурации инсталлятора — это тема отдельной статьи. Опыт практического использования приведенной конфигурации показал высокую надежность данной мини-СУБД. К примеру, одно из приложений по учету абонентов кабельного телевидения работало автономно более года без администрирования до замены на более новую версию. Причем приложением пользовались ежедневно и достаточно активно в течение всего рабочего дня. Сравнение по производительности с сервером Oracle 8i показало, что мобильная версия не намного уступает корпоративной. А учитывая, что мощности современных персональных компьютеров больше чем достаточно для типовых задач, Oracle 9i Lite вполне может конкурировать с общепринятой клиент-серверной конфигурацией, использующей профессиональный сервер. Большим преимуществом данной конфигурации является также то, что в случае необходимости перехода на более мощный сервер БД Oracle 9i не придется переписывать прикладное программное обеспечение. Достаточно установить мобильный сервер и работать в штатном режиме Oracle 9i Lite либо простой заменой драйвера доступа с БД напрямую соединяться с корпоративным сервером.
Архитектура Oracle 9i Lite
Инсталляционный диск Oracle9i Lite включает два основных компонента: Oracle9i Lite Mobile Server и Oracle9i Lite Mobile Development Kit.
Oracle9i Lite Mobile Server
Мобильный сервер устанавливается на компьютер, который имеет доступ к корпоративному серверу БД. Он предназначен для организации репликации данных локальных баз данных мобильных компьютеров с корпоративным сервером Oracle 8i или Oracle9i. При этом используется механизм публикации (отображения) объектов центрального сервера на мобильные базы данных. Каждому клиенту назначаются только специфичные для него объекты и данные, что позволяет снизить размер локальных копий БД. Мобильный сервер позволяет использовать различные методы репликации данных. Возможно соединение клиентов по локальной сети, прямое модемное, HTTP, а также с использованием физических носителей (дискеты, CD-диски и т.д.). Таким образом, мобильный клиент может реплицировать локальные данные своего компьютера с центральным сервером БД практически из любой точки земного шара через сеть Internet. Мобильный сервер требует минимального администрирования с использованием web-интерфейса, которое в основном заключается в раздаче прав пользователям, контроля их работы и публикации доступных приложений. Очень интересна функция инсталляции прикладных приложений. Для этого администратор просто публикует их на мобильном сервере и раздает права на доступ клиентам. На мобильном компьютере через web-интерфейс получаем доступ к web-серверу, после идентификации вам предоставляется список доступных приложений. После выбора приложения из списка при отсутствии данной версии приложения на мобильном клиенте производится его закачка и автоматическая инсталляция.
Web-to-Go
Web-to-Go представляет собой технологию, позволяющую web-ориентированным приложениям оперативно переключаться между режимами on-line и off-line. При переходе в off-line-режим специфичные для пользователя данные переносятся на мобильный компьютер, после чего это мобильное устройство, например, notebook, может использоваться автономно. При переходе в режим off-line приложение работает с локальной копией данных так же, как и в on-line-режиме. У пользователя есть возможность не только просматривать, но и корректировать локальные данные. В любой момент можно подключить мобильное устройство обратно к сети и произвести двустороннюю синхронизацию данных с основным сервером. Технология Web-to-Go на текущий момент доступна для мобильных компьютеров под управлением Windows 98/NT/2000.
Branch Office
Branch Office является идеальным решением для удаленных подразделений и отделов, типовым примером чему могут являться филиалы магазинов, имеющих центральный офис и удаленные филиалы. При этом в центральном офисе размещается мобильный и корпоративный сервер, а в филиалах — серверы Branch Office, к каждому из которых может быть установлено до 16 одновременных конкурирующих соединений мобильных клиентов. В данной конфигурации используется многопользовательская версия технологии Web-to-Go. Данные серверы Branch Office периодически синхронизируются с корпоративным сервером БД по расписанию или по необходимости.
Oracle9i Lite Mobile Develop-ment Kit
Mobile Development Kit включает в себя инструментарий для разработки, набор программных интерфейсов API, а также средства для обслуживания СУБД Oracle 9i Lite. В составе данного пакета приведены примеры исходных кодов, которые позволяют ускорить разработку прикладных приложений, использующих базу данных Oracle9i Lite. Mobile Development Kit предоставляет разработчикам четыре модели разработки приложений баз данных: двоичные (native), Java, Web-to-Go и Branch Office.
Mobile Development Kit позволяет вести быструю разработку приложений Web-to-Go с использованием Java-сервлетов и Java Server Pages (JSP).
Для создания native-приложений могут использоваться Delphi, C++ и т.д. Native-приложения для доступа к базе данных Oracle9i Lite используют ODBC-драйвер.
Java-приложения для доступа к БД используют JDBC. Независимость от платформы делает этот язык программирования наиболее привлекательным для использования, так как приложения будут работать без перекомпиляции на любой системе, для которой реализована Java-машина. К тому же, версия JDBC-сервера Oracle 9i Lite взаимодействует с БД напрямую, что повышает производительность.
Основные черты Oracle 9i Lite
Поддержка Intermediate SQL92
В числе множества функций данного стандарта реализована функция CASE, что очень упрощает разработку сложных SQL-запросов.
Поддержка большого количества конструкций СУБД Oracle 9i
Синтаксис Oracle 9i Lite позволяет писать полностью совместимые с Oracle 9i приложения и разрабатывать их без доступа к профессиональному серверу. Особенно хочется отметить реализацию в Oracle 9i Lite вложенных и коррелированных запросов, а также иерархических запросов.
Интерфейсы для разработки баз данных
• Для реляционных баз данных:
— JDBC;
— ODBC,
• Для объектных баз данных:
— Object Kernel API (OKAPI).
Поддержка транзакций
Допустимо до 32 одновременных конкурирующих соединений. И для каждого соединения запускается свой сервис поддержки транзакций.
Поддержка Java
• Прямой JDBC-драйвер.
• Поддержка хранимых процедур, функций и триггеров, написанных на Java.
• Библиотека классов Java Access Classes (JAC) для объектно-ориентированного доступа к базе данных.
• Поддержка SQLJ, который является стандартом для включения статических SQL-выражений в Java-программы и позволяет значительно уменьшить объем дополнительного кода в программах.
Мобильность данных
Вы можете оперативно получить доступ к части корпоративных данных, находясь в командировке или работая в офисе клиента. Порой это может быть самым решающим фактором для выбора в пользу данного решения.
БД в режиме "только чтение"
Данная возможность позволяет создавать мультимедийные презентации ваших программ на CD-дисках. Режим также очень удобен при создании различных информационных систем, содержащих статические данные — например, различные справочники.
Возможность создания дистрибутива на одной дискете
Данную конфигурацию вы можете использовать как на рабочем месте разработчика, так и на рабочих местах пользователей для создания приложений, не требующих многопользовательского режима доступа. А используя технологию Branch Оffice, можно организовать многопользовательскую систему для небольшой фирмы.
Версию СУБД Oracle 9i Lite для различных операционных систем c лицензией на разработку прикладного программного обеспечения можно скачать по адресу: http://otn.oracle.com/software/products/lite/content.html .
Предварительно нужно будет зарегистрироваться на Oracle Technology Network (OTN) по адресу: http://otn.oracle.com . Там же можно бесплатно заказать CD-диски с данной СУБД, но на их доставку может уйти от двух недель до месяца.
Рис. 1. Архитектура мобильного сервера
Рис. 2. Архитектура Branch Office
Сергей Бердачук, Berdachuk@tochka.by
Начальник отдела разработки автоматизированных информационных систем
БОКУП Центр внедрения научно-технических разработок
При создании приложений баз данных (БД) перед разработчиком встает проблема выбора сервера БД, который мог бы удовлетворять все более растущим потребностям. И когда говоришь про СУБД корпорации Oracle, то обычно слышишь о заоблачных ценах и сложности администрирования. Хочется обратить ваше внимание на редко упоминающийся в нашей стране сервер Oracle 9i Lite, который предназначен для мобильных устройств. При огромных возможностях данный сервер практически не требует администрирования и имеет привлекательную цену. Судя по прайсам дилеров, цена лицензии держится на уровне в несколько раз ниже цены на типовые прикладные программы, что вполне приемлемо для небольших организаций. К тому же, корпорация Oracle предоставляет бесплатную лицензию для разработчиков на разработку и отладку прикладного программного обеспечения. Использование Oracle 9i Lite позволит вам поднять свою квалификацию и подготовиться к использованию профессионального сервера Oracle 9i.
Большинство разработчиков сразу же возразят, что есть аналогичные бесплатные продукты. На это очень трудно возразить, но опыт использования данной СУБД в течение нескольких лет и поиски бесплатной альтернативы с аналогичными возможностями не принесли ощутимых результатов. Единственным конкурирующим продуктом можно назвать, пожалуй, СУБД PostgreSql, но на текущий момент нет официальной реализации данной СУБД под платформу Windows, что сильно тормозит ее использование. Да и требования по системным ресурсам у PostgreSql на уровне профессиональной БД. Получившая широкое распространение в нашей стране СУБД Interbase сильно уступает по функциональным возможностям, которых после общения с продуктами Oracle катастрофически не хватает.
Итак, что же такое СУБД Oracle 9i Lite? Это отдельно развивающийся продукт, предназначенный для удаленной работы с частью корпоративных данных. При этом используют мобильные устройства от Palm Computing Platform, Microsoft Pocket PC, Symbian EPOC и Windows 95/98/NT/2000 до смартфонов — например, Nokia Commu-nicator 9210. Сразу оговорюсь, что это не Personal Oracle. Судя по материалам дискуссионных форумов, многие путают эти программные продукты. Первая версия Oracle Lite была представлена общественности в 1997 году. А на текущий момент последним билдом является версия 5.0.2., которая успешно решает проблемы, стоящие перед разработчиками БД. Данная версия БД является прекрасным решением для создания по-настоящему мобильных приложений. Oracle9i Lite облегчает разработку, развертывание и управление автономными мобильными приложениями баз данных для большого числа мобильных пользователей. Автономное мобильное приложение — это приложение, которое выполняется на мобильных компьютерах и не требуюет постоянного соединения с основным (корпоративным) сервером базы данных. Такое приложение использует локальную базу данных на мобильном компьютере, которая является частью данных корпоративного сервера базы данных. Изменения, производимые мобильным приложением в локальной базе данных, периодически синхронизируются с данными на сервере БД. Данный процесс называется синхронизацией или репликацией данных, при этом специальный сервер разрешает возникающие конфликты данных. Клиентская часть Oracle 9i Lite требует минимум ресурсов. На практике это объем порядка 1 Мб для программных модулей, не считая файлов базы данных. Начальный объем базы данных, содержащий системные таблицы, составляет около 200 Кб. Интересно, что клиентская часть может функционировать автономно без необходимости установки мобильного сервера. В итоге мы получаем мобильный сервер базы данных, помещающийся на одну дискетку (если не использовать хранимые процедуры и функции на Java) и не требующий администрирования. В документации по инсталляции версий Oracle 9i выше 5-го билда такой режим работы БД не рассматривается, но он использовался в более ранних версиях и, как показывает практика, продолжает успешно работать. Методика формирования минимальной конфигурации инсталлятора — это тема отдельной статьи. Опыт практического использования приведенной конфигурации показал высокую надежность данной мини-СУБД. К примеру, одно из приложений по учету абонентов кабельного телевидения работало автономно более года без администрирования до замены на более новую версию. Причем приложением пользовались ежедневно и достаточно активно в течение всего рабочего дня. Сравнение по производительности с сервером Oracle 8i показало, что мобильная версия не намного уступает корпоративной. А учитывая, что мощности современных персональных компьютеров больше чем достаточно для типовых задач, Oracle 9i Lite вполне может конкурировать с общепринятой клиент-серверной конфигурацией, использующей профессиональный сервер. Большим преимуществом данной конфигурации является также то, что в случае необходимости перехода на более мощный сервер БД Oracle 9i не придется переписывать прикладное программное обеспечение. Достаточно установить мобильный сервер и работать в штатном режиме Oracle 9i Lite либо простой заменой драйвера доступа с БД напрямую соединяться с корпоративным сервером.
Архитектура Oracle 9i Lite
Инсталляционный диск Oracle9i Lite включает два основных компонента: Oracle9i Lite Mobile Server и Oracle9i Lite Mobile Development Kit.
Oracle9i Lite Mobile Server
Мобильный сервер устанавливается на компьютер, который имеет доступ к корпоративному серверу БД. Он предназначен для организации репликации данных локальных баз данных мобильных компьютеров с корпоративным сервером Oracle 8i или Oracle9i. При этом используется механизм публикации (отображения) объектов центрального сервера на мобильные базы данных. Каждому клиенту назначаются только специфичные для него объекты и данные, что позволяет снизить размер локальных копий БД. Мобильный сервер позволяет использовать различные методы репликации данных. Возможно соединение клиентов по локальной сети, прямое модемное, HTTP, а также с использованием физических носителей (дискеты, CD-диски и т.д.). Таким образом, мобильный клиент может реплицировать локальные данные своего компьютера с центральным сервером БД практически из любой точки земного шара через сеть Internet. Мобильный сервер требует минимального администрирования с использованием web-интерфейса, которое в основном заключается в раздаче прав пользователям, контроля их работы и публикации доступных приложений. Очень интересна функция инсталляции прикладных приложений. Для этого администратор просто публикует их на мобильном сервере и раздает права на доступ клиентам. На мобильном компьютере через web-интерфейс получаем доступ к web-серверу, после идентификации вам предоставляется список доступных приложений. После выбора приложения из списка при отсутствии данной версии приложения на мобильном клиенте производится его закачка и автоматическая инсталляция.
Web-to-Go
Web-to-Go представляет собой технологию, позволяющую web-ориентированным приложениям оперативно переключаться между режимами on-line и off-line. При переходе в off-line-режим специфичные для пользователя данные переносятся на мобильный компьютер, после чего это мобильное устройство, например, notebook, может использоваться автономно. При переходе в режим off-line приложение работает с локальной копией данных так же, как и в on-line-режиме. У пользователя есть возможность не только просматривать, но и корректировать локальные данные. В любой момент можно подключить мобильное устройство обратно к сети и произвести двустороннюю синхронизацию данных с основным сервером. Технология Web-to-Go на текущий момент доступна для мобильных компьютеров под управлением Windows 98/NT/2000.
Branch Office
Branch Office является идеальным решением для удаленных подразделений и отделов, типовым примером чему могут являться филиалы магазинов, имеющих центральный офис и удаленные филиалы. При этом в центральном офисе размещается мобильный и корпоративный сервер, а в филиалах — серверы Branch Office, к каждому из которых может быть установлено до 16 одновременных конкурирующих соединений мобильных клиентов. В данной конфигурации используется многопользовательская версия технологии Web-to-Go. Данные серверы Branch Office периодически синхронизируются с корпоративным сервером БД по расписанию или по необходимости.
Oracle9i Lite Mobile Develop-ment Kit
Mobile Development Kit включает в себя инструментарий для разработки, набор программных интерфейсов API, а также средства для обслуживания СУБД Oracle 9i Lite. В составе данного пакета приведены примеры исходных кодов, которые позволяют ускорить разработку прикладных приложений, использующих базу данных Oracle9i Lite. Mobile Development Kit предоставляет разработчикам четыре модели разработки приложений баз данных: двоичные (native), Java, Web-to-Go и Branch Office.
Mobile Development Kit позволяет вести быструю разработку приложений Web-to-Go с использованием Java-сервлетов и Java Server Pages (JSP).
Для создания native-приложений могут использоваться Delphi, C++ и т.д. Native-приложения для доступа к базе данных Oracle9i Lite используют ODBC-драйвер.
Java-приложения для доступа к БД используют JDBC. Независимость от платформы делает этот язык программирования наиболее привлекательным для использования, так как приложения будут работать без перекомпиляции на любой системе, для которой реализована Java-машина. К тому же, версия JDBC-сервера Oracle 9i Lite взаимодействует с БД напрямую, что повышает производительность.
Основные черты Oracle 9i Lite
Поддержка Intermediate SQL92
В числе множества функций данного стандарта реализована функция CASE, что очень упрощает разработку сложных SQL-запросов.
Поддержка большого количества конструкций СУБД Oracle 9i
Синтаксис Oracle 9i Lite позволяет писать полностью совместимые с Oracle 9i приложения и разрабатывать их без доступа к профессиональному серверу. Особенно хочется отметить реализацию в Oracle 9i Lite вложенных и коррелированных запросов, а также иерархических запросов.
Интерфейсы для разработки баз данных
• Для реляционных баз данных:
— JDBC;
— ODBC,
• Для объектных баз данных:
— Object Kernel API (OKAPI).
Поддержка транзакций
Допустимо до 32 одновременных конкурирующих соединений. И для каждого соединения запускается свой сервис поддержки транзакций.
Поддержка Java
• Прямой JDBC-драйвер.
• Поддержка хранимых процедур, функций и триггеров, написанных на Java.
• Библиотека классов Java Access Classes (JAC) для объектно-ориентированного доступа к базе данных.
• Поддержка SQLJ, который является стандартом для включения статических SQL-выражений в Java-программы и позволяет значительно уменьшить объем дополнительного кода в программах.
Мобильность данных
Вы можете оперативно получить доступ к части корпоративных данных, находясь в командировке или работая в офисе клиента. Порой это может быть самым решающим фактором для выбора в пользу данного решения.
БД в режиме "только чтение"
Данная возможность позволяет создавать мультимедийные презентации ваших программ на CD-дисках. Режим также очень удобен при создании различных информационных систем, содержащих статические данные — например, различные справочники.
Возможность создания дистрибутива на одной дискете
Данную конфигурацию вы можете использовать как на рабочем месте разработчика, так и на рабочих местах пользователей для создания приложений, не требующих многопользовательского режима доступа. А используя технологию Branch Оffice, можно организовать многопользовательскую систему для небольшой фирмы.
Версию СУБД Oracle 9i Lite для различных операционных систем c лицензией на разработку прикладного программного обеспечения можно скачать по адресу: http://otn.oracle.com/software/products/lite/content.html .
Предварительно нужно будет зарегистрироваться на Oracle Technology Network (OTN) по адресу: http://otn.oracle.com . Там же можно бесплатно заказать CD-диски с данной СУБД, но на их доставку может уйти от двух недель до месяца.
Рис. 1. Архитектура мобильного сервера
Рис. 2. Архитектура Branch Office
Сергей Бердачук, Berdachuk@tochka.by
Начальник отдела разработки автоматизированных информационных систем
БОКУП Центр внедрения научно-технических разработок
Компьютерная газета. Статья была опубликована в номере 43 за 2003 год в рубрике soft :: субд