855f06e4

ключевой вопрос современных информационных технологий.


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

  • инкапсуляция объектных компонентов скрывает сложность реализации, делая видимым только предоставляемый вовне интерфейс;
  • наследование позволяет развивать созданные ранее компоненты, не нарушая целостность объектной оболочки;
  • полиморфизм по сути дает возможность группировать объекты, характеристики которых с некоторой точки зрения можно считать сходными.

Кроме того, объединение компонентов в рамках единого контейнера, с одной стороны, позволяет строить иерархии с небольшим числом сущностей на каждом уровне (это необходимое условие успешной работы с любой сложной системой), а, с другой стороны (и это очень важно с методологических позиций), предоставляет механизм образования новых понятий как во время разработки программной системы, так и в процессе ее использования.
JavaBeans - не единственная и не первая компонентная объектная среда, однако, учитывая огромную популярность Java-технологии, мы решили рассмотреть именно JavaBeans, сосредоточившись на компонентной объектной модели. Наше изложение основывается на версии спецификации JavaBeans [1] от 25 июля 1997 года. Используются также некоторые другие спецификации и их проекты [2, 3, 4, 5].

Содержание раздела