Общие сведения





Скачать 112.82 Kb.
НазваниеОбщие сведения
Дата публикации13.03.2015
Размер112.82 Kb.
ТипДокументы
100-bal.ru > Информатика > Документы



Департамент информационных технологий

города Москвы




Требования к типовой архитектуре приложения

Листов

Версия 1.2


Москва, 2013

СОДЕРЖАНИЕ

Общие сведения 2

2.Термины, определения и аббревиатуры 2

3.Требования к структуре приложения 3

4.Общие требования к проектированию приложения 5

5.Требования к компонентам слоев приложения 6

6.Типовая модель приложения 9

1.1.функциональные компоненты. 11

1.2.Типовые не функциональные компоненты. 11

6.1.1.Безопасность 11

6.1.2.Мониторинг и логирование 12

6.1.3.Администрирование 12

6.1.4.Интеграция с внешними системами 12

1.3.Требования к Типовым не функциональным компонентам. 13

6.1.5.Требования к компонентам безопасности 13

6.1.6.Требования к компонентам мониторинга и логирования 13

Общие сведения

    1. Цель документа


Целью данного документа является описание требований, на основе которых осуществляется определение архитектуры приложения в проектах, реализуемых в областях различных сфер деятельности г. Москвы.
    1. Назначение документа


Настоящий документ предназначен для архитекторов, инженеров проекта и отраслевых менеджеров, а так же архитекторов и разработчиков сторонних организаций, разрабатывающих решения для автоматизации во всех сферах деятельности г. Москвы.
    1. Область применения


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


Данный документ определяет требования к архитектуре приложения. Определение требований по интеграции с другими приложениями не является предметом рассмотрения в данном документе.
    1. Связанные документы


  1. Основные архитектурные принципы, М. 2013


  1. Термины, определения и аббревиатуры




Термин, сокращение

Описание

Архитектура приложения

Архитектура приложения определяет внутреннюю структуру приложения, разрабатываемого в рамках проекта по его созданию

GUI (Graphical User Interface)

Графический интерфейс пользователя

DTO (Data Transfer Object)

Объект передачи данных

ORM (Object Relational Mapping)

Технология, программные реализации которой устанавливают соответствие между бизнес-объектами приложения и соответствующими объектами базы данных.

СУБД

Система управления базами данных

ECM

(Enterprise Content Management)

Управления информационным контентом организации

JPA (Java Persistence API)

Спецификация, определяющая правила работы с бизнес-объектами приложения, имеющими соответствие в его реляционной базе данных

Hibernate

ORM- библиотека


  1. Требования к структуре приложения

    1. Типовая структура приложения


При проектировании приложения необходимо различать следующие слои, формирующие его структуру:

  1. Презентационный слой

  2. Слой бизнес-логики

  3. Слой хранения данных

Типовая структура приложения приведена на рис. 1.



Рисунок . Типовая структура приложения
    1. Назначение слоев

      1. Презентационный слой


Презентационный слой выполняет следующие функции:

  • реализует интерфейс, позволяющий клиенту взаимодействовать с приложением

  • взаимодействует со слоем бизнес логики, где собственно и сосредоточена основная логика приложения

Презентационный слой может быть реализован в виде “тонкого” или “толстого” клиентов

  • “тонкий” клиент – программное обеспечение, функционирующее в среде интернет browser’а и отрисовывающее свой интерфейс средствами HTML, JavaScript и CSS;

  • “толстый” клиент – программное обеспечение, функционирование которого обеспечивается непосредственно операционной системой (без промежуточного ПО) и для отрисовки интерфейса такого обеспечения используются средства ОС
      1. Слой бизнес-логики


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

Данный слой реализует программные интерфейсы, посредством которых осуществляется взаимодействие с презентационным слоем и внешними приложениями.
      1. Слой хранения данных


Слой данных представляет данные, используемые в приложении. Данные могут быть представлены данными, сохраненными в реляционной или нереляционной базе данных, данными, накопленными в системе хранения, доступ к которой осуществляется посредством Lightweight Data Access Protocol (LDAP).
  1. Общие требования к проектированию приложения


При проектировании приложения необходимо соблюдать разбиение компонент приложения по слоям четко определенными функциями. Разбиение на слои должно обеспечить логическую и физическую независимость между частями приложения:

  • Логическая независимость. Слои должны быть слабо связаны (взаимодействовать друг с другом на уровне интерфейсов) и обеспечивать возможность модификации какого-либо слоя без внесения изменения в другие слои.

  • Физическая независимость: Физическая независимость должна обеспечить возможность независимого развертывания программного обеспечения разных слоев на различном оборудовании.



  1. На этапе проектирования необходимо учесть следующие аспекты, влияющие на производительность приложения:

    1. использование технологий для кэширования данных запросов и контента

    2. использование технологий кэширования справочников приложения

  2. Кластеризация приложения на соответствующем слое приложения должна осуществляться средствами инфраструктуры размещения соответствующего слоя приложения:
  1. Требования к компонентам слоев приложения

    1. Требования к компонентам презентационного слоя


  1. Компоненты презентационного слоя должны отображать представление пользовательского интерфейса, сформированное либо непосредственно на клиентском слое (Desktop, мобильное приложение), либо полученное со слоя презентационной логики (WEB приложение, работающее через Internet browser)

  2. Компоненты презентационного слоя для WEB приложений не должны быть ориентированы на конкретный Internent browser и должены быть совместим с большинством широко используемых browser’ов последних версий - IE, Chrome, Firefox, Safari.

  3. В состав презентационного слоя для WEB приложений не должны входить компоненты, специфичные для конкретной операционной системы (например, ActiveX компоненты)

  4. Компоненты презентационного слоя, реализованные в виде “толстого” клиента должны иметь встроенные возможности по автоматическому обновлению версий. Возможно использование внешних, по отношению к компонентам клиентского слоя, решений, реализующих функционал автоматического обновления версий (решений, аналогичных Web Start).

  5. Компоненты презентационного уровня должны представлять собой исключительно слой визуализации и не содержать бизнес – логики.

  6. Компоненты презентационного слоя могут непосредственно взаимодействовать только с компонентами слоя бизнес – логики

  7. Компоненты презентационного слоя для WEB приложений, размещенные на серверной стороне приложения должны быть развернуты внутри контейнера, который обеспечивает сервисы, связанные с масштабированием, сетевым взаимодействием, информационной безопасностью и пр.

  8. При создании компонент презентационного слоя необходимо использовать программные стандартные технологии презентационного уровня

  9. При обслуживании клиентов не следует допускать неконтролируемого роста числа потоков операционной системы, запускаемых для обработки клиентских вызовов. Должна быть возможность ограничения числа одновременно запущенных потоков путем настроек и переиспользования уже существующих потоков (пул потоков)

  10. Операции, требующие длительного времени на обработку, должны выполняться асинхронно. Задача передается на уровень бизнес – логики, а клиент уведомляется о том, что его запрос принят в обработку. По завершению выполнения задачи клиент тем или иным образом уведомляется об этом. Таким образом, ресурсы, используемые для обслуживания данного запроса, могут быть освобождены и переиспользованы для обслуживания других запросов.

  11. При взаимодействии клиентского устройства с серверной частью приложения должна решаться задача минимизации сетевого трафика. Снижение объема сетевого трафика должно осуществляться как за счет минимизации собственно объем передаваемой информации (например, за счет кэширования информации на устройстве клиента), так и за счет выбора соответствующего протокола обмена информацией между клиентским устройством и серверной составляющей решения (например, использовать JSON, а не XML).
    1. Требования к компонентам слоя бизнес-логики


  1. Компоненты слоя бизнес-логики взаимодействуют с компонентам презентационного слоя и слоя данных

  2. Компоненты слоя бизнес – логики должны размещаться внутри контейнера, который обеспечивает сервисы, связанные с масштабированием, сетевым взаимодействием, информационной безопасностью и пр.

  3. Компоненты слоя бизнес – логики строятся с учетом их переиспользования. Одни и те же компоненты слоя бизнес – логики могут взаимодействовать как с различным компонентами презентационного слоя, так и быть преиспользованы различными приложениями (посредством интеграционных решений)

  4. Для обеспечения логической независимости (см. п. “Общие требования” данного документа), реализация взаимодействия со слоем хранения должна быть выделены в отдельные компоненты, которые и будут подлежать переработке в случае изменения слоя данных (другие компоненты слоя бизнес – логики при этом останются без изменений)

  5. Взаимодействие слоя бизнес – логики, со слоем данных должно быть ориентировано на оптимизацию процесса взаимодействия с точки зрения производительности. Следует организовывать кэширование информации и оптимизировать процессы взаимодействия со слоем данных путем недопущения неконтролируемого роста количества соединений между слоем бизнес логики и слоем хранения и переиспользования (в случае возможности) уже открытых соединений (пулы соединений).
    1. Требования к компонентам слоя хранения


  1. Компоненты слоя данных взаимодействуют с компонентами слоя бизнес - логики

  2. Для доступа к данным следует использовать стандартные протоколы доступа (например: SQL для реляционных баз данных, CMIS для систем управления контентом (ECM)). Должно быть минимизировано использование расширений к стандартам на доступ к информации, предлагаемых вендорами, ровно, как и проприетарных протоколов и языков для работы с данными, присущих конкретным продуктам конкретного вендора.

  3. Структура данных операционных приложений должна быть оптимизирована под задачи бизнес-процессов, поддерживаемых приложением и проектироваться исходя из типовых запросов, специфичных для конкретной системы

  4. Для реляционных баз данных должна использоваться высокая степень нормализации: 3-я нормальная форма и выше

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

  6. Историчность данных допустима только на такую глубину, которая требуется для поддержки операционного процесса.

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


Типовая модель приложения представлена на рис 2:



Рисунок . Типовая модель приложения

К типовой модели приложения предъявляются следующие требования:

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

  2. Общие функции должны быть сосредоточены в выделенных общих инфраструктурных компонентах приложения (компоненты ядра, компоненты доступа к базе данных и т.д).

  3. Выделяются типовые не функциональные компоненты приложения, реализующие следующие функции:

  • Обеспечение безопасности приложения

  • Осуществление мониторинга и логирования

  • Администрирование

  • Интеграции с внешними системами (АПИ)

1.1.функциональные компоненты.


Функциональные компоненты реализуют четко описанную, не пересекающую с другими функциональными компонентами, бизнес-функцию системы, определенными целями создания приложения.

1.2.Типовые не функциональные компоненты.

      1. Безопасность


Компоненты безопасности должны предотвратить несанкционированный доступ к данным и функциям системы
      1. Мониторинг и логирование


Компоненты мониторинга должны позволить вести наблюдение за работоспособностью системы и обеспечить получение заинтересованными лицами информации о сбоях в работе и прочих нештатных ситуациях (включая угрозы и нарушения безопасности).

Компоненты логирования должны обеспечить накопление информации о работе системы в объеме, достаточном для анализа причин сбоев и прочих нештатных ситуаций. Так же система логирования призвана обеспечить достаточный объем информации для последующего использования в аналитических системах для подготовки всякого рода отчетности о функционировании операционной системы.
      1. Администрирование


Компоненты администрирования должны обеспечить выполнение функций по настройке приложения и адаптации его к конкретным условиям функционирования.
      1. Интеграция с внешними системами


Компоненты интеграции с внешними системами должны поддерживать следующие способы интеграции:

  1. Посредством реализации компонентов прикладного программного интерфейса (Application Program Interface - API) Компоненты API должны реализовать интерфейс доступа к функциям приложения для внешних систем и обеспечить интеграцию в ИТ ландшафт Москвы без переделки остальных компонентов приложения. Компоненты API должны поддерживать такие протоколы взаимодействия, как SOAP/HTTP, JMS и другие. другими приложениями

  2. Посредством реализации специальных интерфейсных компонентов на уровне слоя хранения. Данные компоненты предназначены для поддержки ETL процессов при интеграции приложений с централизованными репозиториями данных. Интерфейсные компоненты слоя данных должны быть стабильны по своей структуре для обеспечения независимости ETL процессов от изменений в структурах данных слоя хранения приложения.

1.3.Требования к Типовым не функциональным компонентам.

      1. Требования к компонентам безопасности


  1. Компоненты слоя безопасности должны реализовывать функции управления доступом пользователей к приложению, а также функции идентификации, аутентификации авторизации и защиты обрабатываемых данных.

  2. Компоненты слоя безопасности должны обеспечивать аудит действий пользователя

  3. Специфика взаимодействия приложения с используемой платформой LDAP должна быть инкапсулирована посредством компонент слоя безопасности

  4. Посредством компонент слоя безопасности приложение должно быть интегрировано с общегородской системой СУДИР
      1. Требования к компонентам мониторинга и логирования


Оперативность мониторинга должна быть достаточной для своевременной реакции на сбои и внештатные ситуации

Мониторинг и логирование должны быть настраиваемые, позволяющие задавать требуемый уровень логирования и мониторинга.

Должна быть обеспечена возможность настраивания форматов логирования

Должна быть обеспечена возможность направления информации по мониторингу и логированию в разные каналы путем настроек (файлы, электронная почта, сетевые каналы)



Добавить документ в свой блог или на сайт

Похожие:

Общие сведения iconОбщие сведения ”. Основные вопросы: Назначение, запуск, интерфейс модуля “
Модуль “Общие сведения” содержит базовую информацию об образовательном учреждении, обеспечивая основу для создания адресных отчетов,...
Общие сведения iconОбщеобразовательная программа «от рождения до школы» муниципального...
Общие сведения об учреждении, контингент детей, воспитывающихся в доу. Комплектование групп, режим работы детского сада. Сведения...
Общие сведения iconОтчет о результатах самообследования деятельности образовательного...
Общие сведения о доу. Цели и задачи деятельности мадоу «Детский сад №104»
Общие сведения iconОтчет о результатах самообследования деятельности образовательного...
Общие сведения о доу. Цели и задачи деятельности мадоу «Детский сад №104»
Общие сведения iconПрограмма по формированию навыков безопасного поведения на дорогах...
Общие сведения об учреждении, контингент детей, воспитывающихся в доу. Комплектование групп, режим работы детского сада. Сведения...
Общие сведения iconПубличный отчет директора за 2012-2013 уч. Год москва, 2013 г. Общие...
Общие сведения о гбоу кадетской школе-интернате №7 «Московский казачий кадетский корпус» им. М. А. Шолохова
Общие сведения iconОбщие сведения по основной профессиональной образовательной программе...
Общие сведения по основной профессиональной образовательной программе и структуре подготовки обучающихся и выпускников
Общие сведения iconОбщие сведения по основной профессиональной образовательной программе...
Общие сведения по основной профессиональной образовательной программе и структуре подготовки обучающихся и выпускников
Общие сведения iconОбщие сведения по основной профессиональной образовательной программе...
Общие сведения по основной профессиональной образовательной программе и структуре подготовки обучающихся и выпускников
Общие сведения iconОбщие сведения об образовательном учреждении 3

Общие сведения iconОтчет о результатах самообследования Общие сведения

Общие сведения iconКонспект Общие сведения по курсу русского языка

Общие сведения iconОглавление 3
Общие сведения о профессии. Организационно-правовое обеспечение образовательной деятельности. 4
Общие сведения iconОглавление 3
Общие сведения о профессии. Организационно-правовое обеспечение образовательной деятельности. 4
Общие сведения iconХозяйства и государственной службы при президенте российской федерации
Общие сведения о филиале
Общие сведения iconХозяйства и государственной службы при президенте российской федерации
Общие сведения о филиале


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск