Исследовательский проект OpenPaaS NG: 2-й год

OpenPaaS - платформа для совместной работы, разработанная с любовью и этичностью компанией Linagora. Разработчики OpenPaaS также участвуют в амбициозном исследовательском проекте под названием OpenPaaS: NG. Мы работаем с другими замечательными компаниями с открытым исходным кодом, Nexedi и xWiki, а также с замечательными исследовательскими лабораториями Polytechnique и Loria. В этом 4-летнем проекте мы только что прошли первые 2 года. Думаю, пришло время сделать небольшой обзор того, чего мы достигли, и следующих шагов.

О чем этот проект?

Цель проекта - предоставить сообществу готовую платформу для совместной работы. Проект разделен на рабочие пакеты, каждый рабочий пакет посвящен определенной теме. Вкратце цели заключаются в следующем:

  • чтобы обеспечить безопасную и масштабируемую одноранговую платформу, тем самым обеспечивая совместную работу в бессерверных архитектурах.
  • представить сообществу редактора, который будет сотрудничать с вами
  • для предоставления AppStore внутри платформы
  • чтобы обеспечить больший опыт в видеоконференциях, анализируя речь людей и делая что-то на ее основе

Что и говорить, это амбициозный проект! Наша долгосрочная цель - предложить Open Source, отличную альтернативу таким продуктам, как Microsoft Office365 и Google G-Suite.

Децентрализованное сотрудничество через P2P

Это горячая тема. Помимо проблем на уровне протокола, связанных с количеством подключенных одноранговых узлов, а также связанных с безопасностью проблем, сотрудничество также означает, с более технической точки зрения, синхронизацию данных между одноранговыми узлами. Без центральной точки управления, а именно сервера, трудно согласовать различные изменения, выполняемые разными парами.

Мы спроектировали и разработали два подхода к синхронизации данных.

Первый основан на формальном исследовании и называется Алгоритм LogootSplit CRDT. Его разработал Джеральд Остер, сотрудник лаборатории Loria, и мы также поместили код туда, где нам кажется. Мы хотим создать богатые объекты JSON, которые выглядят так же, как классический объект JSON, но синхронизируются между всеми одноранговыми узлами.

Второй называется алгоритмом DOM Diff / Patch, и его основная идея прекрасна: возможность синхронизировать Интернет! Сеть представляет собой набор деревьев DOM, и если мы способны синхронизировать дерево DOM, тогда… Этот протокол полагается на умный алгоритм для обнаружения изменений и создания различий, применения полученных исправлений и эвристики для работы с особенностями браузеров в Работа с DOM. И снова мы доставили код. Престижность Джеймсу Калебу Де Лилю и другим участникам xWiki за то, что это произошло, а также побочному проекту Совместная работа с нулевым разглашением PAD Cryptpad.

Могу ли я использовать .doc?

Одна из величайших особенностей Office365 или G-Suite - возможность работать с документами Office, такими как текстовые документы, электронные таблицы и презентации. И именно здесь альтернативы с открытым исходным кодом терпят неудачу: стоимость разработки таких инструментов огромна, не говоря уже о системах преобразования форматов файлов. Будем надеяться, что компания Ascensio systems сделала ставку и предложила Офисный пакет с открытым исходным кодом. Мы решили подключить его к OpenPaaS, чтобы обеспечить дополнительную ценность платформы (совместная работа в реальном времени, индексирование и поиск файлов и т. Д.). Прямо сейчас пользователи могут импортировать, экспортировать, открывать, записывать и обмениваться файлами Office через OpenPaaS. . Мы намерены продвигать интеграцию дальше.

Платформа Application Marketplace

Как и любая платформа, мы построены по модульному принципу, и PaaS может быть расширен. Более того, на нем вполне возможно развернуть SaaS. Таким образом, возникла потребность в каких-то магазинах приложений, в которых сообщество может предоставлять определенные приложения. Что ж ... Модель данных App Store имеет много общего с моделью системы, основанной на электронной коммерции. Слишком хорошо, у нас есть Nexedi в команде, которая специализируется на этом виде бизнеса, с их системой планирования ресурсов предприятия ERP5. Работая с ними, мы приняли решение начать с технической стороны, разработав API на основе бизнес-процессов, а также с бизнес-стороны, создав, как будут выглядеть счета в магазине приложений OpenPaaS (даже если это бесплатно :-). Мы рассмотрели версии программного обеспечения и устойчивость, стратегии обновления, а также типичные бизнес-кейсы. Теперь у нас есть лучшее представление о том, что нам нужно построить.

Расширенные возможности видеоконференцсвязи

Видеоконференцсвязь по-прежнему остается актуальной темой. Все убеждены, что теперь это товар, потому что, вы знаете, каждый смартфон или ноутбук теперь имеет встроенную камеру и микрофон (Привет, АНБ! :-). Однако глобальный опыт удаленных встреч по-прежнему оставляет желать лучшего. Я расскажу о проблемах инфраструктуры (плохой микрофон или плохая пропускная способность сети) и сосредоточусь на дополнительных преимуществах, которые может принести корпоративная платформа. В Linagora мы мечтаем о том, что в будущем никому больше никогда не придется писать протокол встречи, потому что программа поймет, что говорится во время встречи, и запишет это для нас. Что ж, это именно то, что мы строим прямо сейчас.

В качестве отправной точки мы использовали инструментарий Kaldi Speech Recognition Toolkit. Мы наняли нескольких стажеров, чтобы построить французский корпус. Затем мы работали с исследователями LIX, чтобы подключить их потрясающий механизм извлечения ключевых слов и резюмирования. В итоге мы получаем первое подтверждение концепции Hubl.in на стероидной системе, анализируем речь участников, предлагаем внешние ресурсы, связанные с текущими темами разговора, и, наконец, составляем резюме встречи!

Вывод

Разработка программного обеспечения - это огромная область, и наша команда работает над созданием программного обеспечения, работающего с текущими технологиями, а также над изобретением технологий, которые будут использоваться в приложениях завтрашнего дня и предоставить конечным пользователям новые функции. Задачи сложные и увлекательные, партнеры приятные и очень мотивированные, мы идем по пути, чтобы предоставить пользователям отличный опыт! Посмотрим, к чему этот проект приведет нас через 2 года.