Архитектура. Что такое программная архитектура. Зачем нужна архитектура, страница 8

Как было сказано выше, один из способов реализации разбиения в n-уровневой архитектуре состоит в выделении специальных уровней для каждого яруса. Этот подход принят и b J2EE.

Ярусная архитектура J2EE имеет следующие особенности.

·  Клиентский ярус (client tier) занимается в первую очередь взаимодействием с пользователем.

·  Ярус представления (presentation tier) имеет дело с представлением результатов деловых запросов.

·  Ярус логики (business tier) содержит базовую логику приложения.

·  Ярус данных (data tier) создает интерфейс к постоянному хранилищу данных.

Подход, принятый в J2EE, схематически показан на рис. 6.8.

Подходы к программной архитектуре

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

Каждый из этих подходов имеет свои сильные и слабые стороны, а также своих защитников и критиков.

Архитектурная модель J2EE

Для понимания архитектурной философии J2EE ключевыми являются концепции ярусов, компонентов и служб.

Учитывая, что основное назначение платформы J2EE — давать практически осуществимые решения для построения крупных и масштабируемых приложений уровня предприятия, не следует удивляться, что здесь настойчиво проводится идея разделения приложения на много уровней. Платформа J2EE содержит механизмы для разбиения системы на относительно крупные компоненты. Также платформа J2EE предпочитает архитектуруна базе служб, которая характеризуется объединением служб сотрудничества и коммуникации. Для взаимодействия службы обеспечиваются четко определенными API.

В официальных рекомендациях J2EE нет строгого предписания придерживаться многоуровневого, иерархического представления уровней, а допускается выбирать наиболее приемлемый вариант. Рекомендуется применять ярусы и связанные с ними технологии, если это имеет смысл для определенной задачи. Например, вполне целесообразно обращаться к ярусу данных непосредственно с яруса представления.

Для разработки приложений масштаба предприятия в J2EE рекомендуется использовать архитектурный принцип "модель-вид-контроллер" (MVC) . Как уже было сказано вкратце в главе 2, основная идея MVC состоит в уменьшении до минимума связанности объектов системы путем их классификации по определенным наборам обязанностей в следующих областях: постоянно хранимые данные и правила для них (модель), представление (вид) и логика приложения (контроллер).

Архитектурная модель "4 + 1 представление"

Главная причина использования для архитектуры разных представлений — стремление уменьшить ее общую сложность.

Представление (view) — это по сути взгляд на модель с определенной точки зрения, в который включаются только важные и нужные детали, а все остальное игнорируется.

Архитектурная модель "4 + 1 представление" (Kruchten, 1995) теперь является частью процесса R.UP. Она широко применялась в качестве основы для архитектурного анализа и проектирования систем.

Основная идея этой модели состоит в том, что программную систему можно хорошо смоделировать с помощью пяти взаимосвязанных представлений.

·  Логическое представление моделирует пакеты, подсистемы и классы.

·  Представление реализации описывает физическую организацию программного обеспечения, например, исполняемые файлы, библиотеки, исходный текст и т.д.

·  Представление процессов занимается аспектами параллелизма в программе, например, процессами, задачами и потоками, которые входят в состав программной системы.

·  Представление развертывания сосредоточено на отображении исполняемых файлов на физические узлы и аппаратные средства.

·  Представление прецедентов — это особое представление, объединяющее в себе все остальные.