АИС_Конспект. Учебное пособие по предмету основы построения автоматизированных информационных систем для специальности
Скачать 1.88 Mb.
|
3.5. Объектно–ориентированные системыНаиболее полное описание предметной области можно получить, используя технологию выделения классов и связей между ними. Объектно-ориентированный подход тесно связан с понятием постреляционной информационной системы. В постреляционных информационных системах основной особенностью является возможность использования не атомарных атрибутов в структуре таблиц. Поле таблицы – атрибут может быть составного типа. Такие типы данных получили широкое распространение в таких языках программирования как С++, Java, Object Pascal. Данные составного типа трактуются как структуры, состоящие из полей определенного типа. В языках ориентированных на объектную парадигму разработки программного обеспечения дальнейшим развитием понятия записи явился тип – класс. Основной принцип выделения класса в предметной области и его создания – инкапсуляция. Инкапсуляция подразумевает объединение в классе атрибутов и операций. Операции обслуживают атрибуты, определяя такие базовые операции, как корректировка значения атрибута, вывод значения атрибута, выполнение определенных действий над данными, записанными в атрибуты. В постреляционных системах могут использоваться атрибуты таблиц представляющие собою как записи, так и отдельные объекты. В последнем случае принято говорить об объектно-ориентированных системах (ООС) обработки данных. Разработка ООС ведется на основе определенных стандартов. Так организация ODMG (Object Database Management Group) консорциум производителей объектных баз данных для выработки стандартов и организация OMG (Open Management Group) консорциум поставщиков в сфере объектной технологии для выработки стандартов межкомпонентного взаимодействия. Предлагают технологические решения перечисленные ниже. Язык определения объектов ODL. Данный язык был разработан на базе существующего языка IDL (Interface Definition Language) языка описания интерфейсов. ODL включает следующие средства: определение коллекций объектов; определение связей между объектами, заимствованных из реляционной модели; определение ключевых атрибутов. Язык запросов OQL (Object Query Language). В основу языка запросов для ООС был положен стандарт SQL – 92. Для возможности работы с реляционными таблицами базы данных. В язык запросов были введены новые особенности, отвечающие объектной парадигме: запрос может быть адресован к конкретному объекту или коллекции объектов; обращение с помощью запроса к методам объектов; получения в результате запроса отдельных записей из таблиц, либо объектов или их коллекций. Связывание с объектными языками, такими как C++, Smalltalk, Java. Механизм связывания определяет OML (Object Manipulation Language) – язык манипулирования объектами, который вводит в объектные языки следующие средства позволяющие: создавать, удалять объекты; сохранять объекты в базе данных; осуществлять перебор объектов – навигацию; использовать механизм транзакций. Для организации клиент – серверной обработки данных с использованием объектной технологии консорциум OMG предлагает стандарт CORBA (Common Object Request Broker Architecture). Данная технология предусматривает использование компонентной COM (Core Object Model) модели совместно с языком описания интерфейсов IDL. Основу технологии CORBA образует механизм взаимодействия «брокеров» через специальный системный посредник Smart agent. Связи между брокерами осуществляются в соответствии с требованиями специального протокола General Inter ORB Protocol, определяющего низкоуровневое представление данных и множество форматов сообщений. На стороне клиента создаются два объекта посредника: Stub (заглушка); ORB (Object Required Broker) брокер вызываемого объекта. Заглушка принимает клиентский запрос и передает его брокеру. Брокер обращается к посреднику Smart agent. Посредник обращается к серверу и передает запрос клиента серверному брокеру. Серверный брокер должен отыскать на сервере нужный объект и вызвать требуемый его метод для обслуживания запроса клиента. Отыскание объекта и вызов его метода производится через специальный базовый объектный адаптер BOA (Broker Object Adapter). Данные необходимые методу объекта предоставляет специальный компонент – каркас (Skeleton), который вызывает адаптер (см. рисунок 3.6). Рис.3.6. Схема взаимодействия CORBA. Одним из перспективных направлений разработки ООС обработки данных является создание интерфейсов между языками, поддерживающими объектную парадигму, такими как C++, Smalltalk, Java, и ядром реляционных СУБД. При этом данные для объектов хранятся в виде реляционных таблиц, а обработка осуществляется путем обращения к методам объектов в программном коде, написанном на объектном языке. Особый интерес представляют системы, созданные на базе языка программирования Java. Такая технология позволяет получать кросс- платформенные системы, программный код для которых компилируется один раз, а выполняется затем в среде различных операционных систем. При разработке ООС, построенных полностью по объектной парадигме нужно учитывать следующие особенности: в базе данных системы хранятся объекты, а не таблицы; в модели предметной области отражается поведение реальных объектов; база данных отражает как сущности предметной области, так и правила их взаимодействия и функционирования; на основе выделенных классов предметной области разработчик может создать новые типы данных и определить правила их обработки. В качестве недостатков ООС следует указать следующие особенности: в ООС отсутствуют развитые непроцедурные средства манипулирования объектами. Например, для поиска объекта и изменения его данных приходится писать программный код на объектном языке; для обеспечения ссылочной целостности требуется разрабатывать специальное программное обеспечение объектном языке. Так как в объектной модели отсутствует понятие первичного ключа и внешнего ключа. Объекты связаны между собой по иерархическому принципу в виде отношения суперкласс– подкласс. |