Многоуровневая архитектура и SOA

Архитектура
  • Примечание. Источник статьи: колонка Geek Time «Изучение архитектуры с нуля».

Многоуровневая архитектура

  • Ее также называют многоуровневой архитектурой, обычно N составляет не менее 2 слоев. Например, архитектура C/S, стоечная архитектура B/S, MVC, MVP, архитектура ядра операционной системы.
1. Архитектура C/S, архитектура B/S
  • Объект разделения — вся система, а измерение разделения — взаимодействие с пользователем, то есть часть, которая взаимодействует с пользователем, выделяется в один слой, а фон, поддерживающий взаимодействие с пользователем, — в другой слой.
2. Архитектура MVC, архитектура MVP
  • Объектом разделения является единая бизнес-подсистема, измерением разделения является ответственность, а разные обязанности делятся на независимые уровни, но зависимости каждого уровня более гибкие.

3. Логическая многоуровневая архитектура
  • Разделенный объект может быть отдельной бизнес-подсистемой или всей бизнес-системой, а разделенные измерения также являются обязанностями.
  • Слои в логически многоуровневой архитектуре зависят сверху вниз.
  • Типичная архитектура ядра операционной системы, архитектура TCP/IP
  • Ниже представлена ​​схема архитектуры операционной системы Android.
  • Ниже приведена типичная схема архитектуры системы J2EE.
  • Ниже представлена ​​схема архитектуры для логического разделения всей бизнес-системы.
Ядро проектирования многоуровневой архитектуры
  • Убедитесь, что различия между уровнями достаточно ясны, а границы достаточно очевидны, чтобы люди могли понять всю архитектуру, увидев архитектурную диаграмму.
  • Чтобы лучше поддерживать расширение системы, суть состоит в том, чтобы изолировать проблемы, то есть компоненты на каждом уровне будут обрабатывать только логику этого уровня.
  • Например, ядро ​​Linux абстрагирует интерфейс файловой системы VFS для поддержки различных форматов файловой системы.

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

SOA

  • Сервис-ориентированная архитектура, Сервис-ориентированная архитектура
задний план
  • Каждый отдел предприятия имеет независимые ИТ-системы, такие как система управления персоналом, финансовая система и система продаж.Все эти системы могут включать управление персоналом, и каждая ИТ-система должна повторять функции управления разработчиками. Например, после увольнения сотрудника из компании необходимо удалить разрешение сотрудника в трех вышеуказанных системах соответственно.
  • Каждая независимая ИТ-система может быть закуплена у разных поставщиков, с разными технологиями внедрения, а само предприятие вряд ли будет перестроено на основе этих систем.
  • С развитием бизнеса сложность становится все выше и выше, и все больше процессов и предприятий должны выполняться несколькими ИТ-системами. Поскольку не существует стандартного метода реализации для каждой независимой ИТ-системы (например, система управления персоналом разрабатывается на Java, а RPC предоставляется извне; финансовая система разрабатывается на C#, а протокол SOAP предоставляется извне). система настраивается и разрабатывается одновременно, а эффективность очень низкая.
3 ключевые концепции, предложенные SOA
1. Сервис
  • Все бизнес-функции являются сервисом, а сервис означает предоставление открытых возможностей внешнему миру.Когда другие системы должны использовать эту функцию, нет необходимости в индивидуальной разработке.
  • Услуги могут быть большими или маленькими, простыми или сложными
2. ЕСБ
  • Корпоративная служебная шина, Корпоративная служебная шина
  • ESB соединяет разрозненные сервисы по всему предприятию
  • SOA использует ESB для защиты разнородных систем, чтобы обеспечить различные внешние интерфейсы, чтобы обеспечить взаимосвязь между службами и университетами.
3, свободная связь
  • Цель состоит в том, чтобы уменьшить зависимость и взаимное влияние между различными сервисами.
Типичная архитектура SOA выглядит следующим образом:

идея
  • Архитектура SOA является относительно высокоуровневой концепцией проектирования архитектуры.Вообще говоря, предприятия используют архитектуру SOA для построения ИТ-систем, но нельзя сказать, что независимая система принимает архитектуру SOA.
  • Например, предприятие принимает архитектуру SOA и делит систему на «службы управления человеческими ресурсами», «службы посещаемости» и «финансовые службы», но сами службы управления человеческими ресурсами обычно не разделяют больше служб в соответствии с архитектурой SOA, они также не используют независимый набор ESB, потому что эти системы могут быть приобретены, и сама ESB также может быть приобретена.Если сама система управления персоналом реконструируется в несколько подслужб, а затем развертывается независимая система ESB, цена тоже высока, а пользы никакой.

Примечание. Учащиеся, которым интересно узнать о столбце Geek Time, могут проверитьGeek Time Column - доступна услуга кэшбэка