SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Архитектура 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
Производительность и
                                 масштабируемость

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

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

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

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

                                                       User Interface (Presentation) Layer



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



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



                                                       Infrastructure Layer
Из книги «Предметно-ориентированное проектирование (DDD):
структуризация сложных программных систем» (Эрик Эванс)
Многоуровневая архитектура 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

Mais conteúdo relacionado

Destaque

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Destaque (20)

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 

Company media next - architecture (vladimir panov, 15.02.2012)

  • 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. Производительность и масштабируемость  Система строится на базе самых современных Java- технологий;  Многоуровневая архитектура – возможность независимого масштабирования слоев;  Кэширование на всех уровнях обработки данных – от HTTP (браузер – прокси - web-сервер) до СУБД;  Уникальная документоориентированная модель хранения данных, позволяющая использовать не только любую РСУБД, но и NoSQL СУБД, что открывает перспективу неограниченной масштабируемости
  • 10. Многоуровневая архитектура сервера  User Interface (Presentation) Layer  Операционный уровень (координация прикладных операций)  Domain Layer (Model Layer) Уровень предметной области  Infrastructure Layer Из книги «Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем» (Эрик Эванс)
  • 11. Многоуровневая архитектура CM Клиенты Мобильные Web-клиенты: Конструктор клиенты: 1. АРМ пользователя бизнес-решений iPad, Blackberry 2. АРМ руководителя Сеть (HTTP) Представление REST-интерфейс Предметная область Бизнес-объекты и логика ЭДО Инфраструктура Бизнес-объекты и ECM другие данные CM WF/BPM: SharePoint BPMN 2.0; OpenText Alfresco Domino РСУБД NoSQL FileNet СУБД Lotus ACM
  • 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. Зачем несколько отдельных БД?  Чтобы обеспечить одновременное выполнение ключевых требований к системе:  Переносимость  Масштабируемость  Подсистема хранения/обработки данных играет ключевую роль в этих вопросах  Проблемы:  РСУБД масштабируются плохо/дорого  NoSQL-БД масштабируются прекрасно, но есть «нюансы»  Решение:  Применять к каждому классу задач технологию, лучшую в этом классе, интегрируя их в одной системе  Предусловие:  Задачи подсистем делятся на такие классы
  • 14. Инфраструктура хранения и обработки данных  Первичные (оригинальные) данные  Репозиторий всех объектов системы • Документоориентированная модель данных  Репозиторий контента. Варианты: • в БД основного репозитория; • в ECM-системе; • в файловой системе (только в конфигурации сервера «всё в одном»)  Вторичные (производные) ресурсы  Коллекции (разнообразные выборки по той части объектов, которая находится в работе)  Поисковый индекс  Аналитическая БД  Кэш (часто используемые объекты)  Требования к РСУБД коллекций весьма демократичны, т.к.  Обрабатывается малый % всех данных  Это не «первичные» данные
  • 15. Репозиторий объектов CM  Задача: эффективное хранение и предоставление всех объектов:  Бизнес-объекты и справочники, их атрибуты, версии и взаимосвязи  Ролевые, групповые и/или персональные настройки  Модели, шаблоны, создаваемые в «конструкторах»  Экземпляры процессов  Контент (опционально, если нет ECM - вообще или в конкретной СМ-сети)  Всё остальное делается «этажом выше» - в слое предметной области: репликация в «федеративном режиме», управление доступом к объектам, разбор конфликтов,…  Документоориентированная модель данных - хранение данных как «документов» в смысле целостных объектов-агрегатов, включающих всю информацию, фиксирующую каждое принятое решение.
  • 16. Репозиторий объектов CM Нефункциональные требования 1. Высокая производительность, адекватная конфигурации системы, начиная с минимальной; 2. Неограниченная масштабируемость; 3. Возможность развертывания в "облаках"; 4. Высокая доступность (непрерывность функционирования) и надежность; 5. Кроссплатформность (как минимум, Windows + Linux); 6. API для разработки на java и/или REST-API (по HTTP); 7. Глобальная целостность «в итоге» («eventual consistency»); 8. Транзакционная целостность (атомарность) операций с отдельными документами
  • 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
  • 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. 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