Объектно-ориентированные СУБД. Объектно-ориентированный подход является одним из новых подходов к созданию программного обеспечения, который считается очень перспективным для решения некоторых классических проблем разработки программного обеспечения. Базовым понятием объектно-ориентированной технологии является то, что все программное обеспечение должно всегда, когда это возможно, создаваться на основе стандартных и повторно используемых компонентов. Традиционно создание программного обеспечения и управление базами данных представляли собой совершенно разные дисциплины. Технология баз данных была сконцентрирована в основном на статических концепциях хранения информации, тогда как технология создания программного обеспечения моделировала динамические аспекты программного обеспечения. С появлением следующего (третьего) поколения систем управления базами данных, а именно объектно-ориентированных СУБД (ООСУБД) и объектно-реляционных СУБД (ОРСУБД), эти две дисциплины слились воедино, что позволило параллельно моделировать данные и процессы, действующие на эти данные.
Очевидный успех реляционных систем в течение двух последних десятилетий позволяет сторонникам традиционных подходов считать, что реляционную модель достаточно расширить дополнительными (объектно-ориентированными) возможностями. Другие специалисты считают, что базовая реляционная модель неспособна адекватно обслуживать такие сложные приложения, как системы автоматизированного проектирования и автоматизированной разработки программного обеспечения, а также геоинформационные системы.
Приведем некоторые преимущества, которые часто цитируются в поддержку объектно-ориентированного подхода.
Определение системы на основе объектов упрощает создание программных компонентов, которые очень близко имитируют область их применения, облегчая таким образом понимание особенностей системы и ее проектирование.
Благодаря инкапсуляции и сокрытию информации использование объектов и сообщений способствует модульному проектированию, поскольку реализация одного объекта зависит не от внутренних особенностей других объектов, а только от типа их реакции на те или иные сообщения. Кроме того, условие модульности накладывается принудительно, а потому позволяет создавать более надежное программное обеспечение.
Использование классов и механизма наследования способствует разработке повторно используемых и расширяемых компонентов при создании новых или модернизации существующих систем.
ООСУБД появились сначала в инженерно-конструкторских приложениях и только недавно получили признание у разработчиков финансовых и телекоммуникационных приложений. Хотя доля рынка ООСУБД все еще остается очень маленькой , тем не менее ООСУБД продолжают находить все новые области применения, например в World Wide Web. Действительно, по оценкам некоторых аналитиков, рынок ООСУБД ежегодно будет возрастать на 50%, что выше темпов роста всего рынка баз данных в целом.
Распределенные СУБД. Основной причиной разработки систем, использующих базы данных, является стремление интегрировать все обрабатываемые в организации данные в единое целое и обеспечить к ним контролируемый доступ. Хотя интеграция и предоставление контролируемого доступа могут способствовать централизации, последняя не является самоцелью. На практике создание компьютерных сетей приводит к децентрализации обработки данных. Децентрализованный подход, по сути, отражает организационную структуру компании, логически состоящую из отдельных подразделений, отделов, проектных групп и тому подобного, которые физически распределены по разным офисам, отделениям, предприятиям или филиалам, причем каждая отдельная единица имеет дело с собственным набором обрабатываемых данных. Разработка распределенных баз данных, отражающих организационные структуры предприятий, позволяет сделать данные, поддерживаемые каждым из существующих подразделений, общедоступными, обеспечив при этом их сохранение именно в тех местах, где они чаще всего используются. Подобный подход расширяет возможности совместного использования информации, одновременно повышая эффективность доступа к ней.
Распределенные системы призваны разрешить проблему островов информации. Базы данных иногда рассматривают как некие электронные острова, представляющие собой отдельные и, в общем случае, труднодоступные места, подобные удаленным друг от друга островам. Данное положение может являться следствием географической разобщенности, несовместимости используемой компьютерной архитектуры, несовместимости используемых коммутационных протоколов и т.д. Интеграция отдельных баз данных в одно логическое целое способна изменить подобное положение дел.
Распределенная база данных – это набор логически связанных между собой разделяемых данных (и их описаний), которые физически распределены в некоторой компьютерной сети. Тогда распределенная СУБД – это программный комплекс, предназначенный для управления распределенными базами данных и позволяющий сделать распределенность информации прозрачной для конечного пользователя.
Система управления распределенными базами данных (СУРБД) состоит из единой логической базы данных, разделенной на некоторое количество фрагментов. Каждый фрагмент базы данных сохраняется на одном или нескольких компьютерах, которые соединены между собой линиями связи и каждый из которых работает под управлением отдельной СУБД. Любой из сайтов способен независимо обрабатывать запросы пользователей, требующие доступа к локально сохраняемым данным (что создает определенную степень локальной автономии), а также способен обрабатывать данные, сохраняемые на других компьютерах сети.
Мультимедийные информационные системы. В следующем поколении компьютеризованных приложений немногое вызывает столь большой интерес, как мультимедиа. Дополнение аудио, видео, текста и изображений к традиционным типам приложений стало еще одним шагом в продвижении к более тесному сближению компьютерных систем с теми сущностями реального мира, для представления которых они создаются. В простейшем случае мультимедийная информационная система концептуально подобна любой другой информационной системе. Ее среда подразделяется на систему доставки (пользовательский интерфейс), некоторую разновидность базовых возможностей управления информацией, а также коммуникационную инфраструктуру. В мультимедийных системах все эти три уровня имеют свойства, отличные от свойств их аналогов в более традиционных компьютерных средах. Это касается, в том числе, и методов разработки приложений.
Рассмотрим сначала систему доставки, средствами которой пользователь вводит запросы и получает возвращаемую системой информацию. Гипермедийные интерфейсы будут главными системами доставки для следующего поколения мультимедийных приложений. Такие интерфейсы позволяют пользователю просматривать информационную базу, состоящую из многих различных типов данных, регламентированными, непредсказуемыми способами, которые являются существенными для получения сведений из информационной базы.
Саму информационную базу мультимедийной информационной системы можно было бы рассматривать как конгломерат многих типов данных, обсуждаемых в этой и в других главах книги. Типичная мультимедийная информационная система обычно оперирует следующими типами данных:
- "нормальные" типы данных в базе данных (которые можно встретить в реляционной или сетевой базе данных или даже в поддерживаемых самим приложением плоских файлах);
- данные неподвижных изображений, как в фотографиях;
- другие типы графики;
- данные движущихся изображений (видео);
- аудио (т.е. голос, музыкальные звуки, звуки, издаваемые животными);
- текстовые данные, например такие, которые можно найти в документах текстовых процессоров или файлах электронных таблиц.
Итак, мы обсудили систему доставки и информационную базу. Рассмотрим теперь коммуникационную инфраструктуру. Общее правило большого пальца относительно поддержки требований мультимедийных информационных систем заключается в следующем: "Чем больше используется "оживших" данных, тем более широкая необходима полоса пропускания". Под "ожившими" мы понимаем здесь такие данные, как видео- или высококачественные (например, стерео) аудиоданные. Такие данные действительно не только занимают огромные объемы пространства памяти, если не используется техника сжатия данных (на одну минуту не слишком качественного видео при передаче 15 кадров в секунду, что составляет лишь половину телевизионной скорости, потребовалось бы 117 Мбайт памяти15), но требуют также для своей поддержки сетей с высокой пропускной способностью. Это справедливо и для локальных сетей ЭВМ, и для глобальных распределенных сред. Потребности адекватной поддержки крупномасштабной передачи полного спектра мультимедийных типов данных привели к появлению глобальных сетевых технологий (Wide Area Networking, WAN), например таких, как асинхронный режим передачи данных или переключаемый мулътимегабитовый сервис данных.
Один из простых мнемонических способов выражения требований, удовлетворение которых обеспечивает полноценное использование мультимедийной среды на настольном компьютере, состоит в принципе "4-х Г": гигабайт основной памяти, как минимум, гигабайт внешней памяти, гига операций в секунду и гигабит в секунду - скорость передачи данных. При столь быстрых темпах прогресса в области технологий технических средств, к которым мы стали привыкать, такая базовая технология, без сомнения, появится.
В управлении мультимедийной информацией принципы временных и пространственных данных часто оказываются весьма важными при формировании мультимедийных документов. Например, создание электронного видео требует, чтобы кадры были правильно упорядочены. Для достижения этой цели, особенно когда исходные данные для видео объединяются из ряда различных источников, необходимо дополнить такую информацию временными свойствами. Подобным же образом составление мультимедийного документа, например, электронного журнала, означает, что должны поддерживаться пространственные отношения между данными, когда документ компонуется не только из различных типов сред (например, видео показывается слева от текста и до вывода аудио), но также и внутри среды заданного типа.
Традиционные методологии разработки приложений не удается достаточно хорошо перенести на мультимедийные системы. Действительно, в разработках мультимедийных приложений не применяется "программирование". Более подходящий здесь термин "создание" (authoring). Вместо языков программирования и компиляторов доминирующей парадигмой разработки, возникшей мультимедиа, являются системы скриптов (например, Microsoft Viewer). В силу того, что мультимедийных приложений разрабатывается очень много, возможности скриптов должны быть достаточными дли создания логики таких приложений, которая бы позволяла пользователям выполнить необходимые им функции в гипермедийной среде (например, перемещение произвольным образом между различными темами).
Гипертекстовые БД. Публикация баз данных в Интернете — это размещение информации из баз данных на Web-страницах сети. Отметим, что такая публикация связана с решением следующих типичных задач, встающих перед разработчиками современного программного обеспечения:
- организация взаимосвязи СУБД, работающих на различных платформах;
- построение информационных систем в Интернете на основе многоуровневой архитектуры БД (архитектура таких систем включает дополнительный уровень - Web-сервер с модулями расширения серверной части, который и реализует возможность информационного обмена и публикации БД в глобальной сети);
- построение локальных интранет-сетей на основе технологии публикации БД в Интернете (локальные сети строятся на принципах Интернета с выходом при необходимости в глобальную сеть);
- использование в Интернете информации из существующих локальных сетевых баз данных (при необходимости опубликования в глобальной сети информации из локальных сетей);
- применение БД для упорядочивания (каталогизирования) информации (огромный объем данных, представленных в Интернете, не обладает требуемой степенью структурированности, что делает процесс поиска необходимой информации весьма сложным и долгим);
- применение языка SQL для поиска необходимой информации в БД;
- использование средств СУБД для обеспечения безопасности данных, разграничения доступа и управления транзакциями при создании Интернет-магазинов, защищенных информационных систем и т. д.;
- стандартизация пользовательского интерфейса на основе применения Web-обозревателей с типовым внешним видом пользовательского интерфейса и его типовой реакцией на действия пользователя;
- использование Web-обозревателя в качестве дешевой клиентской программы для доступа к БД.
Размещение информации из БД в Интернете представляет собой новую информационную технологию, получившую широкое распространение в последнее время в связи с ростом популярности и доступности "всемирной паутины". Рассмотрим базовые элементы Интернет-технологий, являющиеся основой для разработки Web-приложений.
В Интернете вся информация размещается на Web-страницах, для написания которых используются язык HTML (Hyper Text Markup Language - язык разметки гипертекста) или его расширения, такие как DHTML (Dynamic – динамический HTML) и XML ( eXtensible Markup Language - расширяемый язык разметки). В состав Web-страницы могут входить текстовая информация, ссылки на другие Web-страницы, графические изображения, аудио- и видеоинформация и другие данные. Web-страницы хранятся на Web-сервере.
Для доступа к Web-страницам используются специальные клиентские программы – Web-обозреватели (программы просмотра, называемые также Web -браузерами или Web -броузерами — от англ. browser), находящиеся на компьютерах пользователей. Обозреватель формирует запрос на получение требуемой страницы или другого ресурса с помощью специального адреса URL (Uniform Recourse Locator — универсальный указатель ресурса). Этот адрес определяет тип протокола для передачи ресурса, имя домена, используемое для доступа к Web-узлу, номер порта, локальный путь к файлу и дополнительные аргументы. Соединение с Web-узлом устанавливается с помощью протокола передачи данных HTTP (Hyper Text Transfer Protocol - протокол передачи гипертекста).
Как отмечалось, расширяемый язык разметки XML представляет собой развитие языка HTML и по сравнению с ним обеспечивает ряд дополнительных возможностей. Главное отличие XML от HTML заключается в том, что он позволяет определить структуру документа и типы хранимых в нем данных. Напомним, что одно из достоинств XML состоит в том, что в разрабатываемых с его помощью документах описание структуры хранимых данных отделено от собственно данных. В связи с этим XML представляет собой удобное средство обмена данными между отдельными приложениями, т. к. позволяет обеспечить согласованный обмен данными в случаях, когда структуры данных (например, имена и типы полей) в приложениях различаются.
Кроме того, с помощью XML можно упростить доступ к данным, хранимым в базах данных. Например, для доступа к данным персональных БД или табличного процессора Excel пользователю требуется установить соответствующие программные инструменты. Вместо этого можно создать активные серверные или сценарии на языке JScript или VBScript, которые будут извлекать данные из БД и помещать их в документ XML. В дальнейшем информацию из полученного таким образом документа XML можно использовать в других приложениях или отображать на Web-страницах. Т. е. полученные данные становятся доступными для всех пользователей, имеющих обозреватель, независимо от наличия СУБД или табличного процессора. Документы XML могут использоваться как на стороне клиента, так и на стороне сервера.