Тема: Межсистемные интерфейсы и драйверы; интерфейсы в распределенных системах. Стандартные методы совместного доступа к базам и программам в сложных информационных системах (драйверы ODBC, программная система CORBA и др.).
Учебная цель:Рассмотреть и изучить основы межсистемного информационного взаимодействия, как обязательного условия проектирования и разработки адаптивных и открытых экономических информационных систем.
1. Интерфейсы в распределенных системах.
2. Программная система CORBA.
3. Технология COM.
4. Стандарт Open Database Connectivity (ODBC).
Интеграция компонентов (элементов) в распределенной системе должна следовать стандартам интерфейсов этих компонентов. Они охватывают следующие стороны взаимодействия компонентов:
· управление (Management) – системное и сетевое администрирование, управление информационной безопасностью, ресурсами, конфигурирование системы;
· пользовательский интерфейс (User Interface) – интерфейс пользователя с прикладными программами и средствами разработки приложений;
· интерфейсы прикладных программ (Application Programs Interface -API) – интерфейсы между прикладными программами и между прикладными программами и операционной системой;
· форматы данных;
· интерфейсы сетевых коммуникаций.
В качестве пути создания распределенной системы рассмотрим использование стандартов OLE.
OLE (Object Linking and Embedding –связывание и внедрение объектов) – это набор стандартов для связи и внедрения объектов при создании компонентов программного обеспечения. Одним из стандартов OLE является спецификация модели составного объекта (или COM), основа для бинарных соединений между компонентами.
OLE позволяет увеличивать степень интеграции между программными модулями и служит для создания множества взаимозаменяемых компонентов программного обеспечения. Набор услуг, которые предлагает OLE, непостоянен. Корпорация Microsoft постоянно модернизирует и расширяет как операционную систему Windows, так и набор стандартов OLE в соответствии с широким набором требований по интеграции приложений.
Стандартные интерфейсы CORBA и COM в настоящее время являются основными для организации взаимосвязи объектно-ориентированных прикладных программ в распределенных информационных системах.
Использование одного только объектно-ориентированного языка недостаточно для разработки распределенных информационных систем.
Очень часто различные компоненты программного обеспечения требуют реализации на разных языках и используют разную программно-техническую платформу (операционные системы аппаратные средства).
CORBA (Common Object Request Broker Architecture — общая архитектура брокера объектных запросов) — технологический стандарт написания распределённых приложений, продвигаемый консорциумом (рабочей группой) OMG и соответствующая ему информационная технология.
Технология CORBA создана для поддержки разработки и развёртывания сложных объектно-ориентированных прикладных систем.
CORBA является механизмом в программном обеспечении для осуществления интеграции изолированных систем, который даёт возможность программам, написанным на разных языках программирования, работающих в разных узлах сети, взаимодействовать друг с другом так же просто, как если бы они находились в адресном пространстве одного процесса.
Спецификация CORBA предписывает объединение программного кода в объект, который должен содержать информацию о функциональности кода и интерфейсах доступа. Готовые объекты могут вызываться из других программ (или объектов спецификации CORBA), расположенных в сети.
Спецификация CORBA использует язык описания интерфейсов (OMG IDL) для определения интерфейсов взаимодействия объектов с внешним миром, она описывает правила отображения из IDL в язык, используемый разработчиком CORBA-объекта.
Стандартизованы отображения для Ада, Си, C++, Лисп, Smalltalk, Java, Кобол, Object Pascal, ПЛ/1 и Python. Также существуют нестандартные отображения на языки Perl, Visual Basic, Ruby и Tcl, реализованные средствами ORB, написанными для этих языков.
Помимо удалённых объектов в CORBA 3.0 определено понятие объект по значению. Код методов таких объектов по умолчанию выполняется локально. Если объект по значению был получен с удалённой стороны, то необходимый код должен либо быть заранее известен обеим сторонам, либо быть динамически загружен. Чтобы это было возможно, запись, определяющая такой объект, содержит поле Code Base — список URL, откуда может быть загружен код.
У объекта по значению могут также быть и удалённые методы, поля, которые передаются вместе с самим объектом. Поля, в свою очередь также могут быть такими объектами, формируя таким образом списки, деревья или произвольные графы. Объекты по значению могут иметь иерархию классов, включая абстрактные и множественное наследование.
Компонентная модель CORBA (CCM) — недавнее дополнение к семейству определений CORBA.
CCM была введена начиная с CORBA 3.0 и описывает стандартный каркас приложения для компонент CORBA. CCM построено под сильным влиянием Enterprise JavaBeans (EJB) и фактически является его независимым от языка расширением. CCM предоставляет абстракцию сущностей, которые могут предоставлять и получать сервисы через чётко определённые именованные интерфейсы, порты.
Модель CCM предоставляет контейнер компонентов, в котором могут поставляться программные компоненты. Контейнер предоставляет набор служб, которые может использовать компонент. Эти службы включают (но не ограничены) службу уведомления, авторизации, персистентности и управления транзакциями. Это наиболее часто используемые распределённым приложением службы. Перенося реализацию этих сервисов от необходимости реализации самим приложением в функциональность контейнера приложения, можно значительно снизить сложность реализации собственно компонентов.