20
Архитектура CompanyMedia Next: открытость, производительность, масштабируемость Владимир Александрович Панов, главный архитектор, Компания «ИнтерТраст» (495) 956-7928

Company media next - architecture (vladimir panov, 15.02.2012)

Embed Size (px)

DESCRIPTION

Архитектура CompanyMedia-Next: открытость, производительность, масштабируемостьСм. также:http://www.facebook.com/pages/CompanyMedia/200431593375537http://opendev.cnews.ru/http://club.cnews.ru/ИнтерТрастhttp://www.intertrust.ru

Citation preview

Page 1: Company media next - architecture (vladimir panov, 15.02.2012)

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

масштабируемость

Владимир Александрович Панов,главный архитектор,

Компания «ИнтерТраст»(495) 956-7928

Page 2: Company media next - architecture (vladimir panov, 15.02.2012)

Стратегия развития архитектуры CompanyMedia

За счет глубокой и последовательной трансформации архитектуры CompanyMedia, применения самых современных программных платформ и мировых открытых стандартов обеспечить решение критических проблем в области электронного документооборота и управления контентом

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

Page 3: Company media next - architecture (vladimir panov, 15.02.2012)

Ключевые требования к архитектуре CompanyMedia

Юзабилити(относится к клиентам, но влияет на всю архитектуру)

Производительность и масштабируемость Открытость:

расширяемость, переносимость, интероперабельность, адаптивность

Технологичность (на всех этапах ЖЦ) Экономичность

Page 4: Company media next - architecture (vladimir panov, 15.02.2012)

Открытость

Открытость: соответствие популярным стандартам, спецификациям расширяемость переносимость, интероперабельность, адаптивность

Стандарты, спецификации, … BPMN 2.0 ACM (Adaptive Case Management)

(пока стандарта нет, но его подготовка постепенно идет) CMIS HTML5 XMPP (Jabber) REST (архитектурный стиль) JPA (Java Persistence API)

Page 5: Company media next - architecture (vladimir panov, 15.02.2012)

Расширяемость и адаптивность

Высокая степень адаптивности системы, технологичность доработок и расширяемость без перепрограммирования - за счет использования «конструктора бизнес-решений» (КоБРа), в котором под каждое «БР» создаются несколько взаимоувязанных моделей, определяющих самые изменчивые аспекты БР: бизнес-объекты и их агрегаты/композиты; жизненные циклы бизнес-объектов; процессы (BPMN 2); роли и орг.стрктура; пользовательские интерфейсы (формы, представления, …) Отчеты

Новое перспективное направление – кейс-менеджмент (об этом отдельно)

Два уровня расширяемости: Системный / Полнофункциональный - КоБРа - для разработчиков, архитекторов,

системных аналитиков (в нашей компании, у партнеров, у заказчиков) Пользовательский – обычно это средства создания разных шаблонов – для бизнес-

аналитиков, предметных специалистов, продвинутых пользователей. Например, шаблоны процессов согласования и совм.подготовки, шаблоны кейсов, …

Page 6: Company media next - architecture (vladimir panov, 15.02.2012)

Переносимость

Поддержка разных конфигураций базового ПО от разных поставщиков: Web-клиент: все современные ОС и браузеры

Сервер: разные ОС и серверы Java-приложений

РСУБД: DB2, Oracle, MS SQL, PostgreSQL, MySQL,…

СУБД класса NoSQL

ECM - (FileNet, OpenText, …)

Конфигурации, полностью построенные на СПО, например: Tomcat+Spring+Hibernate+PostgreSQL+CouchDB+Lucene+OpenOffice+…

Демо-конфигурация «всё в одном флаконе» (в 1 war-файле)

Поддержка "нативных" клиентов (например, iPhone/iPad) без изменений на стороне сервера

Page 7: Company media next - architecture (vladimir panov, 15.02.2012)

Интероперабельность

SOA + REST = WOA= Web-Oriented Architecture

Page 8: Company media next - architecture (vladimir panov, 15.02.2012)

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

Page 9: Company media next - architecture (vladimir panov, 15.02.2012)

Производительность и масштабируемость

Система строится на базе самых современных Java-технологий;

Многоуровневая архитектура – возможность независимого масштабирования слоев;

Кэширование на всех уровнях обработки данных – от HTTP (браузер – прокси - web-сервер) до СУБД;

Уникальная документоориентированная модель хранения данных, позволяющая использовать не только любую РСУБД, но и NoSQL СУБД, что открывает перспективу неограниченной масштабируемости

Page 10: Company media next - architecture (vladimir panov, 15.02.2012)

Многоуровневая архитектура сервера

User Interface (Presentation) Layer

Операционный уровень (координация прикладных операций)

Domain Layer (Model Layer)Уровень предметной области

Infrastructure LayerИз книги «Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем» (Эрик Эванс)

Page 11: Company media next - architecture (vladimir panov, 15.02.2012)

Многоуровневая архитектура CMКлиенты

Сеть (HTTP)

Представление

Предметная область

Инфраструктура

REST-интерфейс

Бизнес-объекты и логика ЭДО

Бизнес-объекты и другие данные CM

Web-клиенты:1. АРМ пользователя2. АРМ руководителя

WF/BPM: BPMN 2.0;

ACM

ECM

File

Net

Ope

nTex

t

Sha

reP

oint

Alfr

esco

Lotu

s D

omin

o

NoS

QL

СУБ

Д

РСУБ

Д

Конструкторбизнес-решений

Мобильные клиенты:

iPad, Blackberry

Page 12: Company media next - architecture (vladimir panov, 15.02.2012)

Многоуровневая архитектура CMКлиенты

Сеть (HTTP)

Представление

Предметная область

(ЭДО)

Инфраструктура

Базовое ПО

Вторичные (производные)

данные (индексы)

REST API (Web-сервисы в стиле REST)

Бизнес-объекты: документы, задачи, кейсы, контакты,… ЖЦ объектов, роли участников, события, операцииКоллекции (общие, ролевые, персональные): журналы, папки, представления, рез-ты поиска, задачи,…Службы: регистрация, контроль, планирование, поиск, отчеты, ChLog, управление доступом, Locker, …Процессы: согласование, ознак-е,… Кейс-менеджмент

Основной репозиторий

бизнес-объектов

Другие системы (интеграция) Клиенты CM (разные)

Асинхронные взаимодействия

с другими системами;Внешний ЭДО: МЭДО,

корпоративный, …Репликация

бизнес-объектов

Шлюзы в др. системы:СЭД, Почта,Календари,

Jabber/XMPP, WS SOAP, …

WF Engine: BPMN 2.0; ACM;WorkList Handler

Очереди сообщений

(JMS)

Серверотчетов

Дру

гие

сист

емы

(СЭ

Д, E

CM

, поч

та, М

ЭД

О, С

МЭ

В,…

)

Клиенты др.систем

БД: NoSQL, РСУБД, … Аналит. БД

(РСУБД, DWH)

Коллекции(РСУБД)Поиск:

Lucene;Solr

OpenOffice

Jabber (XMPP)

Шлюзы в ECM

Поиск в ECM

Кэш

Page 13: Company media next - architecture (vladimir panov, 15.02.2012)

Зачем несколько отдельных БД?

Чтобы обеспечить одновременное выполнение ключевых требований к системе: Переносимость Масштабируемость

Подсистема хранения/обработки данных играет ключевую роль в этих вопросах

Проблемы: РСУБД масштабируются плохо/дорого NoSQL-БД масштабируются прекрасно, но есть «нюансы»

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

этом классе, интегрируя их в одной системе Предусловие:

Задачи подсистем делятся на такие классы

Page 14: Company media next - architecture (vladimir panov, 15.02.2012)

Инфраструктура хранения и обработки данных

Первичные (оригинальные) данные Репозиторий всех объектов системы

• Документоориентированная модель данных Репозиторий контента. Варианты:

• в БД основного репозитория;• в ECM-системе;• в файловой системе

(только в конфигурации сервера «всё в одном»)

Вторичные (производные) ресурсы Коллекции (разнообразные выборки по той части объектов, которая

находится в работе) Поисковый индекс Аналитическая БД Кэш (часто используемые объекты)

Требования к РСУБД коллекцийвесьма демократичны, т.к. Обрабатывается малый % всех данных Это не «первичные» данные

Page 15: Company media next - architecture (vladimir panov, 15.02.2012)

Репозиторий объектов CM

Задача: эффективное хранение и предоставление всех объектов: Бизнес-объекты и справочники, их атрибуты, версии и взаимосвязи Ролевые, групповые и/или персональные настройки Модели, шаблоны, создаваемые в «конструкторах» Экземпляры процессов Контент (опционально, если нет ECM - вообще или в конкретной СМ-сети)

Всё остальное делается «этажом выше» - в слое предметной области: репликация в «федеративном режиме», управление доступом к объектам, разбор конфликтов,…

Документоориентированная модель данных - хранение данных как «документов» в смысле целостных объектов-агрегатов, включающих всю информацию, фиксирующую каждое принятое решение.

Page 16: Company media next - architecture (vladimir panov, 15.02.2012)

Репозиторий объектов CMНефункциональные требования

1. Высокая производительность, адекватная конфигурации системы, начиная с минимальной;

2. Неограниченная масштабируемость;

3. Возможность развертывания в "облаках";

4. Высокая доступность (непрерывность функционирования) и надежность;

5. Кроссплатформность (как минимум, Windows + Linux);

6. API для разработки на java и/или REST-API (по HTTP);

7. Глобальная целостность «в итоге» («eventual consistency»);

8. Транзакционная целостность (атомарность) операций с отдельными документами

Page 17: Company media next - architecture (vladimir panov, 15.02.2012)

Репозиторий объектов 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

Page 18: Company media next - architecture (vladimir panov, 15.02.2012)

Конфигурация «федеративной» системы

Page 19: Company media next - architecture (vladimir panov, 15.02.2012)

Внешние (подключаемые) системы

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, ...)

Page 20: Company media next - architecture (vladimir panov, 15.02.2012)

CompanyMedia:дополнительная информация

Компания «ИнтерТраст» http://www.intertrust.ru/

CompanyMediahttp://www.companymedia.ru

Инициатива «Новая СЭД – строим открыто» Специализированный подраздел на сайте CNews

http://opendev.cnews.ru/

Блог ИнтерТраст на CNews http://club.cnews.ru/ИнтерТраст

CompanyMedia на Facebookhttp://www.facebook.com/pages/CompanyMedia/200431593375537

Очные мероприятия

Более подробная презентация: http://www.slideshare.net/vpanov/companymedia-next-architecture-vladimir-panov-26122011