Бобровский Сергей
Поль Хэрмон, редактор журнала Component Development Strategies, пытается ответить на вопрос: “Что такое компонент?”. Стандартное определение пока отсутствует. Вместо этого компании, выпускающие соответствующие средства разработки, предлагают заимствованные из объектного подхода идеи манипуляции программными модулями, которые могут и не быть объектами, технологии создания ГИП из готовых программных элементов (MFC, VCL) и т. д.
Главное в концепции компонента, по мнению Поля Хэрмона, - идея создания интерфейса для модуля. Программный модуль и его интерфейс и будут компонентом. Регистрируя в обслуживающей среде оригинальный интерфейс, можно быстро объединять компоненты, выполняющие самые разные функции. Хотя сам интерфейс для каждого компонента уникален, выполняется он в соответствии с типовыми требованиями компонентной среды.
Надо отметить, что предложенное Полем Хэрмоном определение компонента во многом идентично понятию автономного агента из теории искусственной жизни.
Интерес к компонентным технологиям вызван вновь ожившими надеждами на заманчивые возможности повторного использования надежного кода при создании больших масштабируемых программных систем. Впервые такая надежда появилась лет 10 - 15 назад, когда были разработаны хорошие компиляторы для объектных языков, в первую очередь для Си++.
Сейчас на рынке предлагаются три коммерческие компонентные технологии: COM фирмы Microsoft, CORBA группы OMG и JavaBeans фирмы Sun. Все они имеют как сильные, так и слабые стороны. COM хороша для создания Windows-систем с развитым ГИП. На базе CORBA эффективно работают корпоративные приложения в гетерогенных средах. С помощью JavaBeans разрабатываются Интернет-системы. Но надо понимать - все это не компоненты, а среды, которые только обеспечивают работу компонентов.
Пока эти технологии используются очень слабо. Решающими факторами при их выборе корпоративными разработчиками станет ориентация технологии на конкретные бизнес-области и наличие простых и эффективных средств и методологий создания компонентного ПО. Лидер на этом рынке определится в ближайшие 2 - 3 года.
Поль Хэрмон считает, что в 1999 г. не исключено слияние технологий CORBA и JavaBeans. Будут также разработаны шлюзы к COM-компонентам и в обратную сторону. Это не означает, что конкуренция между тремя технологиями прекратится, но в начале XXI века крупные компании получат реальную возможность разрабатывать масштабные компонентные системы, используя все три типа компонентов.