Аналитика
СУБД и программные продукты фирмы Oracle
Андрей Сахаров
(Окончание. Начало в N 117-118.)
Интегрируемость разнородных данных и приложений
Анализ показывает, что сегодня структурированные данные – это всего лишь 10% от общего объема информации, обрабатываемой в организации. Таким образом, оставшиеся 90% составляют: неструктурированные текстовые данные (документы, отчеты, письма, заявки, маркетинговые материалы), многомерные данные (например, электронные образы географических карт) и мультимедиа-данные (анимация, аудио- и видеоролики, обучающие программы, персональные сводки новостей). Все они не попадают в "поле зрения" традиционных прикладных систем, которые в первую очередь ориентированы на обработку структурированных данных.

В этой связи сложилась ситуация, когда автоматизация работы с каждым из перечисленных типов данных осуществляется на основе разнородных программных средств, построенных на различных архитектурах и плохо совместимых друг с другом.
Уникальной особенностью Oracle7 как раз и является возможность интегрированного хранения в единой БД не только структурированных, но и любых неструктурированных данных – текстовых, пространственных многомерных, поточной аудио- и видеоинформации, – а также унификации инструментальных средств работы с данными любого из перечисленных выше типов на основе специальных расширений языков SQL и PL/SQL
Средства хранения и работы с неструктурированной текстовой информацией Oracle TextServer 3 (Oracle TextServer Option). Здесь реализована возможность автоматической индексации текстовых данных, хранящихся в БД Oracle или файлах операционной системы: после индексации текст может быть быстро найден, а документы, его содержащие, – идентифицированы и (или) извлечены. Предоставляется возможность поиска текста по синонимам, группам слов и т.д., причем в одном запросе в качестве критериев поиска одновременно могут использоваться как структурированные, так и неструктурированные данные.
Oracle TextServer полностью интегрирован с другими программными компонентами Oracle7 DBMS, а в его основе лежит расширенный вариант языка SQL, в который добавлены специальные конструкции для работы с неструктурированными текстовыми данными.
Средства хранения и работы с многомерной пространственной информацией Oracle Multi-Dimensional Option (другое название продукта – Oracle Spatial Data Option). Наиболее типичным примером такой информации являются электронные образы географических карт. В большинстве известных в настоящее время геоинформационных систем собственно пространственные многомерные данные хранятся в специализированных БД, а описания их характеристик – в коммерческих реляционных БД (скажем, в Oracle). Однако Oracle? позволяет хранить и сами многомерные данные, и их описания на едином информационном "складе", тем самым разрешая многочисленные проблемы, связанные с организацией и ведением подобных "гибридных" систем (например, согласованность данных и их описаний).
Для работы с такой информацией вводятся специальный тип данных – Helical Hyperspatial Code (HHCODE) и специальный тип таблиц – MultiDimensianal Table.
Средства работы с видеоинформацией Oracle Video options позволяют обрабатывать и хранить в базе данных Oracle поточную видеоинформацию. В настоящее время находятся на стадии тестирования; выход коммерческой версии запланирован на первую половину 1996 года. В состав комплекса средств, помимо собственно Oracle Video Options, входит набор специализированных программ, позволяющих составлять персональные сводки новостей, создавать комплексные обучающие мультимедиа-программы и т.д.
Средство автоматизации офисной деятельности Oracle Office
Это полномасштабная офисная система, включающая в себя Mail, Calendar/Scheduler и Alarm. Использование сервера Oracle7 существенно упрощает процессы обмена сообщениями между рабочими станциями сети и синхронизацию планов пользователей. Так как все сообщения хранятся непосредственно в базе данных Oracle, средство обеспечивает высокий уровень безопасности и надежности, жизненно необходимый для многих почтовых систем. Возможен одновременный доступ к одному и тому же экземпляру сообщения (документа) нескольких клиентов, ибо для каждого пользователя хранится не само сообщение, а только ссылка на него.
Входящие в состав Oracle Office компоненты работы с электронной почтой предоставляют средства связи (шлюзы) для основных почтовых систем третьих фирм, а также универсальный шлюз для Х.400, соответствующий принятым международным стандартам. Кроме того, обеспечивается возможность обмена сообщениями (данными) между почтовой системой и любым приложением, работающим с БД Oracle. В частности, разработчик прикладной системы может указать, что при наступлении некоторого критического события (например, на складе заканчивается товар) менеджерам, ответственным за заказ данного товара и его доставку, по электронной почте будет автоматически послано соответствующее извещение.
Сетевые программные продукты
Как показывает опыт, реализация и сопровождение систем, основанных на архитектуре"клиент-сервер", практически невозможны без наличия развитых средств удаленного администрирования объектов сети, систем защиты информации от несанкционированного доступа, динамической балансировки загрузки узлов и сегментов сети и оптимизации маршрутизации сообщений.
Сетевое ПО, входящее в состав семейства программных продуктов фирмы Oracle, заметно облегчает решение всех этих задач. Оно позволяет в "прозрачном" режиме осуществлять обмен данными между различными компьютерными системами и объединять не только разнородные ЭВМ, но и операционные системы, базы данных, коммуникационные протоколы и приложения – одним словом, создавать единую среду обработки.

Oracle SQL* Net – средство связи между клиентом и сервером или двумя различными серверами. Функционально SQL*Net отвечает за передачу, или, точнее, "рассылку", данных через различные компьютерные сети, но при этом не заменяет, а только дополняет собой соответствующее коммуникационное программное обеспечение третьих фирм. В его задачи входят:
– Поддержка различных сетевых протоколов: Oracle SQL*Net взаимодействует с сетевыми протоколами через специальный компонент – Oracle Protocol Adapters, и отдельные версии Protocol Adapters существуют практически для каждого сетевого протокола (список основных приведен в таблице 3).
– Многоуровневая трассировка и отслеживание ошибок: SQL*Net автоматически ведет многоуровневый журнал ошибок, и если возникает аварийная ситуация, детализированное сообщение с каждого сетевого уровня помещается в специальный журнал.
– Отработка аварийных сеансов связи: без вмешательства администратора SQL*Net выявляет аварийно завершившиеся (оборвавшиеся) сеансы связи и закрывает их.
– Преобразование данных при их передаче по гетерогенной сети. О Поддержка автоматической трансляции различных кодовых таблиц при пересылке данных между клиентом и сервером или двумя серверами.

Oracle Multiprotocol Interchange – средство для "прозрачного" преобразования данных из одного сетевого протокола в другой. В его функции входит конвертирование проходящих через него потоков данных из одной формы представления в другую (при этом обеспечивается возможность работы с любым числом различных протоколов) и определение наиболее эффективного маршрута соединения задач.
Oracle Names. В распределенной системе, включающей в себя несколько десятков различных узлов, задачи, связанные с добавлением нового или изменением старого сетевого адреса уже существующего приложения, довольно трудоемки и требуют от администратора не столько высокой квалификации, сколько аккуратности и внимательности. Предлагаемый фирмой Oracle сервис имен позволяет предельно упростить эту процедуру за счет централизованного хранения полных сетевых адресов всех приложений (задач Oracle), что почти целиком освобождает администратора от рутинной работы.
При использовании Oracle Names полный адрес любой задачи хранится в одном месте – на сервере имен, в роли которого может выступать любой из уже существующих серверов баз данных.
Oracle Secure Netwok Services – средство для шифрования передаваемого по сети сообщения (собственно данные, SQL-утверждения, вызовы хранимых процедур, результаты, значения параметров, пароли). В качестве дополнительной опции предоставляется возможность шифрования контрольной суммы, присоединяемой к каждому передаваемому пакету. Возможны передача шифрованных данных в гетерогенных системах, использующих различные сетевые протоколы и аппаратные платформы, и выбор алгоритма шифрования (RSA RC4 с 40-битным ключом, DES с 56-битным ключом, DES с 40-битным ключом).
Oracle Network Manager – средство графического представления объектов сети, их администрирования и конфигурирования. С его помощью все работы по администрированию сетевых задач Oracle могут выполняться с одного места. Oracle Network Manager позволяет быстро создавать определения – стандартизованные и по умолчанию, оценивать непротиворечивость и полноту создаваемых определений, а также отслеживать и распространять изменения конфигурации во все соотнесенные с этими модификациями узлы.
Объединенная среда разработки приложений
Сервер Oracle7 является основой набора инструментальных средств разработки приложений, позволяющего автоматизировать все этапы жизненного цикла системы: от анализа и проектирования до исполнения и сопровождения. Программы интегрируются на базе совместно используемого хранилища – repository, в котором хранятся детализированные описания объектов прикладной системы и который позволяет инструментальным средствам работать сообща. Все это превращает разработку прикладной системы в значительной степени автоматизированный непрерывный пошаговый процесс.

Инструментальные средства делятся на три основные группы:
– средства проектирования приложений – Oracle Designer/2000;
– средства разработки приложений – Oracle Developer/2000;
– средства конечного пользователя – Oracle Discoverer/2000.
Oracle Designer/2000 – новое поколение интегрированных инструментальных средств проектирования информационных систем. Оно основывается на CASE-технологии, в соответствии с которой любая информационная система описывается двумя взаимосвязанными моделями – информационной и функциональной. В процессе разработки системы по схеме "сверху вниз" каждая из указанных моделей постепенно дополняется и детализируется.

Отличительные особенности CASE-технологии фирмы Oracle:
– охватывает весь жизненный цикл системы, включая этапы стратегии, анализа, проектирования, реализации, внедрения и эксплуатации;
– поддерживается функционально полным интегрированным семейством программных продуктов;
– позволяет вести разработку как по традиционной схеме "сверху вниз", так и включаться в процесс на любом из этапов.
Набор инструментальных средств Designer/2000 существенно повышает производительность разработки, так как он полон и интегрирован, а методология проектирования визуальна и базируется на объектах и правилах.
Oracle Developer/2000 – интегрированное семейство средств разработки прикладных систем: Oracle Forms, Oracle Reports, Oracle Graphics, Oracle Procedure Builder. Все они просты в управлении, с их помощью за несколько минут можно создавать достаточно сложные приложения, указывая при этом лишь минимум информации. Самые трудоемкие операции (внешний вид, условия контроля, навигация и т.д.) выполняются автоматически. При необходимости нестандартной обработки в приложения могут быть встроены фрагменты кода на процедурных языках С, Cobol, Fortran, Ada, Pascal, PL/I.

Oracle Forms – средство разработки сложных экранных приложений: экранных форм для ввода, контроля, просмотра, извлечения и модификации информации из базы данных; трех типов меню; библиотек процедур. В составе экранной формы кроме элементов графического интерфейса могут быть рисунки и графики, выполненные с помощью Oracle Graphics, изображения, хранящиеся в базе данных Oracle. В качестве элементов интерфейса допускается также использование контейнеров OLE2 и управляющих элементов VBX3.
Экранная форма может использоваться как для ввода и корректировки данных, так и для выполнения регламентированных запросов к БД. Все просматриваемые в форме данные можно модифицировать, причем обеспечение целостности данных при их одновременной модификации несколькими пользователями выполняется автоматически. Oracle Forms генерирует код для проверки ограничений целостности, реализации связей "мастер-деталь", навигации по полям и экранам приложений. Приложения могут быть многооконными, а экраны приложений позволяют одновременно работать с данными из нескольких таблиц.
Oracle Reports служит для создания сложных графических отчетов различных типов (таблица, форма, письмо, почтовый ярлычок, матрица и т.д.), содержащих разные шрифты, рисунки, диаграммы и цвета. Допускается совмещение в одном отчете различных компонентов разного типа; в отчет можно "вклеивать" рисунки из файлов различных популярных форматов (TIFF, BMP, PCX, PICT, JFIF/JPEC, GIF, RAS, формата, принятого в Oracle, и т.д.); есть возможность проведения сложных вычислений, редактирования данных и вычисления точных значений.
Oracle Graphics – средство визуализации данных, превращения их в информацию, используемую при принятии решений. В приложениях можно объединять диаграммы, тексты, рисунки и мультимедиа-объекты (звук, видео). Диаграммы и их визуальные объекты могут динамически трансформироваться при изменении данных в БД.
Oracle Procedure Builder позволяет создавать, копировать и отлаживать PL/SQL-процедуры, функции и триггеры, хранимые как на сервере, так и на клиенте, и легко изменять место их выполнения.
Oracle Discoverer/2000 – средства, дающие пользователям различных уровней возможность подготовиться к работе с информацией, хранящейся в базе данных Oracle. Дружественный графический интерфейс позволяет описывать и выполнять сложные запросы без привлечения средств программирования, анализировать их результаты, формировать отчеты и даже выполнять работы по администрированию.
Discoverer/2000 позволяет даже неподготовленным пользователям понять общую концепцию и детали структуры базы данных. В этом им помогает специальный уровень представления БД "End User Layer", поддерживающий взгляд на структуру как на совокупность множества, "бизнес-областей". Пользователь видит модель данных как список знакомых и естественных для него объектов: "Счета", "Зарплата" и т.д.
Oracle Power Objects – объектно-ориентированное средство разработки приложений, основой которого является язык Oracle Basic, по своим возможностям во многом аналогичный MS Visual Basic for Application. Однако, в отличие от последнего, Power Objects в большей степени ориентирован на работу с объектами базы данных и разработку приложений, работающих в режиме "клиент-сервер".
Oracle Book позволяет легко создавать электронные мультимедиа-документы на основе текстов, подготовленных практически в любом популярном текстовом редакторе. Имеется возможность усиливать выразительность документов с помощью навигационных связей и мультимедиа-возможностей: гипертекстовые связи, цветной текст, таблицы, аудио- и видеозаставки, видеоклипы и др.
Oracle Book строит документ как книгу – с оглавлением, главами, "кнопками" для показа иллюстраций и т.д. С помощью мыши ее можно листать, а гипертекстовые связи обеспечат переход к интересующим фрагментам текста.
Средства реализации информационных систем для мобильных пользователей Oracle Mobile Agents – комплекс программ для разработки приложений, использующих архитектуру "клиент-агент-сервер" и осуществляющих доступ к базе данных через радиомодемы или телефонные линии связи. При работе с данным средством функции традиционного клиента выполняет не один, а два независимых территориально разнесенных узла: клиент, реализуемый на мобильном ПК и организующий пользовательский интерфейс для ввода данных и представления результатов, и агент на компьютере в локальной сети, выступающий там "полномочным представителем" мобильного клиента, выполняющий по его запросам основные процедуры обработки данных и организующий доступ к серверам БД.

Такое решение позволяет минимизировать объем данных, передаваемых по низкоскоростным линиям связи, с переносом основного сетевого трафика в высокоскоростную локальную сеть. Существенно, что здесь организуется не прямой сеанс работы (сессия) пользователя с базой данных, а асинхронный бессессионный режим их взаимодействия. Получив сообщение, агент, работая самостоятельно, выполняет запрошенные клиентом действия и возвращает ему ответ с требуемыми данными или информацией об успешном завершении некоторой операции.
Заключение
К сожалению, в данном обзоре мы не смогли рассмотреть все предлагаемые фирмой Oracle программные продукты (почти полный их список приведен ранее в таблице 1). Однако мы надеемся, что смогли донести до читателя основную концепцию Oracle – ее многогранность. Ибо сегодня Oracle предлагает решения практически для всех разновидностей информационных систем, а именно:
– Различных по масштабу: начиная с однопользовательских и заканчивая межрегиональными системами с распределенным хранением и обработкой данных, с сотнями и даже тысячами пользователей.
– Различных по объемам хранения и обрабатываемых данных, от сотен мегабайтов до терабайтов. О Различных по режиму доступа и работы систем обработки данных в масштабе реального времени (требующих минимального времени отклика), поддержки принятия решений (предполагающих хранение и обработку огромных объемов данных), ориентированных на работу с мобильными пользователями (предполагающих асинхронный бессессионный режим доступа). О Различных по типам хранимых и обрабатываемых данных – традиционных структурированных, неструктурированных текстовых (Oracle Text Server Option), многомерных (Oracle Multidimension Option), аудио-и видеоинформации.
-Различных по требованиям, предъявляемым к надежности и защищенности данных.
– Различных по цене (стоимость лицензии для систем, не требующих распределенного хранения и обработки данных, сопоставима со стоимостью аналогичных систем, реализуемых средствами Paradox или Foxpro).
При этом во многих случаях Oracle предлагает несколько различных способов решения одной и той же задачи. Наконец, уникальность разработок Oracle состоит еще и в том, что уровни информационной системы могут быть эффективно реализованы на основе программных продуктов одной фирмы-производителя.
В заключение еще раз хотелось бы подчеркнуть, что, во-первых, поиск решения, наиболее эффективного именно для вас (как с позиций надежности, производительности, совершенствования, так и с точки зрения стоимости), – это задача, которая может быть решена только совместными усилиями специалистов по базам данных, аппаратным платформам и компьютерным сетям.
Во-вторых, не стоит забывать, что если ошибка в выборе аппаратных средств реализации вашей системы легко поправима и вы всегда можете докупить память, диски, увеличить число процессоров и даже сменить платформу, то просчет с выбором программных средств реализации вашей информационной системы исправить гораздо сложнее.
При выборе средств реализации нельзя ограничиваться исключительно требованиями текущего дня. Реально функционирующая информационная система – это неотъемлемая часть инфраструктуры любой организации. А так как организация совершенствуется, и, соответственно, увеличиваются требования пользователей, то в этом процессе самое главное, чтобы ваша система не превратилась из двигателя такого развития в его тормоз.