Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов (Dropbox)
ENTERPRISE Приложения. Особенности архитектуры
-
Upload
alex-tumanoff -
Category
Technology
-
view
2.050 -
download
1
Transcript of ENTERPRISE Приложения. Особенности архитектуры
WWW.PROVECTUS-IT.COM
ENTERPRISE ПРИЛОЖЕНИЯ
Особенности архитектуры
Яковенко Андрей, tech leadwww.Provectus-IT.com
2011
СОДЕРЖАНИЕ
• Определения
• Классификация
• Общая архитектура– Двухуровневая архитектура
– Трёхуровневая архитектура
• Архитектурные решения
• Организация проекта
• Подсистемы
• О чём не сказано
• Известные истины
• Вопросы
ОПРЕДЕЛЕНИЯ
Enterprise приложения – программы используемые напредприятия для сопровождения их бизнес-процессов.
Enterprise приложение – многопользовательская, многопоточная программа, обрабатывает значительные объёмы данных. Основные требования к программе формируются средой, в которой она работает.
ОПРЕДЕЛЕНИЯ
Enterprise приложение – есть отражение бизнес -процессов предприятия. Современное предприятие – этоживой организм, поэтому бизнес-процессы часто и сильноменяются. Enterprise приложение должно иметьвозможность быстро и, по возможности, без участияразработчиков изменить/создать/удалить бизнес-процесс.
Enterprise приложение – дорогое как в приобретениитак и в обслуживании. Отличаются большой стоимостьювладения (стоимость покупки + стоимость сопровождения).Порядок цифр от десятков тысяч до сотен миллионовдолларов в год.
КЛАССИФИКАЦИЯУниверсальные решения – представляет собой ядро с
набором функций для описания бизнес-процессовпредприятия. Обычно поставляется с настройкой подконкретный вид бизнеса или задачу.
Узкоспециализированное решение – обеспечивают всестороннюю поддержку конкретных бизнес-процессов. Например: учёт кадров/зарплаты, учёт основных средств, складской учёт и т. п. Чаще всего создаются под конкретное предприятие либо достаточно форматизированную область.
ОБЩАЯ АРХИТЕКТУРАДвухуровневая архитектура
ОБЩАЯ АРХИТЕКТУРАДвухуровневая архитектура
• Почти вся логика обработки заключена в приложении• Данные хранятся в общей базе данных• Большое количество одновременно работающих
приложений• Чаще всего каждая копия соответствует одному
пользователю и запускается на отдельной машине
Относительная простота реализации
Невозможность масштабированияВысокие требования к рабочим станциям пользователей
ОБЩАЯ АРХИТЕКТУРАТрёхуровневая архитектура
ОБЩАЯ АРХИТЕКТУРАТрёхуровневая архитектура
Программа состоит из множества баз данных, серверов приложений и клиентских приложений. Сервер приложений содержит большую часть бизнес логики.
Возможность масштабирования
Сложная реализация алгоритмов
АРХИТЕКТУРНЫЕ РЕШЕНИЯ
• Модульная архитектура.• Независимые модули или иерархическая зависимость.
• Структура проекта.• Создание и поддержка структуры проекта. Ant, Maven
• Поддержка разных операционных систем.• Учёт особенностей разных операционных систем.
• Использования сторонних библиотек.• Правильный выбор сторонних библиотек.
ОРГАНИЗАЦИЯ ПРОЕКТА
• Правильные названия методов, классов и подсистем.• Использования общепринятых и информативных названия.
• Сборка проекта из исходников.• Прозрачные правила сборки. Быстрые сборки. • Continuous Integration. (Hudson, CruiseControl, TeamCity)
• Документация.• Техническая документация проекта, соглашения, Java Doc.
ПОДСИСТЕМЫ
Административная частьСистема полномочий
Система настройкиАудит
Подсистема логовКонтроль целостности приложения
Технологическая частьСистема справочной информацииСистема настройки и описания бизнес процессовПодсистема отчётовСистема экспорта/импорта данных
ЯДРОТипы данных
Система управления ресурсамиСистема обработки ошибок
Пользовательский интерфейсСистема тестирования
О ЧЁМ НЕ СКАЗАНО
• Проектирование базы данных
• Транзакции и блокировки
• Локализация
ИЗВЕСТНЫЕ ИСТИНЫ
• Если пользователи не обращаются с просьбами исправить ошибки или выполнить «гениальные» улучшения программы, значит программой никто не пользуется.
• Основное правило при проектировании проекта –делайте как можно проще, сложно получиться само.
• Не забываем о лезвии Оккама – не умножаем сущности без необходимости.
ВОПРОСЫ
PROVECTUS-ITwww.Provectus-It.com
Обсерваторный переулок 2/4