Как построить микросервисную инфраструктуру

Публикация № 1250635

Разработка - Системная интеграция - Интеграция

При росте информационных систем возникает потребность выноса определенной бизнес-логики в отдельное приложение для повышения отказоустойчивости и возможности одновременного использования этой функциональности в различных источниках. О том, как построить микросервисную инфраструктуру с использованием Apache Kafka в качестве шины данных, на конференции Infostart Event 2019 Inception рассказал разработчик группы компаний Автоград Дмитрий Маренин.

 

 

На рынке сейчас существует два вида организации приложений, о которых мы поговорим в докладе, это:

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

 

Монолитная архитектура и ее недостатки

 

 

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

Все клиенты, как правило, обращаются только к одному приложению.

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

 

 

Какие проблемы мы выявили в процессе эксплуатации приложения?

  • Внеся изменения в одном месте монолитной программы, можно вызвать повреждения в каких-то других ее частях (я думаю, многие в курсе, о чем я сейчас пытаюсь сказать). Все дело в том, что компоненты в монолите могут иметь не всегда очевидные связи. Не всегда можно понять, чем это дальше при изменении может обернуться.
  • Попытка изменить что-то в коде может занять массу времени и иметь далеко идущие последствия в плане долгой отладки и разбирательства – почему так произошло.
  • Из-за своей сложности монолитные приложения требуют от инженера глубокого понимания внутреннего устройства кода. Это может быть огромное количество легаси, в котором нужно как-то копаться и раскручивать, чтобы внести туда какие-то изменения. Варианта два:
    • это документация, которая, как правило, неполная или ее может вообще не быть;
    • и второй вариант – это очень долгое погружение человека в проект, поскольку монолит – это достаточно большое приложение.
  • Монолитные приложения падают с грохотом и зачастую парализуют полностью бизнес-процессы всей компании.
  • С течением времени бизнес растет, у него появляются какие-то новые требования, и иногда приходится переиспользовать текущие наработки в каких-то других проектах или системах. В монолите с этим возникают определенные проблемы – это только дублирование кода решения.
  • Разбалансировать нагрузку становится сложнее. Начинают расти затраты на покупку железа, для работы приложения требуются мощные сервера.
  • Технологии тоже развиваются – появляются языки либо библиотеки, которые решают текущую задачу эффективнее и быстрее, чем в монолите. С течением времени, как правило, все это начинает тормозить, висеть – настает «красная полоса», когда нужно что-то менять (или людей, или софт).

 

Микросервисная архитектура

 

 

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

Что вообще такое микросервис? Это небольшая программа, запущенная на своем сервере и работающая только над одним типом задач. Например, сервис авторизации, который принимает на вход логин/пароль и далее решает – давать пользователю доступ в систему или нет. Или, например, сервис отправки SMS.

Любое монолитное приложение можно разбить на множество сервисов, которые должны как-то между собой взаимодействовать.

 

 

Сервисы могут общаться между собой любым удобным способом:

  • отправляя друг другу TCP или UDP-пакеты;
  • через REST-интерфейс (дергая методы по HTTP);
  • либо через шину данных (RabbitMQ, Apache Kafka).

Как правило, в основном сервисы общаются по HTTP.

 

 

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

Если в случае с монолитом нам с течением времени придется переходить на очень большой сервер, то здесь мы можем просто выпиливать второстепенную логику, перекладывая ее на небольшое, не сильно производительное железо. И освобождать тем самым ресурсы большого сервера, чтобы он решал более конкретные задачи – расчет себестоимости, расчет зарплаты (какие-то высоконагруженные вещи, которые до сих пор должны оставаться на серьезном железе).

 

 

Например, если мы написали для какого-то проекта сервис авторизации – то для другого проекта мы не дублируем код, а просто дергаем этот сервис по REST-протоколу, и он нам возвращает данные.

Допустим, ваше приложение – это магазин, состоящий из набора сервисов (таких, как корзина, формирование заказов, платежный шлюз). И вот в течение дня у вас отваливается шлюз платежной интеграции. Но бизнес позволяет клиентам дальше формировать заказы, видеть витрину товаров. Просто в момент оплаты клиент будет видеть сообщение, что у вас сейчас проблемы с оплатой: «Вы сможете оплатить заказ позже». И когда сервис поднимется, можно будет уведомить клиентов, тем самым, какая-то часть из них может вернуться.

А в случае монолитной архитектуры – при проблеме в основном приложении встает все.

 

 

Если мы нашли какую-то функциональность в другом стеке – в Node.js или в Python (что-то, что позволит нам нарисовать красивый дашборд или использовать машинное обучение, которое сейчас актуально), мы можем просто запустить этот сервис рядом и использовать его. При этом основная бизнес-логика остается работать в 1С. Тем самым мы можем брать лучшее из разных технологических миров, взаимодействовать со всем этим в нашей экосистеме, и все будет просто хорошо.

 

 

Плюсы-плюсами, но есть и минусы.

  • Чем больше сервисов, тем сложнее их мониторить, Понятно, что если их количество приближается к сотне или к тысяче, то уже начинаются интересные проблемы.
  • Пересылка данных вызывает небольшие задержки, которые могут быть критичны для приложений, где важна высокая скорость. В случае монолита все вызывается относительно быстро, а в случае микросервисов все уже зависит от канала связи и других вещей.
  • Усложняется управление инфраструктурой. Каждый сервис принято запускать на отдельном сервере – это может быть Docker-контейнер, виртуальная машина или какое-то железо. Это может усложняться еще и тем, что используются сборки разных дистрибутивов Linux. Мы используем стандарт – это Docker и Debian 9. Админы в шоке.

 

Мониторинг микросервисов – Flask Monitoring Dashboard

 

 

В качестве REST-шлюза мы используем Flask. Есть OpenSource библиотека Flask Monitoring Dashboard. С ее помощью мы мониторим количество вызовов методов – например, на скриншоте видно, сколько раз происходил вызов определенного метода сервиса. Если в течение двух месяцев мы видим, что этот метод никто не вызывает, мы можем просто его выпилить.

 

 

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

 

 

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

 

Мониторинг шины данных– Kafka Manager от Yahoo

 

 

Сервисы обмениваются сообщениями через шину данных – мы используем в качестве шины Apache Kafka.

Шина данных – это такая сущность, которая соединяет собой поставщиков сообщений и их потребителей. Например, когда вы пишете письмо, в качестве шины выступает «Почта России».

Само сообщение выглядит как письмо. Есть тема, которая указывает на название события, и есть данные, и есть потребители. Шина видит, что на эту тему подписаны эти потребители, и она им скидывает эти сообщения по сети.

Шину мониторим через Kafka Manager от Yahoo – он собирает метрики по сообщениям.

 

Архитектура обмена сообщений между 1С и шиной данных Apache Kafka

 

 

Встает логичный вопрос – как подключить Apache Kafka к 1С.

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

  • с одной стороны Kafka, с другой – 1С;
  • и между ними прокси-сервис на Python, который подключен к шине и подписан на события – он выгребает эти события из шины и возвращает их в 1С по HTTP;
  • а в 1С работает HTTP-сервис, который это все может принять и дальше уже обработать.

Соответственно, 1С стучит GET и POST-запросами в Kafka через такой же прокси-сервис, который имеет соответствующий REST-интерфейс, и этот прокси-сервис скидывает эти сообщения в шину данных.

Вот так можно решить вопрос интеграции 1С и Kafka.

 

 

Вот пример, как собирает метрики по сообщениям Kafka Manager от Yahoo. Здесь показаны как раз метрики на то событие, которое выгребает прокси-сервис.

 

 

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

 

Примеры использования микросервисов. Asterisk client

 

 

Поговорим о реальных примерах применения из жизни моего предприятия. Как же нам помогло применение микросервисов в повышении эффективности работы бизнеса.

Недавно мы проводили реструктуризацию бизнес-процесса «Запись на сервис». И одной из точек маршрута было – уведомить клиента за сутки о том, что он собирался приехать. Если клиент подтверждает свое намерение приехать, то бизнес-процесс двигается дальше по ветке, начинается подготовка к заезду и т.д. А если клиент не планирует приезжать, то бизнес-процесс завершается, и переходит уже к другой логике (к попытке вернуть клиента и т.д.).

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

Это выглядит следующим образом:

  • звонит сервис, спрашивает: «Добрый день! Вы приедете завтра к нам на сервис?»
  • клиент ему отвечает – «Да» или «Нет», происходит распознавание речи;
  • и в зависимости от ответа бизнес-процесс идет дальше – или запись подтверждается, или время в журнале записи освобождается;
  • при необходимости разговор разбирается, подключаются менеджеры и т.д.

 

 

Как это работает?

  • В 1С регламентным заданием создаются задачи на обзвон. Задача 1С – только сгенерировать данные для обзвона (телефон, имя клиента, дату и какой-то текст) и отправить их в сервис. После этого 1С занимается своими делами.
  • Итак, 1С по REST дергает сервис, передавая ему в качестве параметров данные для обзвона. В сервисе есть очередь заданий. Он их обрабатывает.
    • Основная задача сервиса – это передать данные в Asterisk, чтобы он совершил звонки.
    • Далее – подписаться на события Asterisk, чтобы мы понимали, что звонок завершен.
    • И еще одна его функциональная обязанность – это принять от Asterisk записанный файл с ответом от клиента и превратить его в текст.
  • Далее полученный от Asterisk ответ и его текстовая расшифровка идет в шину данных,
  • После чего все это доезжает до 1С, которая уже принимает решение, что мы будем делать дальше – мы либо идем по положительной ветке, либо завершаем процесс.

 

 

В результате мы увеличили количество дозвонов и автоматизировали получение ответов (да/нет) по поводу каждого обращения.

 

 

Снизили нагрузку на операторов и менеджеров по исходящему трафику.

 

 

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

 

Примеры использования микросервисов. Внешний журнал записи

 

 

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

 

 

По нагрузке на приложение:

  • Это более 100 пользователей, которые постоянно с небольшой периодичностью тыкают, обновляют журнал, переключают периоды – создают бурную деятельность.
  • Большая разнородность данных. Здесь имеется в виду, что в одном запросе собирается несколько справочников, несколько бизнес-процессов, несколько документов. Это все большие выборки с соединениями нескольких таблиц.
  • По датам выборка составляет +/- 90 дней – это тоже доказывает разнородность данных.
  • Более 15 подразделений.
  • В одном подразделении ~ 10 сотрудников и 5 постов.

 

 

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

С какими основными проблемами при реализации на 1С мы столкнулись:

  • долгая выборка из базы данных при переключении периода;
  • недостаточно функциональности 1С диаграммы Ганта;
  • нет возможности переиспользовать фронтэнд 1С в каких-то других приложениях (в колл-центре либо для записи с сайта).

 

 

После отказа от фронтенда на 1С была выбрана следующая архитектура:

  • Сервис написан на Python;
  • HTTP сервер на Flask;
  • В качестве ORM для работы с базой данных используется библиотека peewee.
  • В части фронтенда – это HTML с JS, используется библиотека Timeline.js.

 

 

Как это все работает?

  • 1С при проведении документа отправляет триггер в сервис.
  • Сервис делает запрос в базу данных, формирует JSON и отправляет его в кэш.
  • Далее отправляет в шину сообщение, что по этому цеху есть изменение на такое-то время такой-то даты. К шине подключены подписчики на это событие, которые при необходимости могут уже дальше делать какую-то свою логику.
  • Когда пользователь меняет дату в 1С или обновляет журнал на веб-форме браузера, уходит GET-запрос в сервис. Если данные есть в кэше, они берутся оттуда, если нет, мы идем в базу, отправляем данные в кэш и обратно клиенту.
  • На клиентской стороне происходит прорисовка журнала. К веб-форме реализовано подключение по WebSocket – это нужно для того, чтобы, когда у 10 пользователей открыт один и тот же журнал (они записываются в него), нужно, чтобы если кто-то изменил журнал (добавил или удалил запись), у всех пользователей одновременно происходило обновление журнала. Это реализовано с помощью событийной логики – все доезжает до клиента по WebSocket.

 

 

В качестве результата приложения получили единый бекенд. Все данные для журналов (журнал не только в 1С) берутся из одного места. Там все актуально, ничего не разъезжается, дублирования логики нет.

 

 

Кроме этого мы получили единый фронтенд. Операторы колл-центра периодически переваливаются из 1С в колл-центр и обратно, они не задают вопросы, как с ним работать – он работает аналогично.

 

 

Функциональный фронтенд. Была задача закрашивать серым цветом области, которые не используются в рабочее время (на слайде видно, что нерабочее время по краям выделено серым цветом). Типовой диаграммой это реализовать не получилось.

 

 

На слайде показан пример, как это работает – интерфейс очень отзывчивый, ничего не висит.

 

 

Мы теперь можем делать произвольные формы, не ограничиваясь 1С-ным стеком. Если нам нужна какая-то дополнительная функциональность, мы ее выносим. На слайде показан пример, где одна форма HTML выводится поверх другой – все реализуемо.

 

 

Быстрый отклик при работе из базы 1С. Раньше это работало очень медленно.

Обратите внимание, поле, где работает журнал – это встроенный в 1С Chrome (Chrome Embedded Framework). Потому что текущий движок в платформе 8.3.8 (Internet Explorer) не позволял запускаться js-коду. Там ничего не работало. Чтобы добиться результата, пришлось впилить туда Chrome.

 

 

Какие еще преимущества мы получили в результате:

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

 

Примеры использования микросервисов. Предсказание пробега

 

 

Еще один пример – у нас есть сервис предсказания пробега.

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

Тем самым мы: во-первых, повышаем лояльность клиентов, во-вторых, повышаем возможность покупки этого ТО у нас.

 

 

Как это все работает?

  • 1С при записи добавляет триггер в сервис,
  • Сервис добавляет данные в базу MySQL и на основании этих данных делает расчет планового заезда с помощью машинного обучения – записывает в базу план ТО по машинам: дату, пробег и планируемую дату прохождения следующего ТО.
  • Другой сервис делает выборку по плановым заездам, генерирует короткие ссылки, а также занимается коммуникациями с клиентом – отправляет ему SMS-сообщения, в WhatsApp, Viber и т.д. При переходе по короткой ссылке клиент видит предложение и может записаться на удобное для него время. Результат коммуникации сервис отслеживает и сохраняет, чтобы мы дальше могли бы уже смотреть выбытие клиентов и т.д. (могли уже дальше какие-то вещи делать). Соответственно, собираются метрики переходов по коротким ссылкам – какой клиент открыл, на какой странице он остановился, что произошло, на какие кнопки он нажал. Туда впилена полная интеграция с Яндекс.Метрикой.

 

 

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

 

 

Мы заранее предсказываем его пробег с точностью до 2-х недель в 80-90% случаев.

 

 

Создаем предложения по заезду с какой-то дальнейшей обработкой.

 

Выводы

 

 

В качестве выводов могу сказать следующее:

  • Писать и поддерживать небольшие сервисы всегда проще, чем большие.
  • Для каждого сервиса можно выбрать язык и свой технологический стек, который больше всего подходит для решения этой задачи. Если нужна скорость, можно попробовать сделать микросервис на  C++, если постоянно туда-сюда гоняются данные, можно попробовать реализовать сервис на go. А для всего остального есть 1С и Python.
  • Не страшно экспериментировать с новыми технологиями. Хочешь добавить какую-то новую функциональность – выкатываешь сервис. Если по метрикам видишь, что там что-то не так, откатываешь его обратно. Остальная инфраструктура от этого не страдает. Если видим, что в сервис больше никто не ходит, просто его выключаем, и все – значит, про него все забыли.
  • Вместо рефакторинга проще выбросить сервис и написать его с нуля.

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

 

Вопросы

 

  • Вы используете для машинного обучения какую-то свою разработку или используете какой-то облачный сервис – передаете данные в Яндекс или еще куда-то?
  • В первый день конференции был доклад по машинному обучению. Мы используем те же питоновские стандартные библиотеки для машинного обучения – sckit-learn, pandas и т.д. Один в один, просто у нас своя логика идет.
  • Все это как-то тестируется? Я знаю, что у микросервисов есть проблема по этой части.
  • По тестированию здесь особо я вам ничего не расскажу, мы больше на мониторинг ориентируемся.
  • Как себя ведет Chrome Embedded Framework в толстом клиенте 1С:Предприятия?
  • У нас используются управляемые формы, и в поле HTMLДокумента есть возможность запустить ActiveX. Есть библиотека Chrome Embedded Framework, которая работает под ActiveX. Получается, что в поле HTML стартует Chrome. Как запустить ActiveX в управляемом приложении – точно так же.
  • Я правильно понимаю, существует готовый ActiveX, который показывает Chrome, и этот ActiveX можно вставить в Explorer?
  • Да. Код Chrome Embedded Framework открыт, можно скомпилировать его самим и реализовать интерфейс
  • У вас переплетено так много технологий, а сколько у вас разработчиков этим занимаются?
  • Пять.
  • И все по разным языкам?
  • Не все. Кто-то на Python, кто-то на 1С, а кто-то и на 1С, и на Python.
  • Про микросервисную архитектуру есть два или три тома книжек, которые говорят, что микросервисы, Enterprise – это целая история, ты должен начать с планирования, разделить все на микросервисы, гетерогенный ландшафт не существует. Если делать ландшафт из микросервисов, они должны быть действительно маленькими. У тебя точно микросервисная архитектура или все-таки элементы микросервисов?
  • У нас архитектура больше сервис-ориентированная – каждый сервис решает свою бизнес-задачу. Микросервисная архитектура меньше дробится.
  • Я так понимаю, что у тебя не совсем микросервисы, а скорее применение более специализированных технологий для решения определенного круга задач.
  • Тут надо сначала поднять из тех трех томов понятие о микросервисах, и потом можно будет поговорить об этом дальше.
  • Когда вы передаете клиенту этот широкий спектр технологий, он может как-то это сам поддерживать?
  • Я сам поддерживаю эти технологии, я представитель бизнеса, а не франч.
  • Но как это тиражировать и отдавать?
  • Мы не касаемся вопроса тиражирования.
  • Вопрос по интеграции с Asterisk. Передается запись звонка с Asterisk, она дальше разбирается в текст, разбирается на какие-то сегменты, а как дальше анализируется? Как система 1С понимает, что клиент согласился на приезд или захотел перенести свою заявку на какую-то другую дату и т.д.
  • Сервис отправляет данные в Asterisk, вызывает originate action – пошел набор номера. У нас в Dial-плане прописано, что когда подняли трубку, есть макрос, который при поднятии трубки записывает разговор. Как только записали разговор, Asterisk POST-запросом на PHP возвращает в сервис адрес, где лежит wag-файл. Сервис получает запрос, получает файл, разбирает через speech_to_text, парсит и делает статус 1 или 0, формирует JSON, отправляет его в 1С.
  • А кто понимает, что «Наверное», «Да», «Нет» и «Ни за что» – это 1 или 0?
  • Есть словари. Мы эту базу расширяем.
  • Ты рассказывал, как поделить на микросервисы внешние интеграции – Asterisk и т.д. А есть ли смысл делить саму 1С?
  • Внешний журнал записи – это как раз пример, что в микросервис была выделена отдельная функциональность из 1С.
  • А есть ли какие-то идеи разделить «Управление торговлей 11» на сеть 1С-ных баз, которые будут работать как микросервисы?
  • У меня такой идеи нет. Но возможность есть – я говорил, что можно из основной базы выделить сервис, который занимается оформлением заказов. Какие-то модули можно разделить.
  • Были на твоем предприятии такие случаи, что два разных микросервиса на 1С работали?
  • У нас 1С-база одна, мы ее не делим. Нам одной хватает.
  • У меня вопрос по терминологии. Поскольку сейчас в стационарной платформе произошел треш с передачей файлов на сервер, мы внутри 1С для получения / отправки файлов или получения информации о картинках, остатках и т.д. используем HTTP-сервис внутри этой же базы. Получается, что мы берем монолит 1С, но обращаемся мы к нему как к сервису.
  • А зачем?
  • Потому что есть ограничение платформы. Но я не знаю, считать это за сервис?
  • Я думаю, нет. Потому что у вас потребитель и поставщик один и тот же.

 

****************

Данная статья написана по итогам доклада (видео), прочитанного на конференции INFOSTART EVENT 2019. Больше статей можно прочитать здесь.

В 2020 году приглашаем всех принять участие в 7 региональных митапах, а также юбилейной INFOSTART EVENT 2020 в Москве.

Выбрать мероприятие

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
3. papami 30 16.06.20 09:28 Сейчас в теме
В части автобизнеса неплохой подход.
Но у меня никогда даже мысли не было выносить запись) Вместо Ганта написан ActiveX (Альфа-Авто 4 и 5). Вопросы производительности в 1С решаются так или иначе.
Видимо просто масштаб бизнеса побольше в Вашем случае.
4. dmarenin 281 16.06.20 11:51 Сейчас в теме
(3) журнал используется не только в альфе. этот же фронт используется в кол центре, бэк еще используется в записи с сайта
5. papami 30 16.06.20 11:57 Сейчас в теме
(4) ну я понял, что обусловлено задачей. У нас запись с сайта импортера. У них там свой API. Таймлайна нет.
6. lmnlmn 61 16.06.20 12:59 Сейчас в теме
Это, несомненно, чудесное веяние, господа!
7. Darklight 22 17.06.20 16:12 Сейчас в теме
Монументально для статьи по докладу! Респект автору!
8. comol 4321 22.06.20 12:43 Сейчас в теме
В этой статье/докладе всё прекрасно, кроме названия :).
И правильное использование сторонних сервисв с 1С и "нерешаемых задач нет" даже в толстом клиенте.

Только "микросервисная архитектура" это всё-таки про "поднятие и падение сервисов оркестратором", "каталог сервисов", "единый интерфейс", "распределенные паттерны" и т.п. К 1С это едва ли применимо, ну по крайней мере пока политика лицензирования не изменится...
Оставьте свое сообщение

См. также

1C# – 1С моей мечты

Интеграция v8 Бесплатно (free)

Встроенных в платформу 1С возможностей не всегда хватает для построения сложных интеграционных схем между различными 1С и не-1С-решениями на базе MS SQL Server. Как сделать интеграцию между SQL-базами более гибкой с помощью платформы 1С# на конференции Infostart Event 2019 Inception рассказал Дмитрий Жичкин.

01.06.2020    9250    0    zhichkin    33    

Интеграция 1С с промышленным оборудованием

Интеграция Бесплатно (free)

Эффективность управленческой информации в производственном процессе зависит от данных, собираемых на нижних уровнях. Про автоматизацию получения этих данных с использованием технологии OPC (OLE for process control) на конференции Infostart Event 2018 Education рассказал Юрий Коноваленко.

06.09.2019    8289    0    user642664_yurkeshk    12    

Poka-yoke. Оператор производственной линии – пользователь 1С. Кто сказал, что 1С только для финансов?

Интеграция Бесплатно (free)

Что такое Poka-yoke системы, зачем они нужны и как меняется работа на предприятии при их внедрении рассказал руководитель проектного отдела компании «Информационные технологии» Дмитрий Макаров на конференции INFOSTART EVENT 2018 EDUCATION.

04.09.2019    3731    0    pro-rok    16    

Как организовать консолидацию данных из трех десятков предприятий, не привлекая программистов на местах?

Интеграция v8 1cv8.cf Бесплатно (free)

Какую архитектуру и технологии выбрать для организации обмена между «зоопарком» разных конфигураций и системой, принципиально отличающейся от 1С, как наладить такой обмен без изменения конфигурации и организовать мониторинг из единого центра, расскажет докладчик конференции INFOSTART EVENT 2018 EDUCATION Александр Бобрышов. 

15.07.2019    4240    0    ShurikDM    4    

Бизнес-аналитика с помощью Power BI

Интеграция Бесплатно (free)

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

11.07.2019    12546    0    pbazeliuk    18    

По следам публикаций 1С + микроконтроллер, или 1С в железе

Интеграция Бесплатно (free)

Несколько примеров удачного применения связки микроконтроллер и 1С, в производстве. Результат - исключение человеческого фактора, экономия средств на АСУ, повышение культуры производства ))), и др...

12.06.2019    7070    0    vostok1.dz    13    

RabbitMQ + Конвертация Данных 3.0

Внешние источники данных Обмен через XML Интеграция Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

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

21.03.2019    24337    0    barelpro    82    

Переход на "Зарплату и управление персоналом 3.1"

Интеграция Управление персоналом (HRM) Пользователю системы Бухгалтерский учет Управление персоналом (HRM) v8 v8::СПР ЗУП2.5 ЗУП3.x Россия БУ Бесплатно (free)

Сменила я тут работу и уже после того, как я приступила к исполнению обязанностей, мой новый начальник мне призналась, что выбор пал на меня только из-за того, что я знаю программу. Справедливости ради, эта уверенность была основана только на том, что я прошла тестирование, включающее только основные операции кадрового делопроизводства. Так или иначе, а работодатель попал в точку, нанимая меня в надежде, что я решу проблему: нужно перейти «с 8.2 на 8.3». Ничего сложного, скажет большинство, я тоже так говорю, но ситуация осложнялась некоторым количеством предшественников, которые уже «нафеячили» в программах до меня. Взять и сделать все заново мне не разрешили, так что пришлось исходить из того, что есть, и именно это дало пищу для размышлений и, в конце концов, привело к написанию этих рекомендаций. Если перед Вами стоит задача перехода с ЗУП 2.5 на ЗУП 3.1, я попробую облегчить Вам жизнь этой статьей.

01.02.2019    12432    0    VKuser24804875    33    

Выбор программы 1С

Пользователю системы Интеграция Управление проектом v8 1cv8.cf Россия Бесплатно (free)

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

16.01.2019    8679    0    itworks    22    

Почему внедрение ERP-системы не приносит пользы бизнесу?

Интеграция Управление проектом Бесплатно (free)

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

15.11.2018    22246    0    rossoxa    65    

Проектирование архитектуры и модификация программных продуктов как технология в сложных проектах системной интеграции и автоматизации на базе 1С: СППР

Управление проектом Интеграция СППР v8 1С:Франчайзи, автоматизация бизнеса Бесплатно (free)

Как сделать проектирование функциональной архитектуры ПО технологией. Цель - устранить ряд типовых проблем на сложных проектах. Как использовать для решения этих задач 1С система проектирования прикладных решений (СППР). Статья полезна для директоров франчайзи, системных интеграторов, руководителей проектов, архитекторов и консультантов.

03.10.2018    15857    0    roman72    19    

Создание web-площадки на технологиях 1С, или как Водоканал сделал "Личный кабинет потребителя"

WEB Интеграция v8 Энергетика и ЖКХ Бесплатно (free)

Гончаров Максим делится опытом создания «Личного кабинета потребителя» на сайте водоканала. Он описывает архитектуру системы и объясняет, какую роль в ней играют технологии: «Битрикс», OData, веб-сервисы, «1С:БСП». Также в статье раскрываются возможности использования подсистемы «Анкетирование» в «1С:БСП» как конструктора документов.

25.06.2018    16655    0    maxx    32    

Двуглавый орел, Змей Горыныч и Гидра

Интеграция Управленческий учет (прочее) Бесплатно (free)

Начинаем новую жизнь!

28.04.2018    14161    0    1c-intelligence    36    

Может ли 1С выйти на рынок B2C

Интеграция v8 Бесплатно (free)

Размышляя о том, может ли 1С втиснуться на рынок сервисов типа Slack, Wrike и им подобных, текст незаметно углубился в размышления о том, где граница применимости платформы 1С. Что будет, если 1С пойдет на рынок таких продуктов и возможно ли это вообще. Рассказал свое представление о том, где у 1С есть преимущества и где слабые стороны. Получился такой себе вырожденный SWAT-анализ. Но без таблиц. Только буквы, только хардкор.

15.08.2017    13335    0    WanGoff    76    

Несколько сильных сторон 1С в сравнении с SAP

Интеграция Бесплатно (free)

Тематика статьи в последнее время вызывает много дискуссий. То, что эти дискуссии стали возникать в последние года три-четыре, – не случайно. Эта тема стала актуальна с момента перехода платформы 1С и ее прикладных решений на новый этап развития, связанный с появлением управляемого приложения. И я попробую вернуться к этому вопросу еще раз. О каком SAP пойдет речь?

29.04.2015    80231    0    comol    1350    

УПП + Perco + SDK

Интеграция v8 УПП1 Россия Бесплатно (free)

1С: УПП интеграция с Perco через SDK

24.10.2014    32232    0    Alex33614    12    

Сравнение функционала SAP ERP и 1С УПП

Интеграция УПП1 Бесплатно (free)

Ввиду возникшего в последние дни интереса к теме сравнения SAP и 1С http://infostart.ru/public/240735/ http://infostart.ru/public/241187/ решил поделиться с сообществом краткими выводами по результатам сравнения функционала SAP ERP и 1С УПП.

17.12.2013    67391    0    SergAn    138    

Бесплатные аналоги 1С

Интеграция Россия Бесплатно (free)

Обзор бесплатных аналогов платной программы 1С. Возможно, кому-то пригодится для решения мелких задач. Дебет Плюс Ананас Своя технология Athena Openbravo GrossBee ВС:Бухгалтерия OpenERP Tria DataExpress - конструктор баз данных

27.09.2012    169641    0    taril    82    

Применения сервиса DropBox

Интеграция Россия Бесплатно (free)

DropBox – очень удобный и довольно мощный иструмент, несмотря на свою внешнюю простоту. Его однозначно стоит попробовать. Рекомендую прочитать полностью всё статью, и вы узнаете, какие есть применения у этого сервиса.

08.03.2012    23739    0    sword444    6    

Зачем 1сникам нужен DropBox?

Интеграция Россия Бесплатно (free)

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

27.02.2012    32033    0    Новиков    142    

Краткое описание программ для ведения домашней бухгалтерии

Интеграция Домашние учет и финансы Россия Бесплатно (free)

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

14.02.2012    21338    0    djam_arttek    43    

Автоматизация компании ЖКХ: задачи и решения

Интеграция v8 Энергетика и ЖКХ Россия Бесплатно (free)

Отрасль жилищно-коммунального хозяйства мы до сих пор видели в двух ипостасях. Это оставшиеся с советских времен, жутко неэффективные МУПы и ДЭЗы и новоиспеченные фирмы, дорвавшиеся к «большим» деньгам ЖКХ, при этом тут же попавшие в шумные скандалы о растратах и неэффективном управлении. Но потихоньку ситуация меняется. Приходят на руководящие должности разумные люди, создаются управляющие компании целью которых становиться не «урвать и сбежать», а нормально работать и зарабатывать.

29.05.2011    11229    0    verybig    14    

Mercurial — распределенная система контроля версий с открытым кодом...

Интеграция Россия Бесплатно (free)

Mercurial — это современная распределенная система контроля версий с открытым кодом. Эта система — заманчивая замена для более ранних систем вроде Subversion. В этом простом учебном пособии в шести частях Джоэль Спольски (Joel Spolsky) рассказывает о ключевых принципах Mercurial.

15.01.2011    23170    0    CheBurator    5    

1C.Net:Предприятие – пример коммерческого успеха .Net-решений в России

Интеграция Россия Бесплатно (free)

Статья из ссылки описывает, как объединив 1С:Предприятие и .Net framework , можно получить взаимовыгодное сотрудничество двух разных технологий и добиться коммерческого успеха. Чтобы изложенные мысли не были похожи на фантазии, приводится конкретный пример на основе разработок компаний Elisy Software Design и АТехнолоджи (http://atechnology.ru/).

26.05.2010    27234    0    Elisy    7    

Дребеденьги. Домашняя бухгалтерия.

Интеграция Домашние учет и финансы Бесплатно (free)

Домашняя бухгалтерия - программа-сервис для учёта финансов.

14.12.2009    18777    0    JohnyDeath    21    

Compiere - система управления предприятием и взаимоотношениями с клиентами на базе открытого кода

Интеграция Россия Бесплатно (free)

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

21.10.2009    27732    0    support    26