![Page 1: ENTERPRISE Приложения. Особенности архитектуры](https://reader034.vdocuments.site/reader034/viewer/2022052400/55987f831a28abf57d8b47cd/html5/thumbnails/1.jpg)
WWW.PROVECTUS-IT.COM
![Page 2: ENTERPRISE Приложения. Особенности архитектуры](https://reader034.vdocuments.site/reader034/viewer/2022052400/55987f831a28abf57d8b47cd/html5/thumbnails/2.jpg)
ENTERPRISE ПРИЛОЖЕНИЯ
Особенности архитектуры
Яковенко Андрей, tech leadwww.Provectus-IT.com
2011
![Page 3: ENTERPRISE Приложения. Особенности архитектуры](https://reader034.vdocuments.site/reader034/viewer/2022052400/55987f831a28abf57d8b47cd/html5/thumbnails/3.jpg)
СОДЕРЖАНИЕ
• Определения
• Классификация
• Общая архитектура– Двухуровневая архитектура
– Трёхуровневая архитектура
• Архитектурные решения
• Организация проекта
• Подсистемы
• О чём не сказано
• Известные истины
• Вопросы
![Page 4: ENTERPRISE Приложения. Особенности архитектуры](https://reader034.vdocuments.site/reader034/viewer/2022052400/55987f831a28abf57d8b47cd/html5/thumbnails/4.jpg)
ОПРЕДЕЛЕНИЯ
Enterprise приложения – программы используемые напредприятия для сопровождения их бизнес-процессов.
Enterprise приложение – многопользовательская, многопоточная программа, обрабатывает значительные объёмы данных. Основные требования к программе формируются средой, в которой она работает.
![Page 5: ENTERPRISE Приложения. Особенности архитектуры](https://reader034.vdocuments.site/reader034/viewer/2022052400/55987f831a28abf57d8b47cd/html5/thumbnails/5.jpg)
ОПРЕДЕЛЕНИЯ
Enterprise приложение – есть отражение бизнес -процессов предприятия. Современное предприятие – этоживой организм, поэтому бизнес-процессы часто и сильноменяются. Enterprise приложение должно иметьвозможность быстро и, по возможности, без участияразработчиков изменить/создать/удалить бизнес-процесс.
Enterprise приложение – дорогое как в приобретениитак и в обслуживании. Отличаются большой стоимостьювладения (стоимость покупки + стоимость сопровождения).Порядок цифр от десятков тысяч до сотен миллионовдолларов в год.
![Page 6: ENTERPRISE Приложения. Особенности архитектуры](https://reader034.vdocuments.site/reader034/viewer/2022052400/55987f831a28abf57d8b47cd/html5/thumbnails/6.jpg)
КЛАССИФИКАЦИЯУниверсальные решения – представляет собой ядро с
набором функций для описания бизнес-процессовпредприятия. Обычно поставляется с настройкой подконкретный вид бизнеса или задачу.
Узкоспециализированное решение – обеспечивают всестороннюю поддержку конкретных бизнес-процессов. Например: учёт кадров/зарплаты, учёт основных средств, складской учёт и т. п. Чаще всего создаются под конкретное предприятие либо достаточно форматизированную область.
![Page 7: ENTERPRISE Приложения. Особенности архитектуры](https://reader034.vdocuments.site/reader034/viewer/2022052400/55987f831a28abf57d8b47cd/html5/thumbnails/7.jpg)
ОБЩАЯ АРХИТЕКТУРАДвухуровневая архитектура
![Page 8: ENTERPRISE Приложения. Особенности архитектуры](https://reader034.vdocuments.site/reader034/viewer/2022052400/55987f831a28abf57d8b47cd/html5/thumbnails/8.jpg)
ОБЩАЯ АРХИТЕКТУРАДвухуровневая архитектура
• Почти вся логика обработки заключена в приложении• Данные хранятся в общей базе данных• Большое количество одновременно работающих
приложений• Чаще всего каждая копия соответствует одному
пользователю и запускается на отдельной машине
Относительная простота реализации
Невозможность масштабированияВысокие требования к рабочим станциям пользователей
![Page 9: ENTERPRISE Приложения. Особенности архитектуры](https://reader034.vdocuments.site/reader034/viewer/2022052400/55987f831a28abf57d8b47cd/html5/thumbnails/9.jpg)
ОБЩАЯ АРХИТЕКТУРАТрёхуровневая архитектура
![Page 10: ENTERPRISE Приложения. Особенности архитектуры](https://reader034.vdocuments.site/reader034/viewer/2022052400/55987f831a28abf57d8b47cd/html5/thumbnails/10.jpg)
ОБЩАЯ АРХИТЕКТУРАТрёхуровневая архитектура
Программа состоит из множества баз данных, серверов приложений и клиентских приложений. Сервер приложений содержит большую часть бизнес логики.
Возможность масштабирования
Сложная реализация алгоритмов
![Page 11: ENTERPRISE Приложения. Особенности архитектуры](https://reader034.vdocuments.site/reader034/viewer/2022052400/55987f831a28abf57d8b47cd/html5/thumbnails/11.jpg)
АРХИТЕКТУРНЫЕ РЕШЕНИЯ
• Модульная архитектура.• Независимые модули или иерархическая зависимость.
• Структура проекта.• Создание и поддержка структуры проекта. Ant, Maven
• Поддержка разных операционных систем.• Учёт особенностей разных операционных систем.
• Использования сторонних библиотек.• Правильный выбор сторонних библиотек.
![Page 12: ENTERPRISE Приложения. Особенности архитектуры](https://reader034.vdocuments.site/reader034/viewer/2022052400/55987f831a28abf57d8b47cd/html5/thumbnails/12.jpg)
ОРГАНИЗАЦИЯ ПРОЕКТА
• Правильные названия методов, классов и подсистем.• Использования общепринятых и информативных названия.
• Сборка проекта из исходников.• Прозрачные правила сборки. Быстрые сборки. • Continuous Integration. (Hudson, CruiseControl, TeamCity)
• Документация.• Техническая документация проекта, соглашения, Java Doc.
![Page 13: ENTERPRISE Приложения. Особенности архитектуры](https://reader034.vdocuments.site/reader034/viewer/2022052400/55987f831a28abf57d8b47cd/html5/thumbnails/13.jpg)
ПОДСИСТЕМЫ
Административная частьСистема полномочий
Система настройкиАудит
Подсистема логовКонтроль целостности приложения
Технологическая частьСистема справочной информацииСистема настройки и описания бизнес процессовПодсистема отчётовСистема экспорта/импорта данных
ЯДРОТипы данных
Система управления ресурсамиСистема обработки ошибок
Пользовательский интерфейсСистема тестирования
![Page 14: ENTERPRISE Приложения. Особенности архитектуры](https://reader034.vdocuments.site/reader034/viewer/2022052400/55987f831a28abf57d8b47cd/html5/thumbnails/14.jpg)
О ЧЁМ НЕ СКАЗАНО
• Проектирование базы данных
• Транзакции и блокировки
• Локализация
![Page 15: ENTERPRISE Приложения. Особенности архитектуры](https://reader034.vdocuments.site/reader034/viewer/2022052400/55987f831a28abf57d8b47cd/html5/thumbnails/15.jpg)
ИЗВЕСТНЫЕ ИСТИНЫ
• Если пользователи не обращаются с просьбами исправить ошибки или выполнить «гениальные» улучшения программы, значит программой никто не пользуется.
• Основное правило при проектировании проекта –делайте как можно проще, сложно получиться само.
• Не забываем о лезвии Оккама – не умножаем сущности без необходимости.
![Page 16: ENTERPRISE Приложения. Особенности архитектуры](https://reader034.vdocuments.site/reader034/viewer/2022052400/55987f831a28abf57d8b47cd/html5/thumbnails/16.jpg)
ВОПРОСЫ
PROVECTUS-ITwww.Provectus-It.com
Обсерваторный переулок 2/4