{"id":6504,"title":"\u0417\u043d\u0430\u043d\u0438\u044f \u0438\u043b\u0438 \u043d\u0430\u0432\u044b\u043a\u0438 \u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u0438 \u2014 \u0447\u0442\u043e \u0432\u0430\u0436\u043d\u0435\u0435 \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430","url":"\/redirect?component=advertising&id=6504&url=https:\/\/vc.ru\/fsteamchallenge\/288106-studentam-predlozhili-ocenit-svoi-kompetencii-i-gibkie-navyki&placeBit=1&hash=118553100066d9bc16989880064450525097b2f22a603a7346eca248be17a7ff","isPaidAndBannersEnabled":false}

Как интегрировать MS Teams и экономить 3,3 млн рублей в год на лицензиях Microsoft

Мы делаем проект корпоративного портала на базе Creatio для нашего клиента. Про него мы ранее писали в другой статье. В этот раз расскажем, как мы интегрировали мессенджер MS Teams в корпоративный портал и что из этого вышло.

Бизнес задача — интегрировать мессенджер в портал

Схема работы портала. Корп. мессенджер — это и есть наш MS Teams

Основная задача — интегрировать мессенджер в одно окно с остальными сервисами, то есть сделать мессенджер частью корпоративного портала.

Зачем это нужно? В чем ценность мессенджера внутри портала?

Во-первых — это возможность связывать сущности. Можно создавать задачи из сообщений и привязывать сделки к конкретным перепискам.

Во-вторых – это единая экосистема для конкретного бизнеса, так как больше не нужно использовать 15 программ одновременно.

Как работает мессенджер

В любом мессенджере есть чаты и пользователи. Вот как происходят процессы в нашем случае:

  1. MS Teams клиент запускается
  2. MS Teams «достает» все чаты для текущего пользователя
  3. Пользователь заходит в нужный ему чат
  4. MS Teams загружает с серверов Майкрософта последние N сообщений и отображает их
  5. Далее мессенджер периодически проверяет — «не появилось ли новых сообщений?». Если появились — отображает в текущем чате
  6. Когда пользователь переходит в другой чат, пункты 4 и 5 повторяются, но уже для нового чата
  7. Когда пользователь выходит из чата — сохраняем новые сообщения и отображаем их непрочитанными

Как мы интегрировали мессенджер в портал

Логика работы внутри корпоративного портала

Чтобы внутри портала было отдельное приложение с мессенджером — его нужно каким-то образом туда «вставить»

Изначально хотели «интегрировать» кнопку мессенджера в боковую панель и отображать MS Teams через iframe. Но это не получилось из-за того, что Microsoft блокирует запросы между доменами в iframe. Поэтому мы решили собирать свой интерфейс внутри системы.

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

Как происходит авторизация

Авторизация и в мессенджере и в портале происходит последовательно, через Microsoft Active Directory (по технологии SSO).

Самое сложное — получение сообщений

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

Но «подписаться на все чаты сразу» на дешевом тарифе Е3 нельзя. Чтобы обойти эту сложность и не покупать дорогой тариф нужно делать скрипт. Он автоматически подпишет пользователя на его чаты, пока пользователь онлайн.

Как реализовали способ получения сообщений

Мы сделали скрипт, который подписывает каждого пользователя на отдельный чат и мониторит новые сообщения. У каждого пользователя по 200-250 таких чатов.

150 пользователей * 250 чатов = 37 500 запросов в час. И все это ради того, чтобы просто работали сообщения. Слишком сложно.

Поэтому скрипт работает только тогда, когда пользователь онлайн. А когда он не в сети — мы просто сохраняем непрочитанные сообщения на сервере и ждем, когда пользователь залогинится, и заново запускаем скрипт.

Сообщения — самое важное, что есть в мессенджере. Если они долго грузятся, не приходят или не сохраняются, то мы просто не получаем информацию вовремя. Некоторые мессенджеры даже берут деньги за хранение истории переписки.

Экономия на тарифах

Наш клиент, как и многие другие, использует базовые лицензии MS Office, которые стоят по 300 рублей в месяц. Для того, чтобы интегрировать MS Teams бесшовно — нужны расширенные тарифы Microsoft 365 E5. Это по 2 000 рублей за месяц → 3,8 млн в год при 150 пользователях (очень дорого).

Майкрософт, внося свои изменения, вынуждает нас собирать такие решения. Это риск, возникший посреди проекта, который никто не мог предугадать

Проблемы с API Майкрософт

Пока мы собирали наш скрипт столкнулись с еще одной проблемой — это API Майкрософта. Microsoft Graph — это единая системы для работы со всеми сервисами Microsoft по API. Но работает она откровенно плохо.

Некоторые методы передачи данных до сих пор находятся в бета-версии. Особенно методы по работе MS Teams. Примерно 20-30% от всех методов — в бета тестировании.

Например, есть «отправка сообщения в личный чат», а «отправка в групповой чат» — это уже бета.

Не хватает метода сделать сообщение «прочитанным». Например, достаем по API все сообщения в выбранном чате. А они не помечаются как прочитанные. Поэтому если зайти в Teams-клиент — они так и останутся непрочитанными.

Все эти недостатки напрямую влияют на бизнес-процессы. Из-за сложностей с уведомлениями сотрудники не получают информацию вовремя и делают работу не так хорошо, как могли бы.

Недавно мы оценивали подобную работу для Zoom. Надо сказать, что у Зума на данный момент тоже нет метода, чтобы доставать количество непрочитанных сообщений.

Резюме и развитие

По сути мы собрали мессенджер с нуля и внедрили весь базовый функционал. Наш клиент уже им пользуется и планирует расширять систему на новых итерациях: добавлять видеозвонки, синхронизацию сделок с сообщениями и единое файловое хранилище.

Если вы по каким то причинам тоже приверженец Майкрософт — теперь вы знаете, что можно сделать, чтобы сэкономить на тарифах.

Интегратор — LAND PRO. Автор статьи — Фёдор Анисимов.

{ "author_name": "Аркадий Кашковский", "author_type": "self", "tags": ["teams"], "comments": 30, "likes": 7, "favorites": 43, "is_advertisement": false, "subsite_label": "services", "id": 179311, "is_wide": true, "is_ugc": true, "date": "Fri, 20 Nov 2020 20:03:42 +0300", "is_special": false }
0
30 комментариев
Популярные
По порядку
Написать комментарий...

Выглядит как попытка натянуть сову на глобус. Во первых внутри тимс можно наваять связи с сущностями из внешней корпоративной системы и шарить внутри чатов бесшовно и красиво. Бизнес кейс «только вкладка браузера с единым порталом» вместо «вкладка браузера + приложение МС тимс» не звучит крепким обоснованием ваших мук интеграции и будущих мук клиента сидящего на самопильном UI с бета эндпоинтами. ИМХО. Припихивание слона в игольное ушко всегда дорого, сложно, больно и по как правило на практике никто не оценит. Откроют 100500 вкладок браузера и будут говорить что тимс отдельно работает стабильнее, верните тимс. Но как инженеры - вы молодцы. ред.

7

Так мы тимс не убирали, по сути это просто альтернативный клиент, которым можно пользоваться внутри браузера в одном окне. Ну и плюс он может взаимодействовать с bpm движком самой системы, то есть в итоге мне кажется что он будет более функционален, чем сущности в тимс🤷🏽‍♂️

А так есть доля истины, но наша задача теперь выкрутить из этого более масштабное решение)

2

неплохая экономия👍🏼

3

Ну да, правда там запросов жесть... почти highload сделали из 100 пользователей)

3

Тимс редкостное гавно, в приложении как не искали так и не нашли кнопку чтобы ответить на сообщение. Непонятно как тресты создавать. На минутку мы тимсом пользуемся несколько месяцев, все же слак был приятнее

3

Ну не могу не согласиться с предыдущим оратором, очень своеобразный продукт. Но люди юзают, и некоторым даже нравится... тем более что бесплатно)

Как я люблю говорить, многие люди в рф, очень будут есть г***о - главное что бы не дорого, а лучше бесплатно😂 Такова суть)

2

Нормально вы одним комментом всех обосрали.

0

Ну не всех... но я думаю многие замечали данный тренд на рынке)

0

Отличная статья. Спасибо, будем думать для своего проекта

2

Велком, обращайтесь)

1

ну с текущим курсом даже дороже выйдет так то

2

Ну подсчеты были на момент написания, сейчас у майков уже почти 2 200 висит на сайте)

1

Сложилось впечатление что внедрение было нужно руководству больше, чем пользователям.

 У каждого пользователя по 200-250 таких чатов.

Что за супермены способны отслеживать 250 чатов и понимать что куда писать? В одной компании так Битрикс-24 внедряли: каждому работнику ежедневно приходило по 100-200 уведомлений и они просто игнорировали этот спам. А проблема была в том что не было нормальных бизнес-процессов и всех подписывали на всё. В описываемой компании, видимо, аналогично.

2

Ну давайте разбираться:
1. У каждого сотрудника есть чат с коллегами, личка. Соответственно вот у вас уже 100-150 чатов.
2. Плюс есть каналы и чатики дополнительно созданные и на аккаунте админа, цифры были около 100.

Вот вам и математика, а вообще обычно любое внедрение нужно руководству. Вопрос только в том как это будет подано сотрудникам🤷🏽‍♂️

0

MS Teams бесплатную версию имеет 

1

Вроде никто обратного и не говорил)

2

Ну да, есть такое)

0

Почему не использовали внутренние возможности bpm?! Все, что Вы описали возможно исполнить там.

1

Ну надо понимать, что функциональность bpm несколько шире чем то что описано в статье, и я как раз об этом и говорю, что пока это просто вьюха, которую далее надо будет развивать, вот в принципе и все)

1

Я не эксперт который знает тимс вдоль и поперек, но даже от его интеграции с jira которую я видел возникают вопросы) не говоря уже о реализации адекватного участия его в бизнес процессах)

1

Изначально хотели «интегрировать» кнопку мессенджера в боковую панель и отображать MS Teams через iframe. Но это не получилось из-за того, что Microsoft блокирует запросы между доменами в iframe. Поэтому мы решили собирать свой интерфейс внутри системы.

еще можно попробовать BrowserView или WebView(не помню точно) использовать в Electron, не самое лучшее решение, но альтернативное.

p.s. а у тимс нет SSO разве? в таблице почему-то минус ред.

1

Кстати можно было попробовать) спасибо за рекомендацию)

А вот что касается sso, то он на бесплатном тарифе не предоставляется, а вообще сама табличка сравнивает именно бесплатные версии. Но я проверю на всякий случай)

1
Избирательный корабль

платить за то что уже давно бесплатно и всегда им было

0

немного не понял, если честно

1
Избирательный корабль

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

1

Спасибо, приятно слышать такие отзывы)

0
Избирательный корабль

Фантастическая отечественная вкс с sip, h323 и высоким разрешением. Когда то имела корни из-за границы, но потом переписана нашими, очень лёгкая и работает на допотопных ксеонах. Поддерживает популярные аппараты и софтфоны. Из пользователей очень много контор. Одна из самых взрослых систем, что я видел. 

1

Изучу, должно быть интересно, спасибо)

0
Избирательный корабль

Битрикс24 ещё при некоторых сценария модно задействовать или для вкс openmcu_ru

0

Битрикс они пробовали им не пошел, в вот про OpenMCU-ru не слышал. Можете дать какой-то фидбек по нему, имеет ли смысл изучать и углубляться?

0
Читать все 30 комментариев
Как IT-компания делает продукты: история собственной торговой марки Яндекс.Лавки
«Донер 42» откроет первые кафе-донерные по франшизе в Перми, Ульяновске и других городах Статьи редакции

Компания отобрала 20 тестовых франчайзи, с которыми будет развивать сеть.

«Донер 42» в Москве Донер 42
Amazon впервые с 2018 года обновит Kindle: в новой версии — увеличенный экран и режим автономной работы до 10 недель Статьи редакции

Стоит от $140.

Kindle Paperwhite Amazon
Слабое звено бизнеса — уверенность. Разбираемся, как ее достичь

Начнем с очевидного: бизнес — это всегда практикум. Научить ему на лекциях и курсах сложно. Это понимают и опытные, и новички, и даже наемные работники. Тогда откуда такой спрос на обучающие программы со стороны бизнеса? Мы углубились в вопрос и нашли ответы. Выводы оказались неожиданными: образовательные программы, интерактивы, презентации…

Пивозавро-стикеры для IT
«ВкусВилл» объявил о ребрендинге и первой за девять лет смене логотипа Статьи редакции

У компании новый слоган — «Здесь полезное вкусно».

«Вкусвилл»
Avito начал переговоры о покупке сервиса по поиску жилья «Циан» — Forbes Статьи редакции

Ходатайство о покупке «Циана» поступило в ФАС от Avito летом 2021 года, рассказал источник издания.

Производитель микрокомпьютеров Raspberry Pi привлёк $45 млн при оценке в $500 млн Статьи редакции

Компания потратит инвестици на расширение линейки микропроцессоров Pi и маркетинг.

ПРЕМЬЕРА ВТОРОГО СЕЗОНА СЕРИАЛА «МОЛОДЫЕ И СИЛЬНЫЕ. ПРОКЛЯТИЕ ВЫЖИВШИХ»
Evrone News #08: выступили на конференциях и провели первый Evrone Fest

В этот раз наша традиционная подборка посвящена мероприятиям. Во-первых, наши спикеры отлично выступили на PyCon и RnDTechConf, а во-вторых, мы провели свой первый Evrone Fest. Подробности ниже.

null