Первая стадия: архитектуры взаимодействия, горизонтальные интерфейсы и универсальные контейнеры данных
Обзор поставленных перед разработчиками задач
Основной задачей являлось обеспечение коммуникационного взаимодействия программных компонентов, реализованных на различных языках программирования, функционирующих на различных программно-аппаратных платформах.
Описание использованных технологий и решений
При обеспечении взаимодействия использовался только ORB в своем "первозданном" виде. В процессе разработки для каждого из CORBA-объектов, участвующего в межпроцессном взаимодействии, определялся уникальный IDL-интерфейс. Намечалась тенденция оформления каждого CORBA-объекта в виде отдельной программной компоненты (пользовательского процесса операционной системы).
Анализ возникших проблем
Имелось большое количество объектов, взаимодействие которых существенно увеличивало сетевой трафик. Архитектура взаимодействия соответствовала вертикальному типу взаимодействия, что приводило к сложностям модификации, добавления CORBA-объектов.
Работы по реализации собственных служб, воплощающих упрощенные решения, привели к затяжкам времени разработки информационной системы. В конечном итоге, попытка выйти на более высокий уровень взаимодействия в целом имела плачевный результат.
Пути решения описанных проблем
Объединение в одну компоненту CORBA-объектов, входящих в отдельную подсистему, которая появляется на этапе проектирования.
Использование смешанного типа взаимодействия, когда все компоненты имеют универсальный базовый интерфейс, т.е. поддерживают горизонтальную архитектуру взаимодействия, но при этом каждая компонента специфицирует дополнительные операции для работы со своим доменом предметной области. Применение данного типа взаимодействия позволяет разрабатывать архитектуры, когда интерфейсы между подсистемами являются горизонтальными, а внутри подсистемы используется вертикальный способ взаимодействия.
В качестве контейнеров данных, используемых при обмене информацией между CORBA-объектами в рамках горизонтальной архитектуры взаимодействия, выступают универсальные контейнеры данных, базирующиеся на использовании типов any, sequence, которые определены в языке IDL.
Так же, на данной стадии была понята важность неизменности (статичности) интерфейсов CORBA-объектов.