Company media next - architecture (vladimir panov, 15.02.2012)

981 views

Published on

Архитектура CompanyMedia-Next: открытость, производительность, масштабируемость

См. также:
http://www.facebook.com/pages/CompanyMedia/200431593375537
http://opendev.cnews.ru/
http://club.cnews.ru/ИнтерТраст
http://www.intertrust.ru

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
981
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
19
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Company media next - architecture (vladimir panov, 15.02.2012)

  1. 1. Архитектура CompanyMedia Next: открытость, производительность, масштабируемость Владимир Александрович Панов, главный архитектор, Компания «ИнтерТраст» (495) 956-7928
  2. 2. Стратегия развития архитектуры CompanyMedia За счет глубокой и последовательной трансформации архитектуры CompanyMedia, применения самых современных программных платформ и мировых открытых стандартов обеспечить решение критических проблем в области электронного документооборота и управления контентом Обеспечить поддержку современных тенденций в области управления контентом и коллективной работы
  3. 3. Ключевые требования к архитектуре CompanyMedia Юзабилити (относится к клиентам, но влияет на всю архитектуру) Производительность и масштабируемость Открытость: расширяемость, переносимость, интероперабельность, адаптивность Технологичность (на всех этапах ЖЦ) Экономичность
  4. 4. Открытость Открытость:  соответствие популярным стандартам, спецификациям  расширяемость  переносимость,  интероперабельность,  адаптивность Стандарты, спецификации, …  BPMN 2.0  ACM (Adaptive Case Management) (пока стандарта нет, но его подготовка постепенно идет)  CMIS  HTML5  XMPP (Jabber)  REST (архитектурный стиль)  JPA (Java Persistence API)
  5. 5. Расширяемость и адаптивность Высокая степень адаптивности системы, технологичность доработок и расширяемость без перепрограммирования - за счет использования «конструктора бизнес-решений» (КоБРа), в котором под каждое «БР» создаются несколько взаимоувязанных моделей, определяющих самые изменчивые аспекты БР:  бизнес-объекты и их агрегаты/композиты;  жизненные циклы бизнес-объектов;  процессы (BPMN 2);  роли и орг.стрктура;  пользовательские интерфейсы (формы, представления, …)  Отчеты Новое перспективное направление – кейс-менеджмент (об этом отдельно) Два уровня расширяемости:  Системный / Полнофункциональный - КоБРа - для разработчиков, архитекторов, системных аналитиков (в нашей компании, у партнеров, у заказчиков)  Пользовательский – обычно это средства создания разных шаблонов – для бизнес- аналитиков, предметных специалистов, продвинутых пользователей. Например, шаблоны процессов согласования и совм.подготовки, шаблоны кейсов, …
  6. 6. Переносимость Поддержка разных конфигураций базового ПО от разных поставщиков:  Web-клиент: все современные ОС и браузеры  Сервер: разные ОС и серверы Java-приложений  РСУБД: DB2, Oracle, MS SQL, PostgreSQL, MySQL,…  СУБД класса NoSQL  ECM - (FileNet, OpenText, …) Конфигурации, полностью построенные на СПО, например:  Tomcat+Spring+Hibernate+PostgreSQL+CouchDB+Lucene+OpenOffice+… Демо-конфигурация «всё в одном флаконе» (в 1 war-файле) Поддержка "нативных" клиентов (например, iPhone/iPad) без изменений на стороне сервера
  7. 7. Интероперабельность SOA + REST = WOA = Web-Oriented Architecture
  8. 8. Representational State Transfer (REST) REST – это архитектурный стиль  Крупнейшей реализацией системы, соответствующей архитектурному стилю REST, является Всемирная паутина (World Wide Web).  В основе REST лежит ресурсно-ориентированный подход, в котором центральное место отводится объектам (ресурсам).  Клиенту достаточно знать простую фиксированную точку входа в приложение и MIME-типы ресурсов, для работы с которыми он предназначен. CompanyMedia:  Взаимодействие с системой при помощи API, построенного на принципах REST.  Спецификация REST API для CM4/5 будет опубликована (пока-что ДСП): https://sup.inttrust.ru:8446/prjdocs/cmj/specs/internal/rest.html
  9. 9. Производительность и масштабируемость Система строится на базе самых современных Java- технологий; Многоуровневая архитектура – возможность независимого масштабирования слоев; Кэширование на всех уровнях обработки данных – от HTTP (браузер – прокси - web-сервер) до СУБД; Уникальная документоориентированная модель хранения данных, позволяющая использовать не только любую РСУБД, но и NoSQL СУБД, что открывает перспективу неограниченной масштабируемости
  10. 10. Многоуровневая архитектура сервера  User Interface (Presentation) Layer  Операционный уровень (координация прикладных операций)  Domain Layer (Model Layer) Уровень предметной области  Infrastructure LayerИз книги «Предметно-ориентированное проектирование (DDD):структуризация сложных программных систем» (Эрик Эванс)
  11. 11. Многоуровневая архитектура CM Клиенты Мобильные Web-клиенты: Конструктор клиенты: 1. АРМ пользователя бизнес-решенийiPad, Blackberry 2. АРМ руководителя Сеть (HTTP) Представление REST-интерфейс Предметная область Бизнес-объекты и логика ЭДО Инфраструктура Бизнес-объекты и ECM другие данные CM WF/BPM: SharePoint BPMN 2.0; OpenText Alfresco Domino РСУБД NoSQLFileNet СУБД Lotus ACM
  12. 12. Многоуровневая архитектура CM КлиентыКлиенты др.систем Другие системы (интеграция) Клиенты CM (разные) Сеть (HTTP) REST API (Web-сервисы в стиле REST) ПредставлениеДругие системы (СЭД, ECM, почта, МЭДО, СМЭВ,…) Предметная Асинхронные Бизнес-объекты: документы, задачи, кейсы, контакты,… область взаимодействия ЖЦ объектов, роли участников, события, операции (ЭДО) с другими системами; Коллекции (общие, ролевые, персональные): Внешний ЭДО: МЭДО, журналы, папки, представления, рез-ты поиска, задачи,… корпоративный, … Службы: регистрация, контроль, планирование, поиск, Репликация отчеты, ChLog, управление доступом, Locker, … бизнес-объектов Процессы: согласование, ознак-е,… Кейс-менеджмент Шлюзы в Инфраструктура др. системы: СЭД, Почта, Основной Вторичные Календари, WF Engine: репозиторий (производные) Сервер Jabber/XMPP, BPMN 2.0; ACM; Кэш бизнес- данные отчетов WS SOAP, … WorkList Handler объектов (индексы) Шлюзы в ECM Базовое ПО OpenOffice Коллекции Поиск Очереди Поиск: БД: NoSQL, (РСУБД) Аналит. БД в ECM сообщений Lucene; РСУБД, … Jabber (XMPP) (JMS) Solr (РСУБД, DWH)
  13. 13. Зачем несколько отдельных БД? Чтобы обеспечить одновременное выполнение ключевых требований к системе:  Переносимость  Масштабируемость Подсистема хранения/обработки данных играет ключевую роль в этих вопросах Проблемы:  РСУБД масштабируются плохо/дорого  NoSQL-БД масштабируются прекрасно, но есть «нюансы» Решение:  Применять к каждому классу задач технологию, лучшую в этом классе, интегрируя их в одной системе Предусловие:  Задачи подсистем делятся на такие классы
  14. 14. Инфраструктура хранения и обработки данных Первичные (оригинальные) данные  Репозиторий всех объектов системы • Документоориентированная модель данных  Репозиторий контента. Варианты: • в БД основного репозитория; • в ECM-системе; • в файловой системе (только в конфигурации сервера «всё в одном») Вторичные (производные) ресурсы  Коллекции (разнообразные выборки по той части объектов, которая находится в работе)  Поисковый индекс  Аналитическая БД  Кэш (часто используемые объекты) Требования к РСУБД коллекций весьма демократичны, т.к.  Обрабатывается малый % всех данных  Это не «первичные» данные
  15. 15. Репозиторий объектов CM Задача: эффективное хранение и предоставление всех объектов:  Бизнес-объекты и справочники, их атрибуты, версии и взаимосвязи  Ролевые, групповые и/или персональные настройки  Модели, шаблоны, создаваемые в «конструкторах»  Экземпляры процессов  Контент (опционально, если нет ECM - вообще или в конкретной СМ-сети) Всё остальное делается «этажом выше» - в слое предметной области: репликация в «федеративном режиме», управление доступом к объектам, разбор конфликтов,… Документоориентированная модель данных - хранение данных как «документов» в смысле целостных объектов-агрегатов, включающих всю информацию, фиксирующую каждое принятое решение.
  16. 16. Репозиторий объектов CM Нефункциональные требования1. Высокая производительность, адекватная конфигурации системы, начиная с минимальной;2. Неограниченная масштабируемость;3. Возможность развертывания в "облаках";4. Высокая доступность (непрерывность функционирования) и надежность;5. Кроссплатформность (как минимум, Windows + Linux);6. API для разработки на java и/или REST-API (по HTTP);7. Глобальная целостность «в итоге» («eventual consistency»);8. Транзакционная целостность (атомарность) операций с отдельными документами
  17. 17. Репозиторий объектов CM СУБД: SQL или NoSQL?Перечисленным выше требованиям в настоящее время лучше всегоудовлетворяют базы/системы, построенные в соответствии с концепцией"NoSQL" (Not Only SQL) http://ru.wikipedia.org/wiki/NoSQLАссортимент современных NoSQL СУБД ( NoSQL = Not Only SQL ): Системы из категории СПО:  CouchDB, MongoDB, Accumulo, Hadoop Hbase, Cassandra, OrientDB, Redis, … NoSQL СУБД известных вендоров:  IBM Lotus Domino  IBM DB2 NoSQL  Oracle NoSQL Database Системы «облачного» развертывания:  Microsoft Windows Azure Storage  Amazon Dynamo, Amazone SimpleDB  Google Megastore
  18. 18. Конфигурация«федеративной» системы
  19. 19. Внешние (подключаемые) системы ECM :  IBM FileNet или другая ECM-платформа: хранение основных бизнес- объектов СМ в любых объемах, доступ к ним в том числе средствами ECM или из других приложений (с ограниченной функциональностью).  Поиск CM-клиентом документов в ECM-репозитории (собственных или порожденных другими системами и приложениями). IM Server XMPP/Jabber: мгновенная передача сообщений в обсуждениях, отслеживание статусов присутствия пользователей, доставка срочных сообщений прямо в IM-клиент (краткое содержание + ссылка на контекстный объект, открываемая в основном клиенте пользователя). OpenOffice: используется как сервис преобразования форматов файлов, в частности для их предпросмотра в Web-клиенте. Почтовый сервер SMTP (Lotus Domino, MS Exchange, ...) Календарный сервер (Lotus Domino, MS Exchange, ...) LDAP Сервер (MS AD, Lotus Domino, ...)
  20. 20. CompanyMedia: дополнительная информация Компания «ИнтерТраст» http://www.intertrust.ru/ CompanyMedia http://www.companymedia.ru Инициатива «Новая СЭД – строим открыто»  Специализированный подраздел на сайте CNews http://opendev.cnews.ru/  Блог ИнтерТраст на CNews http://club.cnews.ru/ИнтерТраст  CompanyMedia на Facebook http://www.facebook.com/pages/CompanyMedia/200431593375537  Очные мероприятия Более подробная презентация: http://www.slideshare.net/vpanov/companymedia-next-architecture-vladimir-panov-26122011

×