характеристики, такие как инкапсуляция, многократное использование (благодаря
наследованию) и нежесткая связь (построенная на обмене сообщений), вытекают из объектно-
ориентированной концепции.
Пример обработки заказа, приведенный на рис. 52, содержит три бизнес-объекта: «прием
заказа», «заказ на поставку» и «изготовление». На рис. 53 эти бизнес-объекты представлены
через их характеристики. Интерфейсы различных объектов, активизируемых извне, «проходят
через» бизнес-объекты и обозначаются точками вдоль внешних границ объектов. Однако
интерфейсы, используемые только в рамках бизнес-объекта, остаются в пределах внутренних
объектов. Бизнес-объекты не предполагают заранее заданную степень структурирования.
Степень структурирования выбирается исходя из здравого смысла с ориентацией на рабочие
единицы приложения, например на то, как тесно связаны их содержание и организационная
структура, насколько прочны внутренние связи (и насколько слабы внешние). При выборе ее
учитывается также возможность многократного использования бизнес-объектов и их
эффективности.
Бизнес-объекты не обязательно должны создаваться из индивидуальных, жестко объектно-
ориентированных объектов. Когда существующая система разбита по принципу «сверху-вниз»,
их можно формировать из обычных программных компонентов. Главным условием при этом
является соответствие бизнес-объекта объектно-ориентированным принципам, как это
реализовано, например, в SAP R/3. На сегодняшний день SAP предоставляет 170 бизнес-
объектов, хранящихся в репозитории бизнес-объектов (BOR). Их внутренняя структура описана
на языке АВАР 4GL, который (пока) не является объектно-ориентированным.
Г.4.2.3. Java-аплеты
Компонентное программное обеспечение поддерживается и программными концепциями,
где используются простейшие аппаратные клиенты — так называемые сетевые компьютеры.
Приложения хранятся в сети (Интернете или интрасетях) и запускаются клиентом по мере
надобности. В этом отношении функциональные возможности Java представляют особую
ценность. Благодаря использованию в качестве пользовательских интерфейсов Java-аплетов и
популярных Web-браузеров стала реальна платформно-независимая обработка.
Для создания Java-аплета разрабатывается исходный код в среде разработки Java в любой
системе. Затем законченная программа — так называемый байт-код — компилируется в среде
разработки, а не в исполняемой программе. Байт-код не зависит от платформы, и чтобы
обеспечить его соответствие техническим требованиям клиентской системы, перед
исполнением его необходимо еще раз интерпретировать. Это осуществляется при помощи
виртуальной машины Java (JVM) после загрузки. JVM адаптирует байт-код к различным
клиентским требованиям.
Язык Java можно использовать на трех уровнях. Команды могут вводиться прямо в текст
HTML-страницы как исходный код JavaScript. Этот код команд лишь отчасти идентичен Java,
хотя оба языка основаны на C++. Однако JavaScript позволяет реализовать лишь небольшие
приложения, например, для проверки значений или отображения «шапки» в строке состояния
браузера. Кроме того, JavaScript не способен обеспечить осуществлять прямую связь между
клиентом и сервером.
Далее байт-код аплета передается клиенту в дополнение к загружаемой HTML-странице.
Переданный байт-код проверяется и интерпретируется на клиенте, после чего аплет
выполняется. Аплеты запускаются только в среде браузера, без него их исполнение
невозможно. Однако в рамках аплетов может происходить дальнейшее общение между
сервером и клиентом. Аплеты способны загружать документы с сервера и обрабатывать их до
того, как они будут отправлены обратно на сервер для завершения процесса. Приложения могут
выполняться независимо от среды браузера. Все, что им нужно — это виртуальная машина Java
для передачи байт-кода. Приложения позволяют разрабатывать независимые приложения,
конструктивные блоки которых по мере необходимости загружаются на клиентский компьютер
через сеть. Как аплеты, так и приложения поддерживают компонентное ПО. Установка и