ENTERPRISE Приложения. Особенности архитектуры
Upcoming SlideShare
Loading in...5
×
 

ENTERPRISE Приложения. Особенности архитектуры

on

  • 2,164 views

 

Statistics

Views

Total Views
2,164
Views on SlideShare
2,164
Embed Views
0

Actions

Likes
0
Downloads
15
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

ENTERPRISE Приложения. Особенности архитектуры ENTERPRISE Приложения. Особенности архитектуры Presentation Transcript

  • www.provectus-it.com
  • ENTERPRISEПриложения
    Особенности архитектуры
    Яковенко Андрей, tech lead
    www.Provectus-IT.com
    2011
  • СОДЕРЖАНИЕ
    Определения
    Классификация
    Общая архитектура
    Двухуровневая архитектура
    Трёхуровневая архитектура
    Архитектурные решения
    Организация проекта
    Подсистемы
    О чём не сказано
    Известные истины
    Вопросы
  • Определения
    Enterprise приложения – программы используемые на предприятия для сопровождения их бизнес-процессов.
    Enterprise приложение – многопользовательская, многопоточная программа, обрабатывает значительные объёмы данных. Основные требования к программе формируются средой, в которой она работает.
  • Определения
    Enterpriseприложение – есть отражение бизнес -процессов предприятия. Современное предприятие – это живой организм, поэтому бизнес-процессы часто и сильно меняются. Enterprise приложение должно иметь возможность быстро и, по возможности, без участия разработчиков изменить/создать/удалить бизнес-процесс.
    Enterpriseприложение – дорогое как в приобретении так и в обслуживании. Отличаются большой стоимостью владения (стоимость покупки + стоимость сопровождения). Порядок цифр от десятков тысяч до сотен миллионов долларов в год.
  • Классификация
    Универсальные решения – представляет собой ядро с набором функций для описания бизнес-процессов предприятия. Обычно поставляется с настройкой под конкретный вид бизнеса или задачу.
    Узкоспециализированное решение – обеспечивают всестороннюю поддержку конкретных бизнес-процессов. Например: учёт кадров/зарплаты, учёт основных средств, складской учёт и т. п. Чаще всего создаются под конкретное предприятие либо достаточно форматизированную область.
  • Общая архитектура
    Двухуровневая архитектура
  • Общая архитектура
    Двухуровневая архитектура
    • Почти вся логика обработки заключена в приложении
    • Данные хранятся в общей базе данных
    • Большое количество одновременно работающих приложений
    • Чаще всего каждая копия соответствует одному пользователю и запускается на отдельной машине
    Относительная простота реализации
    Невозможность масштабирования
    Высокие требования к рабочим станциям пользователей
  • Общая архитектура
    Трёхуровневая архитектура
  • Общая архитектура
    Трёхуровневая архитектура
    Программа состоит из множества баз данных, серверов приложений и клиентских приложений. Сервер приложений содержит большую часть бизнес логики.
    Возможность масштабирования
    Сложная реализация алгоритмов
  • Архитектурные решения
    • Модульная архитектура.
    • Независимые модули или иерархическая зависимость.
    • Структура проекта.
    • Создание и поддержка структуры проекта. Ant, Maven
    • Поддержка разных операционных систем.
    • Учёт особенностей разных операционных систем.
    • Использования сторонних библиотек.
    • Правильный выбор сторонних библиотек.
  • ОРГАНИЗАЦИЯ ПРОЕКТА
    • Правильные названия методов, классов и подсистем.
    • Использования общепринятых и информативных названия.
    • Сборка проекта из исходников.
    • Прозрачные правила сборки. Быстрые сборки.
    • Continuous Integration. (Hudson, CruiseControl, TeamCity)
    • Документация.
    • Техническая документация проекта, соглашения, Java Doc.
  • Подсистемы
    ЯДРО
    Типы данных
    Система управления ресурсами
    Система обработки ошибок
    Пользовательский интерфейс
    Система тестирования
    Административная часть
    Система полномочий
    Система настройки
    Аудит
    Подсистема логов
    Контроль целостности приложения
    Технологическая часть
    Система справочной информации
    Система настройки и описания бизнес процессов
    Подсистема отчётов
    Система экспорта/импорта данных
  • о чём не сказано
    • Проектирование базы данных
    • Транзакции и блокировки
    • Локализация
  • ИЗВЕСТНЫЕ ИСТИНЫ
    • Если пользователи не обращаются с просьбами исправить ошибки или выполнить «гениальные» улучшения программы, значит программой никто не пользуется.
    • Основное правило при проектировании проекта –
    делайте как можно проще, сложно получиться само.
    • Не забываем о лезвии Оккама – не умножаем сущности без
    необходимости.
  • ВОПРОСЫ
    PROVECTUS-IT
    www.Provectus-It.com
    Обсерваторныйпереулок 2/4