SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Архитектура CompanyMedia Next:
   открытость, производительность,
                 масштабируемость




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

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

   Юзабилити
    (относится к клиентам, но влияет на всю архитектуру)
   Производительность и масштабируемость
   Открытость:
    расширяемость, переносимость,
    интероперабельность, адаптивность
   Технологичность (на всех этапах ЖЦ)
   Экономичность
Открытость

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

   Стандарты, спецификации, …
       BPMN 2.0
       ACM (Adaptive Case Management)
        (пока стандарта нет, но его подготовка постепенно идет)
       CMIS
       HTML5
       XMPP (Jabber)
       REST (архитектурный стиль)
       JPA (Java Persistence API)
Расширяемость и адаптивность

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

   Два уровня расширяемости:
        Системный / Полнофункциональный - КоБРа - для разработчиков, архитекторов,
         системных аналитиков (в нашей компании, у партнеров, у заказчиков)
        Пользовательский – обычно это средства создания разных шаблонов – для бизнес-
         аналитиков, предметных специалистов, продвинутых пользователей. Например,
         шаблоны процессов согласования и совм.подготовки, шаблоны кейсов, …
Переносимость

   Поддержка разных конфигураций базового ПО от разных
    поставщиков:
       Web-клиент: все современные ОС и браузеры
       Сервер: разные ОС и серверы Java-приложений
       РСУБД: DB2, Oracle, MS SQL, PostgreSQL, MySQL,…
       СУБД класса NoSQL
       ECM - (FileNet, OpenText, …)
   Конфигурации, полностью построенные на СПО, например:
       Tomcat+Spring+Hibernate+PostgreSQL+CouchDB+Lucene+OpenOffice+…
   Демо-конфигурация «всё в одном флаконе» (в 1 war-файле)
   Поддержка "нативных" клиентов (например, iPhone/iPad) без
    изменений на стороне сервера
Интероперабельность

   SOA + REST = WOA
    = Web-Oriented Architecture
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
Принципы REST


   Принципы REST
       Идентификация ресурсов
        Индивидуальные ресурсы идентифицируются в запросах, например, с помощью URI в
        Веб. Сами ресурсы концептуально отделены от представлений, возвращаемых
        клиенту. Например, сервер отправляет не свою БД, а, возможно, некоторый файл
        HTML, XML или JSON, представляющий некоторые записи своей из базы.
       Манипуляция ресурсами через их представления
        Получив представление ресурса, включая метаданные, клиент имеет достаточно
        информации, чтобы изменить или удалить ресурс на сервере, если он имеет на это
        разрешение.
       Самоописывающие сообщения
        Каждое сообщение содержит достаточно информации, чтобы описать способ
        обработки сообщения, например, MIME-тип. Ответы также явно указывают
        возможность кэширования.
       Гипермедиа как машина состояний приложения
        Клиенты выполняют переходы в другие состояния только с помощью действий,
        которые динамически определены ссылками в гипертекстовом представлении ресурса.

   Клиенту достаточно знать фиксированную точку входа в приложение и
    MIME-типы ресурсов, для работы с которыми он предназначен
Производительность и
                                 масштабируемость
   Система строится на базе самых современных Java-
    технологий;

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

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

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



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



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



                                                    
Из книги «Предметно-ориентированное проектирование (DDD):
                                                            Infrastructure Layer
структуризация сложных программных систем» (Эрик Эванс)
Многоуровневая архитектура CM
                                                                                                      Клиенты
  Мобильные                                          Web-клиенты:
                                                                                 Конструктор
   клиенты:                                      1. АРМ пользователя
                                                                               бизнес-решений
iPad, Blackberry                                 2. АРМ руководителя

                                                                                                    Сеть (HTTP)

                                                                                                Представление
                                                    REST-интерфейс

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

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


                                                                                                Инфраструктура
                                                   Бизнес-объекты и
             ECM
                                                   другие данные CM
                                                                                  WF/BPM:
                     SharePoint




                                                                                  BPMN 2.0;
          OpenText



                                  Alfresco




                                                  Domino




                                                                       РСУБД
                                                           NoSQL
FileNet




                                                           СУБД
                                                  Lotus




                                                                                    ACM
Многоуровневая архитектура 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)
Зачем несколько отдельных БД?

   Чтобы обеспечить одновременное выполнение
    ключевых требований к системе:
       Переносимость
       Масштабируемость
   Подсистема хранения/обработки данных играет
    ключевую роль в этих вопросах
   Проблемы:
       РСУБД масштабируются плохо/дорого
       NoSQL-БД масштабируются прекрасно, но есть «нюансы»
   Решение:
       Применять к каждому классу задач технологию, лучшую в
        этом классе, интегрируя их в одной системе
   Предусловие:
       Задачи подсистем делятся на такие классы
Инфраструктура хранения
                                              и обработки данных
   Первичные (оригинальные) данные
       Репозиторий всех объектов системы
         • Документоориентированная модель данных
       Репозиторий контента. Варианты:
         • в БД основного репозитория;
         • в ECM-системе;
         • в файловой системе
           (только в конфигурации сервера «всё в одном»)

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

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

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

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

1.   Высокая производительность, адекватная конфигурации системы,
     начиная с минимальной;
2.   Неограниченная масштабируемость;
3.   Возможность развертывания в "облаках";
4.   Высокая доступность (непрерывность функционирования) и
     надежность;
5.   Кроссплатформность (как минимум, Windows + Linux);
6.   API для разработки на java и/или REST-API (по HTTP);
7.   Глобальная целостность «в итоге» («eventual consistency»);
8.   Транзакционная целостность (атомарность) операций с отдельными
     документами
Репозиторий объектов 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
Конфигурация
«федеративной» системы
Внешние (подключаемые) системы

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

Weitere ähnliche Inhalte

Andere mochten auch

Внедрение системы электронного документооборота CompanyMedia в Райффайзенбанке
Внедрение системы электронного документооборота CompanyMedia в РайффайзенбанкеВнедрение системы электронного документооборота CompanyMedia в Райффайзенбанке
Внедрение системы электронного документооборота CompanyMedia в Райффайзенбанке
ИнтерТраст
 
Мобильные рабочие места в СЭД для руководителя и бизнес-специалиста
Мобильные рабочие места в СЭД для руководителя и бизнес-специалистаМобильные рабочие места в СЭД для руководителя и бизнес-специалиста
Мобильные рабочие места в СЭД для руководителя и бизнес-специалиста
ИнтерТраст
 
А.Антонов, СЭД в пензенской области
А.Антонов, СЭД в пензенской областиА.Антонов, СЭД в пензенской области
А.Антонов, СЭД в пензенской области
ИнтерТраст
 
презентация Ibm юникредит 19032013
презентация Ibm юникредит 19032013презентация Ibm юникредит 19032013
презентация Ibm юникредит 19032013
ИнтерТраст
 
н.скворцова, сэд в мсп банке
н.скворцова, сэд в мсп банкен.скворцова, сэд в мсп банке
н.скворцова, сэд в мсп банке
ИнтерТраст
 

Andere mochten auch (15)

CMNext
CMNextCMNext
CMNext
 
CM4BlackBerry
CM4BlackBerryCM4BlackBerry
CM4BlackBerry
 
Горизонты СЭД
Горизонты СЭДГоризонты СЭД
Горизонты СЭД
 
Внедрение системы электронного документооборота CompanyMedia в Райффайзенбанке
Внедрение системы электронного документооборота CompanyMedia в РайффайзенбанкеВнедрение системы электронного документооборота CompanyMedia в Райффайзенбанке
Внедрение системы электронного документооборота CompanyMedia в Райффайзенбанке
 
CM4iDocs
CM4iDocsCM4iDocs
CM4iDocs
 
Строим вместе безопасную СЭД
Строим вместе безопасную СЭДСтроим вместе безопасную СЭД
Строим вместе безопасную СЭД
 
CompanyMedia - Строим открыто
CompanyMedia - Строим открытоCompanyMedia - Строим открыто
CompanyMedia - Строим открыто
 
СЭД, которой можно доверять
СЭД, которой можно доверятьСЭД, которой можно доверять
СЭД, которой можно доверять
 
Мобильные рабочие места в СЭД для руководителя и бизнес-специалиста
Мобильные рабочие места в СЭД для руководителя и бизнес-специалистаМобильные рабочие места в СЭД для руководителя и бизнес-специалиста
Мобильные рабочие места в СЭД для руководителя и бизнес-специалиста
 
Effective collaboration
Effective collaborationEffective collaboration
Effective collaboration
 
FutureHistory
FutureHistoryFutureHistory
FutureHistory
 
Case example
Case exampleCase example
Case example
 
А.Антонов, СЭД в пензенской области
А.Антонов, СЭД в пензенской областиА.Антонов, СЭД в пензенской области
А.Антонов, СЭД в пензенской области
 
презентация Ibm юникредит 19032013
презентация Ibm юникредит 19032013презентация Ibm юникредит 19032013
презентация Ibm юникредит 19032013
 
н.скворцова, сэд в мсп банке
н.скворцова, сэд в мсп банкен.скворцова, сэд в мсп банке
н.скворцова, сэд в мсп банке
 

Ähnlich wie Архитектура CompanyMedia next

Lotus Forum 2009 Websphere Portal 6.1
Lotus Forum 2009 Websphere Portal 6.1Lotus Forum 2009 Websphere Portal 6.1
Lotus Forum 2009 Websphere Portal 6.1
guestcaef82
 
Sql Server Data Services
Sql Server Data ServicesSql Server Data Services
Sql Server Data Services
Media Gorod
 
InterBank RS - новая версия системы электронного банковского обслуживания
InterBank RS - новая версия системы электронного банковского обслуживанияInterBank RS - новая версия системы электронного банковского обслуживания
InterBank RS - новая версия системы электронного банковского обслуживания
softlab
 
XML Sapiens как универсальная концепция сайтостроения в разрезе XML/PHP
XML Sapiens как универсальная концепция сайтостроения в разрезе XML/PHPXML Sapiens как универсальная концепция сайтостроения в разрезе XML/PHP
XML Sapiens как универсальная концепция сайтостроения в разрезе XML/PHP
rglab
 
Roman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserRoman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. Browser
Andrew Mayorov
 
ПартФорум DIRECTUM 2013 - разработка прикладных решений
ПартФорум DIRECTUM 2013 - разработка прикладных решенийПартФорум DIRECTUM 2013 - разработка прикладных решений
ПартФорум DIRECTUM 2013 - разработка прикладных решений
Виктор Золотов
 
битрикс Framework сергей рыжиков
битрикс Framework   сергей рыжиковбитрикс Framework   сергей рыжиков
битрикс Framework сергей рыжиков
Media Gorod
 
2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложений2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложений
Yandex
 
RAD Server для разработки современных корпоративных систем
RAD Server для разработки современных корпоративных системRAD Server для разработки современных корпоративных систем
RAD Server для разработки современных корпоративных систем
Andrew Sovtsov
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows Azure
Andrew Mayorov
 

Ähnlich wie Архитектура CompanyMedia next (20)

CompanyMedia-Next - Architecture (Vladimir Panov, 26.12.2011)
CompanyMedia-Next - Architecture (Vladimir Panov, 26.12.2011)CompanyMedia-Next - Architecture (Vladimir Panov, 26.12.2011)
CompanyMedia-Next - Architecture (Vladimir Panov, 26.12.2011)
 
Middleware
MiddlewareMiddleware
Middleware
 
Lotus Forum 2009 Websphere Portal 6.1
Lotus Forum 2009 Websphere Portal 6.1Lotus Forum 2009 Websphere Portal 6.1
Lotus Forum 2009 Websphere Portal 6.1
 
Sql Server Data Services
Sql Server Data ServicesSql Server Data Services
Sql Server Data Services
 
InterBank RS - новая версия системы электронного банковского обслуживания
InterBank RS - новая версия системы электронного банковского обслуживанияInterBank RS - новая версия системы электронного банковского обслуживания
InterBank RS - новая версия системы электронного банковского обслуживания
 
XML Sapiens как универсальная концепция сайтостроения в разрезе XML/PHP
XML Sapiens как универсальная концепция сайтостроения в разрезе XML/PHPXML Sapiens как универсальная концепция сайтостроения в разрезе XML/PHP
XML Sapiens как универсальная концепция сайтостроения в разрезе XML/PHP
 
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
Andrii Gryshchenko: "An Overview of CQRS and Event Sourcing"
 
Roman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserRoman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. Browser
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 
ПартФорум DIRECTUM 2013 - разработка прикладных решений
ПартФорум DIRECTUM 2013 - разработка прикладных решенийПартФорум DIRECTUM 2013 - разработка прикладных решений
ПартФорум DIRECTUM 2013 - разработка прикладных решений
 
Битрикс-Framework
Битрикс-FrameworkБитрикс-Framework
Битрикс-Framework
 
Artsofte for b2 b
Artsofte for b2 b Artsofte for b2 b
Artsofte for b2 b
 
битрикс Framework сергей рыжиков
битрикс Framework   сергей рыжиковбитрикс Framework   сергей рыжиков
битрикс Framework сергей рыжиков
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
 
Обзор OMNITRACKER CleverENGINE
Обзор OMNITRACKER CleverENGINEОбзор OMNITRACKER CleverENGINE
Обзор OMNITRACKER CleverENGINE
 
2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложений2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложений
 
Governance of content
Governance of contentGovernance of content
Governance of content
 
RAD Server для разработки современных корпоративных систем
RAD Server для разработки современных корпоративных системRAD Server для разработки современных корпоративных систем
RAD Server для разработки современных корпоративных систем
 
Фокус на бизнес-эффективность - программно определяемый ЦОД и унифицированная...
Фокус на бизнес-эффективность - программно определяемый ЦОД и унифицированная...Фокус на бизнес-эффективность - программно определяемый ЦОД и унифицированная...
Фокус на бизнес-эффективность - программно определяемый ЦОД и унифицированная...
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows Azure
 

Mehr von ИнтерТраст

"ЕСМ-система как средство повышения эффективности руководителей..."
"ЕСМ-система как средство повышения эффективности руководителей..." "ЕСМ-система как средство повышения эффективности руководителей..."
"ЕСМ-система как средство повышения эффективности руководителей..."
ИнтерТраст
 
новые возможности систем управления корпоративным контентом
новые возможности систем управления корпоративным контентомновые возможности систем управления корпоративным контентом
новые возможности систем управления корпоративным контентом
ИнтерТраст
 
Защищенный юридически значимый электронный документооборот: в чем преимуществ...
Защищенный юридически значимый электронный документооборот: в чем преимуществ...Защищенный юридически значимый электронный документооборот: в чем преимуществ...
Защищенный юридически значимый электронный документооборот: в чем преимуществ...
ИнтерТраст
 

Mehr von ИнтерТраст (10)

CompanyMedia для Руководителя высшего звена
CompanyMedia для Руководителя высшего звенаCompanyMedia для Руководителя высшего звена
CompanyMedia для Руководителя высшего звена
 
ACM - простой инструмент для решения сложных задач
ACM - простой инструмент для решения сложных задачACM - простой инструмент для решения сложных задач
ACM - простой инструмент для решения сложных задач
 
Использование мобильных устройств руководителями. Опыт Банка ВТБ
Использование мобильных устройств руководителями. Опыт Банка ВТБИспользование мобильных устройств руководителями. Опыт Банка ВТБ
Использование мобильных устройств руководителями. Опыт Банка ВТБ
 
"ЕСМ-система как средство повышения эффективности руководителей..."
"ЕСМ-система как средство повышения эффективности руководителей..." "ЕСМ-система как средство повышения эффективности руководителей..."
"ЕСМ-система как средство повышения эффективности руководителей..."
 
новые возможности систем управления корпоративным контентом
новые возможности систем управления корпоративным контентомновые возможности систем управления корпоративным контентом
новые возможности систем управления корпоративным контентом
 
Защищенный юридически значимый электронный документооборот: в чем преимуществ...
Защищенный юридически значимый электронный документооборот: в чем преимуществ...Защищенный юридически значимый электронный документооборот: в чем преимуществ...
Защищенный юридически значимый электронный документооборот: в чем преимуществ...
 
CompanyMedia4You - Нити управления
CompanyMedia4You - Нити управленияCompanyMedia4You - Нити управления
CompanyMedia4You - Нити управления
 
Бизнес-завтрак "Строим вместе безопасную СЭД"
Бизнес-завтрак "Строим вместе безопасную СЭД"Бизнес-завтрак "Строим вместе безопасную СЭД"
Бизнес-завтрак "Строим вместе безопасную СЭД"
 
ECM problems
ECM problemsECM problems
ECM problems
 
WhyNotECM
WhyNotECMWhyNotECM
WhyNotECM
 

Архитектура CompanyMedia next

  • 1. Архитектура CompanyMedia Next: открытость, производительность, масштабируемость Владимир Александрович Панов, главный архитектор, Компания «ИнтерТраст» (495) 956-7928
  • 2. Стратегия развития архитектуры CompanyMedia  За счет глубокой и последовательной трансформации архитектуры CompanyMedia, применения самых современных программных платформ и мировых открытых стандартов обеспечить решение критических проблем в области электронного документооборота и управления контентом  Обеспечить поддержку современных тенденций в области управления контентом и коллективной работы
  • 3. Ключевые требования к архитектуре CompanyMedia  Юзабилити (относится к клиентам, но влияет на всю архитектуру)  Производительность и масштабируемость  Открытость: расширяемость, переносимость, интероперабельность, адаптивность  Технологичность (на всех этапах ЖЦ)  Экономичность
  • 4. Открытость  Открытость:  соответствие популярным стандартам, спецификациям  расширяемость  переносимость,  интероперабельность,  адаптивность  Стандарты, спецификации, …  BPMN 2.0  ACM (Adaptive Case Management) (пока стандарта нет, но его подготовка постепенно идет)  CMIS  HTML5  XMPP (Jabber)  REST (архитектурный стиль)  JPA (Java Persistence API)
  • 5. Расширяемость и адаптивность  Высокая степень адаптивности системы, технологичность доработок и расширяемость без перепрограммирования - за счет использования «конструктора бизнес-решений» (КоБРа), в котором под каждое «БР» создаются несколько взаимоувязанных моделей, определяющих самые изменчивые аспекты БР:  бизнес-объекты и их агрегаты/композиты;  жизненные циклы бизнес-объектов;  процессы (BPMN 2);  роли и орг.стрктура;  пользовательские интерфейсы (формы, представления, …)  Отчеты  Новое перспективное направление – кейс-менеджмент (об этом отдельно)  Два уровня расширяемости:  Системный / Полнофункциональный - КоБРа - для разработчиков, архитекторов, системных аналитиков (в нашей компании, у партнеров, у заказчиков)  Пользовательский – обычно это средства создания разных шаблонов – для бизнес- аналитиков, предметных специалистов, продвинутых пользователей. Например, шаблоны процессов согласования и совм.подготовки, шаблоны кейсов, …
  • 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. Интероперабельность  SOA + REST = WOA = Web-Oriented Architecture
  • 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. Принципы REST  Принципы REST  Идентификация ресурсов Индивидуальные ресурсы идентифицируются в запросах, например, с помощью URI в Веб. Сами ресурсы концептуально отделены от представлений, возвращаемых клиенту. Например, сервер отправляет не свою БД, а, возможно, некоторый файл HTML, XML или JSON, представляющий некоторые записи своей из базы.  Манипуляция ресурсами через их представления Получив представление ресурса, включая метаданные, клиент имеет достаточно информации, чтобы изменить или удалить ресурс на сервере, если он имеет на это разрешение.  Самоописывающие сообщения Каждое сообщение содержит достаточно информации, чтобы описать способ обработки сообщения, например, MIME-тип. Ответы также явно указывают возможность кэширования.  Гипермедиа как машина состояний приложения Клиенты выполняют переходы в другие состояния только с помощью действий, которые динамически определены ссылками в гипертекстовом представлении ресурса.  Клиенту достаточно знать фиксированную точку входа в приложение и MIME-типы ресурсов, для работы с которыми он предназначен
  • 10. Производительность и масштабируемость  Система строится на базе самых современных Java- технологий;  Многоуровневая архитектура – возможность независимого масштабирования слоев;  Кэширование на всех уровнях обработки данных – от HTTP (браузер – прокси - web-сервер) до СУБД;  Уникальная документоориентированная модель хранения данных, позволяющая использовать не только любую РСУБД, но и NoSQL СУБД, что открывает перспективу неограниченной масштабируемости
  • 11. Многоуровневая архитектура сервера  User Interface (Presentation) Layer  Операционный уровень (координация прикладных операций)  Domain Layer (Model Layer) Уровень предметной области  Из книги «Предметно-ориентированное проектирование (DDD): Infrastructure Layer структуризация сложных программных систем» (Эрик Эванс)
  • 12. Многоуровневая архитектура CM Клиенты Мобильные Web-клиенты: Конструктор клиенты: 1. АРМ пользователя бизнес-решений iPad, Blackberry 2. АРМ руководителя Сеть (HTTP) Представление REST-интерфейс Предметная область Бизнес-объекты и логика ЭДО Инфраструктура Бизнес-объекты и ECM другие данные CM WF/BPM: SharePoint BPMN 2.0; OpenText Alfresco Domino РСУБД NoSQL FileNet СУБД Lotus ACM
  • 13. Многоуровневая архитектура 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)
  • 14. Зачем несколько отдельных БД?  Чтобы обеспечить одновременное выполнение ключевых требований к системе:  Переносимость  Масштабируемость  Подсистема хранения/обработки данных играет ключевую роль в этих вопросах  Проблемы:  РСУБД масштабируются плохо/дорого  NoSQL-БД масштабируются прекрасно, но есть «нюансы»  Решение:  Применять к каждому классу задач технологию, лучшую в этом классе, интегрируя их в одной системе  Предусловие:  Задачи подсистем делятся на такие классы
  • 15. Инфраструктура хранения и обработки данных  Первичные (оригинальные) данные  Репозиторий всех объектов системы • Документоориентированная модель данных  Репозиторий контента. Варианты: • в БД основного репозитория; • в ECM-системе; • в файловой системе (только в конфигурации сервера «всё в одном»)  Вторичные (производные) ресурсы  Коллекции (разнообразные выборки по той части объектов, которая находится в работе)  Поисковый индекс  Аналитическая БД  Кэш (часто используемые объекты)  Требования к РСУБД коллекций весьма демократичны, т.к.  Обрабатывается малый % всех данных  Это не «первичные» данные
  • 16. Репозиторий объектов CM  Задача: эффективное хранение и предоставление всех объектов:  Бизнес-объекты и справочники, их атрибуты, версии и взаимосвязи  Ролевые, групповые и/или персональные настройки  Модели, шаблоны, создаваемые в «конструкторах»  Экземпляры процессов  Контент (опционально, если нет ECM - вообще или в конкретной СМ-сети)  Всё остальное делается «этажом выше» - в слое предметной области: репликация в «федеративном режиме», управление доступом к объектам, разбор конфликтов,…  Документоориентированная модель данных - хранение данных как «документов» в смысле целостных объектов-агрегатов, включающих всю информацию, фиксирующую каждое принятое решение.
  • 17. Репозиторий объектов CM Нефункциональные требования 1. Высокая производительность, адекватная конфигурации системы, начиная с минимальной; 2. Неограниченная масштабируемость; 3. Возможность развертывания в "облаках"; 4. Высокая доступность (непрерывность функционирования) и надежность; 5. Кроссплатформность (как минимум, Windows + Linux); 6. API для разработки на java и/или REST-API (по HTTP); 7. Глобальная целостность «в итоге» («eventual consistency»); 8. Транзакционная целостность (атомарность) операций с отдельными документами
  • 18. Репозиторий объектов 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
  • 20. Внешние (подключаемые) системы  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, ...)
  • 21. 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