Применение OERA в проектировании приложений
Как архитектору или разработчику вам необходимо определить, какие части вашего приложения будут следовать принципам проектирования OERA, которые рекомендует Progress Software.
Для начала вам необходимо собрать все требования к приложению. Если у вас уже есть готовые части приложения, то необходимо решить, будете ли вы их модернизировать в соответствии с OERA. Для того, чтобы правильно разделить приложение на бизнес-компоненты, вы должны задокументировать каждый вариант его использования. В идеале, варианты использования должны быть основой для проектирования бизнес-компонент.
Множество Progress-разработчиков используют OERA при проектировании своих приложений. Поэтому на основе их опыта мы рассмотрим разработку приложения в рекомендуемом порядке, о котором и пойдёт речь дальше.
Рекомендуется следующий порядок разработки приложений на основе принципов OERA:
- Определение данных для вариантов использования. Идентифицируйте все типы данных необходимых для каждого варианта использования. Эти типы данных могут использоваться для описания ваших наборов данных (ABL DataSets).
- Определите источники данных. Для реализации слоя Data Source определите все возможные источники данных для каждого набора данных (ABL DataSets).
- Определите бизнес сущности, бизнес-задачи и рабочие процессы. Для каждого варианта использования опишите бизнес-сущности, бизнес-задачи и рабочие бизнес-процессы. Каждая бизнес-сущность должна иметь собственную реализацию слоя Data Access. Определите функциональность для каждого бизнес-компонента. Определите ключевые сервисы или точки входа, которые должен предоставлять каждый бизнес-компонент.
- Определите сервисные интерфейсы для бизнес-сущностей. Каждый сервис бизнес-компонента или каждая точка входа должны иметь собственный сервисный интерфейс. Поймите, кем будут запрашивающие стороны, поскольку это будет влиять на типы используемых параметров. Если необходимо, то добавьте в сервисные интерфейсы возможность авторизации и аутентификации.
- Определите сервисные адаптеры. На основе сервисных интерфейсов определите сервисные адаптеры. Вы должны понимать, какие типы Клиентов будут иметь доступ к бизнес-компонентам. Убедитесь, что сервисные адаптеры способны найти необходимый сервис.
- Определите клиентские бизнес-сущности, которые будут использовать Моделью пользовательского интерфейса.
- Определите Модель, Представление и Presenter для пользовательского интерфейса.
Во время проектирования приложения необходимо ответить на следующие вопросы:
- На какой платформе будет работать ваше приложение? От этого будет зависеть, как вы будете писать код.
- Какая процессорная архитектура будет использована? AppServer-а, WebSpeed Transaction Server-а и Database Server-а будут работать на разных хостах? Если используются сервера приложений, как вы определите, какая часть приложения будет работать на конкретном AppServer-е?
- Каковы требования к обеспечению безопасности? Вам необходимо учесть эти требования в приложении.
- Есть ли требования для обеспечения multi-tenancy для доступа к данным? Если есть, то необходимо учесть это в программном коде приложения.
- Каковы требования к обеспечению доступности приложения? Вы должны гарантировать, что ваше приложение будет доступно для бизнеса. Возможно, вам понадобиться включить в приложение механизмы восстановления после сбоев.
- Есть ли какие-либо специальные требования к развёртыванию или к настройке, которые должны быть включены в приложение? Будет ли приложение разворачиваться в Облаке?
- Как приложение будет обслуживаться? Будет ли возможность обслуживание по частям? От этого может зависеть, как вы структурируете код приложения и упакуете его.