Рубрика развивается при поддержке
Сервисы
Антон Боев
473

От веб-студии до системного интегратора: как меняется роль агентства в условиях цифровой трансформации

Опыт компании DD Planet

В закладки

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

От разработчика к интегратору

Как этот тренд отражается непосредственно на разработчиках? Очень последовательно — последние лет 5 мы в DD Planet практически не реализуем проекты без интеграций. Любой современный проект, ориентированный на потребности бизнеса, обычно предполагает хотя бы минимальный набор из подключенной CRM и системы оплаты.

Стандартные сервисы, с которыми чаще всего требуется интеграция:

  • Системы оплаты (Яндекс.Касса, PayPal и др.).
  • Социальные сети ВКонтакте, Facebook и другие, используемые для регистрации и проверки пользовательских данных.
  • CRM-системы и сервисы веб-аналитики.
  • Сервисы SMS-нотификации и рассылок.
  • Сервис автоматической проверки и исправления контактных данных.

Наиболее сложные проекты обычно требуют интеграции с государственными сервисами, такими как Госуслуги, сервисы Россрееста, ЕМИАС и др., внутренними системами биллинга и тарификации. Они могут быть интегрированы с десятками различных систем или разрабатываться на основе уникальных технологий.

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

Особенности реализации интеграционных проектов

Активная коммуникация с IT-командами интегрируемых сервисов

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

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

Когда интегрированы несколько информационных систем, сложен не процесс программирования, а процесс тестирования. Обычно процесс выстраивается так: информация поступает в одну систему, далее проходит еще через 3-4 и на выходе трансформируется в некий результат.

Чтобы исключить фактор “испорченного телефона”, важно протестировать взаимодействие всех систем и корректную передачу данных. Для этого используется модульное или функциональное тестирование.

Высокие нагрузки на сервис

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

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

Работа с большими данными

Все больше персональных данных требуется для работы с теми или иными сервисами. Чтобы выгружать и использовать большие объемы личной информации в сети, необходимы мощные технологии обработки данных.

Обеспечение безопасности данных

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

Реализация удобного пользовательского интерфейса

Даже если сервис многофункционален, интегрирован со множеством систем и использует терабайты данных, посетителю должно быть удобно им пользоваться. Не забывайте про usability-анализ и адаптацию сервиса для разных устройств.

Поддержка 24 на 7

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

5 кейсов со сложными интеграциями

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

Цифровые сервисы для крупного телекоммуникационного оператора

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

Федеральная интернет-платформа Живу.рф

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

Для реализации такого сложного функционала мы интегрировали проект с рядом внешних сервисов:

  • Росреестр: все объекты недвижимости, добавленные пользователем, проверяются на корректность через соответствующий сервис. Дополнительно имеется возможность получения выписки из ЕГРН.
  • Госуслуги: подтверждение личности пользователей через ЕСИА (Единую систему идентификации и аутентификации)
  • ГИС ЖКХ: позволяет проверять информацию о доме (дату постройки, название обслуживающей компании и т.д.).
  • DaData: ввод информации с помощью подсказок. Например, чтобы получить информацию по юридическим лицам, можно ввести ИНН или название бренда.
  • Интеграция с системами застройщиков и управляющих компаний. В данный момент, например, мы разрабатываем технологию обработки квитанций в новостройках одного из крупнейших застройщиков. После этого жители смогут скачивать квитанции прямо с сайта Живу.рф и получать корректные показания счетчиков ЖКУ.

Сервис для работы с закупками STAR

Цель проекта — упростить процесс поиска и реализации закупок. Для ее реализации мы разработали обширный функционал, позволяющий автоматизировать работу с закупками на всех этапах.

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

Для реализации задач проекта мы настроили интеграции с такими площадками, как “ЕИС (единая информационная площадка)”, “РТС-тендер”, “Газнефтеторг”, “Росссети”, и др.

Онлайн-обсерватория Chilescope

Chilescope.com представляет собой уникальный проект, благодаря которому любители и профессиональные астрономы могут исследовать космическое пространство через интернет.

Задача была сложная, но интересная. Для ее реализации мы разработали сложную платформу, включающую интеграцию с:

  • системой управления движения телескопов ACP Observatory Control Software через Web API-приложение;
  • системой управления фотосъемками на телескопах Maxim DL 6;
  • драйверами для управления куполами обсерватории ScopeDome LS;
  • драйвером для управления монтировками телескопов AutoSlew;
  • сервисом оплаты PayPal.

В дальнейшем, с увеличением числа международных пользователей, сервис пригласили присоединиться в единой сети телескопов по всему миру Telescope Live. Для этого также потребовалась интеграция с API-сервисами компании-владельца сети.

Многофункциональный медицинский сервис Доктис.ру

Портал Доктис.ру представляет собой проект на стыке информационных и телемедицинских услуг.

Одна из возможностей для пользователей — электронная запись на прием к врачу. Функционал реализован за счет интеграции с ЕМИАС (Единой медицинской информационно-аналитической системой).

Также на сайте можно приобрести медицинские товары, сертификаты и билеты на медицинские конференции. Для этого было реализовано взаимодействие с сервисом Яндекс.Кассы.

В чем секрет успешной реализации сложных проектов?

Все дело в двух простых вещах: профессионализме разработчиков и постоянной практике.

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

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

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

Автор: Антон Боев, технический директор DD Planet

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Антон Боев", "author_type": "self", "tags": [], "comments": 5, "likes": 5, "favorites": 8, "is_advertisement": false, "subsite_label": "services", "id": 92034, "is_wide": false, "is_ugc": true, "date": "Mon, 11 Nov 2019 14:59:16 +0300", "is_special": false }
Облачная платформа
Основа для цифровизации бизнеса
0
{ "id": 92034, "author_id": 392846, "diff_limit": 1000, "urls": {"diff":"\/comments\/92034\/get","add":"\/comments\/92034\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/92034"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 200396, "last_count_and_date": null }
5 комментариев
Популярные
По порядку
2

Вы статью до конца дочитайте

Ответить
0

Прекрасно. 
Научились подключать платежное апи пэйпалки - стали системным интегратором, а не вебстудией. 
Да, именно так это и работает. 

Ответить
2

Прекрасно. 
Лень читать целиком, вырвали из контекста одну фразу и трясем гузкой. 
Да, именно так это и работает. 

Ответить
0

Ну, я с радостью послушаю ваше мнение о том, что же из озвученного в статье сделало ребят системным интегратором.
Может быть интеграция кнопок авторизации через соцсеточки?
Или, прости г-ди, интеграция с ЕГАИС?

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }