Этап интеграции
Главными задачами этого этапа является определение, поиск и выбор всех необходимых компонентов, их адаптация, определение плана компонентной конфигурации, создание и тестирование интегрированной среды для ПС. Поиск и выбор компонентов объединяются в одну задачу, что называется квалификацией (Component Qualification), а интеграция компонентов определяется как композиция, которая разделяется на несколько видов в зависимости от комбинаций компонентов. Входными данными процесса являются описания:
– интерфейсов компонентов на языке описания интерфейсов;
– взаимодействие компонентов описывается соответственно последовательностями операций для выполнения функций в ПС;
– дополнительные условия и данные для интеграции и управления компонентами.
На этапе интеграции соответственно выполняются следующие процессы:
– поиск компонентов соответственно описанию интерфейсов;
– выбор совокупности компонентов, которые обеспечивают необходимую функциональность;
– адаптация существующих компонентов к требованиям построения интегрированной среды;
– создание новых компонентов, для которых результаты поиска, выбора и адаптации не дали требуемых результатов;
– инсталляция компонентов для потребностей интеграции;
– определение полной совокупности правил и условий интеграции;
– непосредственное построение проекта;
– тестирование интегрированной среды.
Поиск компонентов. Этот процесс предусматривает существование информационных хранилищ с описаниями компонентов. Для реализации больше качественного и оптимального поиска целесообразно иметь систему классификации программных компонентов.
Для предоставления и поиска информации могут быть примененные поисковые машины сети Интернет, как, например, AltaVista,. проект Agora, нацеленный на разработку поисковой машины, для которой критериями поиска есть компонентные модели и их свойства.
Выбор компонентов. Результаты поиска могут быть неопределенными, т.е. могут существовать несколько компонентов для определенного интерфейса или некоторый компонент почти не подходит.
Для таких случаев необходимо выполнить процедуры оценки и выборки, например, основанные на системах показателей качества.
Адаптация компонентов. Для расширения возможностей компонентов с одновременным сохранением их основных функциональных и технологических характеристик и обеспечения полной реализации интерфейсов, условий взаимодействия и особенностей интегрированной среды проводится адаптация. Основой механизма реализации такой трансформации является свойство к усовершенствованию и расширении своей функциональности и иных возможностей. К корректным механизмам относятся:
– расширение существующих интерфейсов компонентов с целью соответствия интерфейсам в интегрированной среде;
– обеспечение дополнительных реализаций компонентов с сохранением своих интерфейсов;
– создание контейнеров, которые вмещают иные компоненты с одновременным предоставлением их как самостоятельных компонентов интегрированной среды с необходимой функциональностью и интерфейсами.
Создание компонентов.
Этот процесс выполняется, когда предыдущие процессы поиска, выбора, адаптации для определенных компонентов дают отрицательные результаты. В этом случае необходимо создавать новые компоненты с заранее определенными интерфейсами и функциональностью. Для правильного построения новых элементов используется модель Enterprise java beans (EJB), в состав которой входят:
– сервер EJB, как прикладной сервер, в среде которого загружаются и выполняются один или больше контейнеров EJB;
– контейнер EJB, который отвечает за создание среды и условия функционирования соответствующего компонента;
– специальной интерфейс, который поддерживает выполнение условий жизненного цикла для экземпляров компонента, в частности их создание;
– специальные интерфейсы, которые обеспечивают дополнительные сервисы функционирования компонентов в условиях распределенной обработки для обеспечения целостности выполнения функций, для которых задействованы операции в нескольких компонентах.
Инсталляция компонентов для потребностей интеграции. Этот процесс не отличается от инсталляции отдельных компонентов этапа развертывания. Единое отличие состоит в том, что определенные компоненты специально созданы самым разработчиком ПС для ее потребностей, а, следовательно, условия и процедуры инсталляции он может оптимизировать.
Определение правил и условий интеграции. Правила и условия интеграции зависят от компонентной модели, практическое применение имеют три:
– COM/DCOM/COM+, реализованная в операционных системах семейства WINDOWS;
– система CORBA [11], которая поддерживается на различных платформах;
–Javabeans и enterprise javabeans [13] на базе JAVA–технологий, которые функционируют на платформах, для которых реализованы виртуальные JAVA–машины.
Построение проекта. Главная цель процесса – выполнить все действия относительно подготовки интегрированной среды к функционированию и создание плана конфигурации компонентов ПС.
Тестирование интегрированной среды. При тестировании решаются две задачи:
– проверка функциональности ПС;
– проверка возможности совместимой работы компонентов системы.
Первая задача традиционная, для создания любой программы или ПС проводится проверка корректности функционального назначения и организации взаимодействия с пользователем.
Вторая задача – специфична для компонентного подхода, она имеет факторы, которые влияют на проверку совместной работы компонентов:
1. Инициирование работы интегрированной среды для ПС.
2. Определение инфраструктуры для создания возможности динамического взаимодействия компонентов во время выполнения и распределения клиент–серверных запросов в системе.
3. Для каждой пары компонентов, которые взаимодействуют, один с них является клиентом, а второй – сервером. Серверы функционируют в режиме ожидания, пока клиенты к ним не обратятся. Механизм поддержки режима функционирования на уровне операционной среды является механизмом сервисов.
4. Схема взаимодействия компонентов в ПС является ориентированным графом. Приведенные факторы и определяют порядок и содержание второй задачи для проведения тестирования:
– проверка процедуры старта ПС;
– проверка функционирования и создания инфраструктуры для поддержки компонентной модели;
– проверка корректности регистрацииї сервисов и возможности взаимодействия с ними с различных компьютеров сети;
– проверка корректности последовательностей инициирования сервисов.