Разделы сайта
Выбор редакции:
- Лицо зимы поэтические цитаты для детей
- Урок русского языка "мягкий знак после шипящих у существительных"
- Щедрое дерево (притча) Как придумать счастливый конец сказки щедрое дерево
- План-конспект урока по окружающему миру на тему "Когда наступит лето?
- Восточная Азия: страны, население, язык, религия, история Являясь противником лженаучных теорий деления человеческих рас на низшие и высшие, он доказал справед
- Классификация категорий годности к военной службе
- Неправильный прикус и армия Неправильный прикус не берут в армию
- К чему снится умершая мама живой: толкования сонников
- Под какими знаками зодиака рождаются в апреле
- К чему снится шторм на море волны
Реклама
Эволюция: из маленькой веб-студии в опытного интегратора. Автоматизация бизнес-процессов в Web-студии |
Начинается самое интересное. Автоматизация документооборота и работы с клиентами - это первый кит, на котором стоит конвейерная работа любого агентства. Это первый и самый не очевидный способ экономии средств студии и, как следствие, высвобождения бесполезно загруженных менеджерских ресурсов для полезной работы. Именно благодаря описанному ниже подходу WebCanape добилась высокой производительности на старте без роста расходов на масштабирование команды. Только спустя 5 лет работы у нас появился выделенный отдел продаж. До этого поток в 120 заявок в месяц с конверсией в 60% обрабатывал один человек. Но скорость - это не только экономия, это еще и лояльные клиенты. Кто первый сделает КП того и тапки:) Реальный предприниматель с деньгами скорее выберет первое понравившееся предложение, чем будет тратить время на ожидание различных вариантов. Базовые бизнес-процессы студии на этапе продажРассмотрим базовые бизнес-процессы, которые есть в любой веб-студии.
Заявку нужно принять, внести в учетную CRM систему (5 минут), данные перенести в базовую часть брифа и отправить его клиенту (еще 5 минут). После заполнения клиентом брифа, его нужно обработать, сделать расчет (20 минут) и подготовить продуманное коммерческое предложение (40 минут) с предварительной структурой сайта и сервисами. На подготовку договора и приложений потребуется еще 30 минут, 10 минут на выставление счета. На реализацию этих процессов по одной заявке стандартному отделу продаж требуется примерно 110 минут чистого времени. Это значит, что для обработки 70 заявок необходимо 128 часов. При перерасчете на большое количество заявок - это существенные потери, которые не нужны клиенту, но влияют на конечную стоимость продукта. При этом, веб-студия почему-то пытается оптимизировать работу производства (процесс создания продукта), а не эти пустые процессы. Давайте посмотрим, что сделали мы. Для обработки 70 заявок в месяц менеджеру требовалось 128 часов (фул-тайм продажник). После оптимизации и автоматизации процессов стало 37 часов. Теперь вы видите почему мы долго работали без выделенного отдела продаж. Единственное, очень важно иметь опытного человека на входе. Автоматизация сама по себе работать не будет. Скорость и взаимозаменяемостьШаг за шагом, осознавая проблему низкой эффективности, мы создавали систему, которая помогала менеджерам быстрее работать с клиентами. Я уже сказал почему скорость важнее стоимости, но я не сказал еще про одну проблему. Для многих она выходит на первый план. Менеджер по продажам не может подготовить профессиональное КП. Где взять продажников с опытом продажи сайтов, когда их нет в регионах? Соответственно нам необходимо было дать инструмент, который поможет хорошим менеджерам с небольшим опытом в сфере веб-разработки быстро вести документооборот и создавать профессиональные КП. Таким инструментом стал наш внутренний инструмент, который мы назвали «Калькулятор». Существенно позже он переродился в CanapeCRM, которую мы стали предлагать клиентам. Электронные документы. Мы на 100% отказались от вордовских документов и перешли в online. Клиенту отправляется только ссылка (на бриф, КП, договор, счет). Если что-то меняется - достаточно внести правки документа в системе, нажать F5 и у клиента документ уже обновлен. Из экономии на этом и подобных процессах - появляется высокая эффективность работы. Автоматические уведомления. Вторая важная часть автоматизации - это оповещения. В процессе работы менеджер вынужден писать большое количество писем клиентам, не несущих важной информации. Нужно клиенту сообщить статус проекта, запросить информацию, рассказать, что подготовить для предстоящих этапов и т.д. Когда проектов много - это сильно отвлекает от основной задачи, заставляет переключаться и тормозит работу. CRM система может и должна сама сообщать клиенту информацию, отправлять напоминания. Один день, который сэкономит миллионПотратьте этот день на полную настройку системы. Тексты уведомлений, шаблоны КП, договора и все, что может пригодится. Это поможет вам работать рентабельней и не расти в цене вслед за ростом зарплат. В понедельник 31 октября 2016 года я проведу вебинар. Мы обсудим предыдущие материалы, поговорим о важных шагах на старте, покажу, как настраивать систему документооборота и отвечу на все вопросы. Зарегистрироваться на вебинар. По всем вопросам можете писать в комментариях к постам. P.S. Напоминаю, что данный материал является логическим продолжением серии материалов о построении бизнеса веб-студии в бюджетном сегменте. 5000 RUB Руководители маленьких компаний зачастую совершают ошибки, а все потому, что не уделяют достаточного внимания бизнес-процессам. Все их внимание в первую очередь сосредоточенно на росте прибыли и увеличении продаж. И, только на второе место ставятся задачи по описанию и структурированию рабочих процессов, ошибочно полагая, что это важнее для крупных организаций. Для маленькой компании разработка бизнес-процесса проста в своем исполнении. Правильно описанные процессы и верно подобранные способы автоматизации, смогут помочь в росте и развитии организации. Хотите контролировать всю работу организации? Сконструируйте все бизнес-процессы с самого начала развития бизнеса. Что подразумевает собой бизнес-процесс?Это взаимосвязь различных задач (цепочек действий), помогающих в создании услуг или определенного товара для клиентов. Например, оплата счетов, утверждение отпуска, контроль расхода материалов, реализация заказа в интернет-магазине и т.п. Рабочие процессы состоят из трех этапов:
Они, в свою очередь, подразделяются на под-процессы. Создание бизнес-процесса довольно не простая вещь и больше подходит для крупных организаций, предполагает следующее:
Веб компания WM предлагает своим клиентам создание сайта на системе управления 1С-Битрикс с интеграцией сайта с CRM Битрикс24 . Как происходят бизнес-процессы в небольшой организации?Для маленькой и еще молодой компании существует упрощенный вариант организаций бизнес-процессов, главными из которых являются:
Чтобы понять, какие наиболее важными будут бизнес-процессы, необходимо проанализировать часто повторяющиеся проблемы.
Что делать? Пошаговая инструкция
Веб студия «WM» готова взять на себя организацию бизнес-процессов вашей компании. Одни из важных услуг, которые предлагает наша организация, это:
Бизнес-процесс «Взаимодействие с потребителем» на реальном примереВыделим основные этапы, имея в виду, что каждый случай имеет свои особенности и более конкретные шаги. Каким образом в вашей организации обрабатываются заявки клиентов?
Чем подробнее вы составите структуру и описание бизнес-процесса взаимодействия с потребителем, тем больше шансов на успех у вас появится, и тем лояльнее будет клиент. Следовательно, вероятность повторных продаж, прибыль и шанс на дальнейший рост вашей компании увеличатся. Примерное описание данного бизнес-процесса
Второстепенные бизнес-процессыИх важность заключается в помощи оперативного роста организации, без утраты правильного учета управления и финансирования. Если компания решила строить полноценный маркетинг в интернете, то практически ни одна из веб-студий, специализирующихся на разработке сайтов и входящих в ТОП-100, с высокой долей вероятности им в этом не поможет. И произойдет это не потому, что эти веб-студии не умеют делать технологичные сайты (разумеется, это не так), а потому что процесс, по которому они эти сайты продают и производят, в корне отличается от необходимого для бизнеса. Существуют 2 истины, которые на российском рынке не понимают: 1.
Сайт – это маркетинговый процесс, а не продукт, который появляется после нескольких месяцев напряженной работы веб-студии. Безусловно, технические навыки при разработке сайта очень важны. Но представим, что вы взяли 10 одинаково подкованных технически веб-студий (при текущем их количестве на рынке более 1000 – это не проблема) и попросили их помочь с развитием вашего бизнеса. То есть поставили перед ними спектр маркетинговых целей и задач. Все они сразу же сфокусируются на базовом маркетинге (спросят про ваш бизнес, аудиторию, попросят заполнить бриф) и технических аспектах: прототипы, поэтапная разработка, последний язык верстки, современный дизайн. Чтобы вы поняли, насколько сложные задачи могут стоять перед клиентом, приведу пример целей лишь верхнего уровня (каждая из таких целей дробится еще на 3-5-7 подцелей) по одному из наших проектов: Понятно, что одной лишь разработкой сайта, какой бы высококлассной она не была, все эти цели не закрыть. Вот здесь мы и подобрались к тому, что сайт – это лишь часть (обычно – не самая крупная) маркетингового процесса вашей компании. Важно понимать, что срок окупаемости правильного сайта-процесса – около 8-12 месяцев. Окупить дешевый сайт несколькими заказами через интернет – действительно не проблема. Но будет ли такой сайт осуществлять долгосрочный (!) прирост продаж и достигать еще каких-то целей бизнеса, кроме прямых продаж? Сайт – это двусторонний маркетинговый процессСайт – это маркетинговый процесс, протекающий, с одной стороны, внутри компании, а с другой, в интернете. Он реализует вышестоящую маркетинговую стратегию компании (в которую входят все необходимые данные о брендинге, если он есть, целях и задачах, ограничениях и так далее) и связан электронными средствами и каналами с бизнесом. Причем как из бизнеса на сайт, что очевидно, так и с сайта в бизнес, что уже не так тривиально. Проще всего понять принцип работы сайта можно на примере фотосинтеза. Получая питательные вещества от дерева, лист растет и развивается. Причем форма этого листа у каждого дерева своя. Когда лист вырастает, он начинает получать энергию солнца и углекислый газ, отдавая в окружающее пространство кислород, а дереву – глюкозу. Получается, что лист улучшает окружающую среду и питает дерево одновременно. Замените дерево на компанию, окружающую среду на рынок, а лист – на сайт. Важно не путать маркетинговый процесс, в котором участвует сайт в бизнесе, с процессом разработки сайта. Очень многие веб-студии подменяют эти понятия, выдавая гибкую методологию разработки (agile-подход) за маркетинг, хотя на самом деле к маркетинговому процессу компании это почти не имеет отношения. Сайт – это постоянно меняющийся, адаптирующийся инструментарий. Давайте детальнее разбираться, как конкретно построить такой процесс. Как разработать сайт: что для этого нужно, сколько времени занимает, сколько стоит и какие самые частые ошибки допускаютМы с вами уже разобрались, что такого продукта/решения, как веб-сайт, не существует в природе. Буклет – это продукт, визитка – продукт, баннер – продукт, иллюстрация – тоже продукт. А сайт – это маркетинговый процесс. Что же нужно, чтоб этот процесс создать, выстроить, развивать и поддерживать? Как и любой процесс, разработка сайта имеет вход (с начальными условиями), выход (с прогнозируемыми результатами) и управляющего процессом (ответственного). Между входом и выходом отрабатывается алгоритм конкретного процесса (разовый или циклический). От того, что подать на вход, как отработает ответственный (студия/агентство) и что ожидаем/получаем на выходе, зависит «выхлоп» для бизнеса. Давайте посмотрим, как процесс разработки сайта выглядит с разных сторон. Для клиентаСайт — это товар типа автомобиля, на котором поедут в светлое будущее.
Для клиента выглядит все максимально понятно, четко и достаточно формализовано: все этапы на своих местах, учтены пожелания и нюансы заказчика. Разумеется, этот процесс даже отдалённо ничего общего с реальностью не имеет. Так обычно описывается бизнес-процесс и алгоритм разработки сайта практически любой веб-студией или интернет-агентством (которые разбираются в вопросе): Для веб-студии или интернет-агентства
Тут важно отметить: если вы собираетесь работать с агентством/студией по созданию сайта, а вышеуказанный процесс не соответствует тому, что предлагает студия (какие-то этапы отсутствуют), будет лучше сменить подрядчика. Каким процесс должен быть на самом деле (каким мы его видим и делаем у себя в «Комплето»)
Хотите получить предложение от нас? Начать сотрудничествоСколько часов и рублей нужно потратить на сайт?Если говорить о том, как мы в «Комплето» подходим к разработке сайта, как уже было многократно сказано выше, – это процесс, разбитый на маркетинговые этапы. Обычно отладить качественный процесс под названием «веб-сайт» меньше, чем за 800-1000 часов не удаётся (если бизнес ставит действительно сложные задачи). На следующем рисунке приведен пример реального расчета разработки сайта, который занял около 2000 часов. Интересно то, что, например, копирайтинг и наполнение сайта информацией занимают в сумме почти в 3 раза больше времени, чем программирование. Этот аспект очень часто проходит мимо веб-студий и их клиентов. Именно поэтому часто сайт является не маркетинговым инструментом, решающим задачи бизнеса, а представляет собой «парад технологий». Что важнее в сайте – технологии или маркетинг?Сегодня практически все веб-студии акцентируют внимание на том, что они разрабатывают сайт по гибкой методологии. Сама работа может строиться по гибкой методологии (сначала сделать каркас, потом постепенно доделать к нему детали итерациями) или же единым списком по ТЗ (водопадом). Как ни удивительно, это не так важно, поскольку процесс все равно ошибочный и в корне неверный (именно в корне, а не в нюансах). Веб-студии пытаются притянуть клиентов и рынок к своему внутреннему технологическому подходу: делать поэтапно, фиксировать риски, ограничивать функционал и позднее доделывать работу, на которую не хватает времени. Все это правильно, но работает только для создания хорошего продукта, а не для построения процесса (как мы видим на этапной схеме выше, какой бы подход к разработке не применялся, качественного сайта вам не получить: отсутствуют важные этапа самого процесса). Если вы сделали по гибкой методологии сайт с красивыми прототипами (интерактивными, как модно сейчас), с художественным заданием, вам его красиво упаковали в презентацию, сверстали на HTML5 на суперсистеме управления, но при этом не раскопали по кирпичикам аудитории, не продумали структуру сайта под спрос и особенности поисковых систем, не настроили аналитику, а после его запуска вся поддержка свелась к постингу новостей и наполнению текстом разделов о компании и услугах – вы уже проиграли. Сайт для вас – мертвый груз, а не маркетинговый процесс компании. И неважно, насколько эффективно вы сделали этот сайт. Поймите правильно, если мы говорим про некое веб-приложение для внутренних нужд компании (например, личный кабинет для заказа запчастей) – то это бизнес-приложение, и его разработка должна быть заточена под продукт: скорость, четкость, версионность, конкретный функционал. Маркетинга минимум: скорее соответствие четкому заранее определённому бизнес-процессу и заданию. Роль юзабилити минимальна (если интерфейс не будет идеальным – в России это спокойно стерпят, так как до этого работали в Excel или Блокноте). Сайт же – совсем другое дело. Как правило, реальных инноваций в самом современном сайте – 5%, остальное – маркетинг, аналитика, подстройка под процессы бизнеса, связка с учетными системами и телефонией. Это как красить дом с помощью профессиональной команды маляров классной краской, но не в тот цвет. Вроде бы все эффективно, быстро, четко, красиво, но делаем вообще не то, что нужно было для первоначальных целей. Именно из-за такого ошибочного подхода и происходят провалы развития бизнеса у клиентов. Имеем технологичный сайт, который не встроен в маркетинговую стратегию компании – и достигаем только часть её целей. Получается, чтобы запустить процесс под названием «Сайт», необходимо пройти все описанные мной выше шаги (процесс у «Комплето»), потратить 1500-2000 часов и привлечь в разное время около 15 специалистов. И это на один сайт. Суть самого подхода предельно проста: сайт должно разрабатывать то агентство, которое потратит минимум 1.5-2 месяца на вникание в бизнес и маркетинг, исследует конкурентов, аудиторию, финансовые показатели. Затем необходимо не менее 3-4 месяцев на разработку первичной версии сайта (для старта процесса). То же самое агентство потом настроит аналитику на сайте и будет вести рекламу, а впоследствии – модифицировать и контентно поддерживать сайт. Только так это может работать на благо бизнеса. Причём дальнейшая поддержка и модернизация сайта на основе веб-аналитики, меняющихся реалий бизнеса и рынка, аудиторных групп, продуктовой линейки может проходить, только если агентство буквально живет с клиентом. Так, например, у нас аккаунты каждый день висят часами на телефоне и минимум раз в месяц проводят целый день у клиента в офисе. И так каждый год сотрудничества. Неудивительно, что даже за 6-8 месяцев после выхода первичной версии сайт может очень сильно измениться. Поддержка сайта – обязательное условие успехаПосле запуска сайта чаще всего возникают следующие проблемы: 1.
Сам клиент, получив сайт, начинает его заполнять информацией, баннерами, доделками, разрушая дизайн, верстку, гайдлайны. Контентная и техническая поддержка отличается от маркетинговой и аналитической поддержки сайта. Контентная поддержка также подразумевает полноценный процесс генерации инфоповодов вместе с клиентом, контентных идей и проектов, а также дальнейшую реализацию этого на сайте. Размещать на сайте предоставляемые клиентом материалы и больше ничего не делать – самый низкий уровень поддержки сайта из всех возможных. Недополученная прибыль и потери от сайта-продуктаВ качестве заключения предлагаю вам оценить потенциальные потери, которые вы можете понести, разрабатывая сайт по классическому веб-студийному сценарию – делая продукт вместо выстраивания маркетингового процесса. Возьмем пример реальной компании из области технического оборудования. Сайт-продукт (от типовой веб-студии). Реальный кейс из практики.
Сайт и каталог наполнили частью товаров, которые дал клиент. Потом «оказалось», что потенциальным клиентам этой компании нужно больше информации о товарах, чем было на сайте – информацию нужно собирать по частям из разных баз и систематизировать. Веб-аналитика не была настроена (просто поставлен счетчик). Структура сайта не была продумана, исходя из матрицы запросов и разных видов спроса: студия сделала обычный каталог объектов, а запросов было около 3 000 (десятки тысяч человек в месяц), спрос сформирован по-разному. То есть, продавать карточкой товара и описанием можно было лишь малой части аудитории. Остальным нужны специальные объяснения и убеждения. С текстовым наполнением сайта ситуация не лучше: студия наполнила сайт только на 1/100 (1%) от необходимого. Студия продала за 300 000 3d-тур по объектам. Когда настроили сквозную аналитику, оказалось, что никто им не пользуется, заказов оттуда не было в принципе. В проведенном нами маркетинговом исследовании было четко видно, что 3d тур вообще никому из ЦА не нужен. На сайте совершенно не был продуман путь покупателя. Как факт, нет связки сайта с email-маркетингом, ретаргетингом, не продуманы специальные зоны сайта под особые объекты. С таким сайтом компания проработала около полутора лет перед приходом к нам. Наши работы заняли около 9 месяцев со всеми исследованиями. В итоге около 2,5 лет компания реально потеряла, а конкурентов уже не догнать. Сайт стоимостью в 750 000 рублей обошёлся компании за полтора года в 75 000 000 рублей реально недополученной прибыли. Мы сделали новый сайт – и отказы снизились в 3 раза, конверсия возросла в 8 раз по отдельным товарным группам, улучшились внутренние процессы заказа продукции. И мы не учитываем, что за это время конкуренты развивались и часть из них очень неплохо поработала в интернете – догнать их теперь будет очень сложно. Придется оперативно выделять бюджеты, а это сразу большие суммы денег в короткий период. Думайте, прежде чем делать. Делайте с умом. Плотно займитесь контент-маркетингом на сайте. После окончания работы сразу же собирайте аналитику и улучшайте сайт по результатам пилотных рекламных кампаний. Чек-лист. Как превратить веб-сайт из продукта-обузы в эффективный маркетинговый процесс В заключение – пара слов о системе электронного маркетинга и роли сайта в ней. С 2011 года мы активно обучаем российский рынок маркетинга и рекламы в интернете. Именно благодаря нам в обиход в России вошли понятия «системный подход» и «системный электронный маркетинг». Само слово «системный» по отношению к активностям в интернете внедрили в России именно мы. Подавляющему большинству компаний в России необходимо не давать рекламу в сеть и не делать сайт, а построить фундаментальную систему маркетинга у себя в компании, прежде чем двигаться в интернет, а всю интернет-активность связать электронными системами (1С, CRM, телефония, системы контроля и отчетности) с бизнесом. (Visited 22 195 times, 1 visits today) Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную нижеСтуденты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны. Подобные документыАрхитектура интегрированных информационных систем ARIS как методология моделирования бизнес-процессов, преимущества и недостатки использования. Выбор бизнес-процесса для моделирования и его содержательное описание, табличный формат его описания. курсовая работа , добавлен 19.06.2015 Описание общих закономерностей функционирования организации. Изучение структуры предприятия, определение функций его подразделений и основных бизнес процессов. Разработка клиент-серверной системы по автоматизации получения и обработки заявок от абонентов. курсовая работа , добавлен 02.10.2011 Описание бизнес-процессов транспортной компании ООО "Сильные машины". Построение модели "AS-IS" использования действующей информационной системы при работе с заявкой заказчика. Расчет совокупных доходов от владения выбранной информационной системой. дипломная работа , добавлен 09.06.2017 Оптимизация процессов с помощью подхода Мартина. Проблемы недостаточной эффективности в работе. Автоматизация процесса сверки сведений из электронных документов. Распределение функций по подразделениям и сотрудникам. Ускорение выполнения ручных операций. дипломная работа , добавлен 10.12.2013 Организационная структура туристической компании и функциональные ее обязанности подразделений. Анализ технико-экономических показателей ООО "Югрос Консалтинг". Проектирование автоматизации бизнес-процессов предприятия на платформе 1С: Предприятие 8.2. курсовая работа , добавлен 04.06.2015 Характеристика и организационная структура компании. Описание ее бизнес-процессов. Разработка модели организации различных видов работ, осуществляемых в магазине при помощи BPWin. Ее стоимостной анализ. Построение логической диаграммы процессов в ERWin. курсовая работа , добавлен 11.04.2015 Моделирование бизнес-процессов как средство поиска путей оптимизации деятельности компании. Методология SADT (структурный анализ и проектирование), семейство стандартов IDEF и алгоритмические языки в основе методологий моделирования бизнес-процессов. реферат , добавлен 14.12.2011 Моделирование экономико-математической программы развития агрофирмы. Анализ бизнес-процессов, выработка рекомендаций по их изменению. Определение перспективных направлений автоматизации компании. Описание организационной структуры современной фирмы. дипломная работа , добавлен 10.07.2015 Мы быстро поняли, делать простые сайты - невыгодно. Конкуренция возрастала, рынок наводнялся небольшими компаниями. Всё это привело к снижению цен на проекты и падению прибыльности бизнеса. Заказчики становились квалифицированнее. Запросы на создание сайтов дополнялись требованиями «привязать» их к той или иной информационной системе. Со сложными задачами мало кто рисковал связываться. Для системных интеграторов такие проекты были слишком дёшевы, а для веб-студий чересчур сложны. Наша Студия всегда располагалась в российской «силиконовой долине» - Зеленограде. У нас были сильные программисты, а значит мы могли легко получать и выполнять такие заказы. Было решёно - это наш шанс! Так мы превратились из обычной студии в специалистов, обеспечивающих слаженную работу сайта с несколькими информационными системами - веб-интеграторов. Какая гадость эта ваша веб-интеграцияОбеспечить обмен данными между двумя системами несложно. Но наши первые несколько лет работы в новом качестве были болезненными и обошлись недёшево. Вместо ожидаемых прибылей мы раз за разом теряли деньги, натыкаясь на всё новые сложности, которым наш технический директор дал кодовое названием «подводные камни». Мы не сдавались, и, словно мышки из анекдота, «кололись, плакали, но упорно продолжали грызть кактус». Перед тем как приступитьПрежде чем рассказать о процессах, договоримся о терминологии этой статьи. Для нас, программистов, любая разработка несложных сайтов сводится к такой модели: Когда нужно создать не просто веб-сайт, а целую систему, где помимо БД сайта задействованы ещё и кассовый аппарат с кассиром, продающим билеты в театр, складская система, предоставляющая сведения об остатках товаров, или платёжный сервис, отвечающий за процессинг банковских карт, мы используем понятие «третья сторона». Третья сторона - это информационная система, находящаяся за пределами серверной или дата-центра, призванная подключить к нашей бизнес-логике дополнительные ресурсы. Например, SMS-сервис, отправляющий короткие сообщения на телефон пользователя или система резервирования товара на складе поставщика. С появлением третьей стороны процесс усложняется, и мы применяем этот алгоритм для экономии времени и денег при работе над интегрированным проектом. Шаг 1. Цели и задачиПервым делом нужно на простом языке договориться о том, что мы хотим в конце концов получить. Заказчик ожидает от интеграции конкретный результат. Автоматизация ради красоты системы редко кого интересует. Попытка сформулировать цели и ожидания письменно - лучший способ убедиться, что результаты одинаково понимаются всеми участниками рабочего процесса. Мы часто сталкиваемся с такой формулировкой: Типичный пример: Сайт должен быть интегрирован с билетной системой ProfTicket. и стараемся в таких случаях добиться большей однозначности формулировки: Хороший пример: Покупатели должны иметь возможность выбрать свободные места в зале, оплатить билеты и получить их по электронной почте в офисах продаж или с помощью курьерской доставки. Информация о наличии мест для продажи на конкретные сеансы предоставляется билетной системой ProfTicket. Такая формулировка сама по себе содержит ряд вопросов, которые иначе могли бы затеряться и всплыть в самый неподходящий момент. Шаг 2. Бизнес-процессы и протокол взаимодействияТеперь нужно решить, как системы должны взаимодействовать для выполнения той или иной задачи. Продолжим строить аналогии с билетной системой. Кстати, речь идет о совершенно реальном проекте: в 2013 году мы помогли компании «Дилявер» открыть сервис заказа билетов ShowMart.Ru . Для выполнения бронирования билета необходимо ответить на несколько вопросов:
Любое взаимодействие между системами сводится к структуре «запрос - ответ». Запрос отправляет сторона, которой необходимо получить данные (клиент), а ответ - сторона, у которой эти данные есть (сервер). Чем проще и однозначнее будет такая схема, тем лучше. Как минимум, необходимо убедиться в том, что на один запрос отвечает только одна из систем и системы не дублируют друг друга. Например, информация о цене на билеты хранится только в одной из них. В какой-то момент нам нужно будет «попросить» одну из систем зарезервировать билеты - проставить отметку, не позволяющую продать эти билеты повторно другому покупателю, а после оформления покупки одна из систем должна будет отправить покупателю письмо-уведомление. Поэтому иногда требуется взаимодействие не на уровне «запрос - ответ», а по формуле «запрос - действие». Процесс взаимодействия сторон Теперь нам остаётся только зафиксировать, за какие запросы и ответы ответственна каждая из систем. А также указать перечь всех возможных ошибок. Шаг 3. Регламент принятия решений и медиаторыДаже в самом простом проекте веб-интеграции принимают участие как минимум три стороны:
Не будем углубляться в причины и анализ происходящего. Просто зафиксируем как факт: возникновение конфликтов интересов между владельцами двух систем неизбежны. Сложность ситуации зависит от числа участников и уровня их квалификации. Важно подумать о том, как будут разрешаться спорные ситуации до того, как они появятся. Это непростая тема, но необходимо договориться хотя бы о фундаментальных моментах, например:
На первый взгляд кажется, что ответ на последний вопрос очевиден: заказчик - кому же еще принимать окончательные решения? Однако, это не всегда так. Интеграционные проекты предъявляют высокие требования к техническим знаниям ответственного за решения. Поэтому иногда пальма первенства отдается одному из участников интеграционного процесса, или привлекается независимый эксперт, чей авторитет признается владельцами обеих систем. Шаг 4. Стандарт и формат обмена даннымиТеперь необходимо договориться о том, на основе какого стандарта и каким способом мы будем осуществлять обмен данными между системами. В большинстве случаев выбор протокола обусловлен количеством данных и частотой их передачи. Рассказ пойдет о тех протоколах, с которыми мы чаще всего сталкиваемся в своей работе. SOAPSOAP расшифровывается, как Simple Object Access Protocol. Если дословно переводить с английского, то получится «Простой Протокол Доступа к Объектам». Этот протокол действительно является одним из самых простых и часто используемых при построении веб-проектов. SOAP представляет собой протокол обмена структурированными XML-сообщениями. Для того чтобы системы использовали единый регламент построения запросов и ответов, используются файлы c описанием такого регламента, составленным на основе стандарта WSDL (от англ. Web Service Description Language - Язык Описания Веб-Сервисов). SOAP является расширением протокола XML-RPC, и это большой плюс протокола. XML широко распространен, и с форматом XML-Schema хотя бы поверхностно знакомо огромное число специалистов. Этот же факт является и самым большим минусом SOAP. XML - объёмный формат и с ростом количества данных, которыми обмениваются системы, растет количество передаваемого трафика. С ростом последнего увеличивается время, необходимое на обработку запросов и формирование ответов на них. Всё это делает связку WSDL/SOAP практически непригодной для использования в системах с огромными объёмами плохо структурированных данных - в так называемых Big Data-системах. SOAP станет отличным выбором, например, для решения задач интеграции интернет-магазина с небольшим ассортиментом со складской системой 1С. В её стандартной поставке предусмотрена поддержка этого протокола, и всё, что останется сделать, подготовить WSDL-описания. RESTREST (расшифровка аббревиатуры в данном случае нам ничего не даст, поэтому мы ей пренебрежем) - это протокол вызова удаленной процедуры с помощью обычного HTTP-запроса. Да-да, с помощью тех самых методов GET и POST из учебников Тима О’Райли. За каждый метод в REST отвечает не отдельно взятая запись в файле WSDL, а URL. К примеру, метод для получения сведений о пользователе будет иметь вид - http://example.com/rest/user. А метод создания нового пользователя - http://example.com/rest/user/create. Для передачи параметров в REST можно использовать тело запроса, а для описания ошибок - статусные заголовки HTTP. Всё максимально просто и не требует использования дополнительных протоколов. REST гораздо примитивнее SOAP. Именно это делает его отличным выбором, когда нужно обмениваться большим объёмом данных и делать это часто. REST не диктует, в каком формате передавать запросы. А значит для этих целей можно использовать JSON (текстовый формат обмена данными) - самый компактный формат обмена структур в текстовом представлении. Его использование практически полностью решает проблему объёма данных. ВЕЛОСИПЕДИногда приходится использовать комбинации нескольких методов и протоколов взаимодействия. В 1С есть собственный формат CommerceML - XML для передачи коммерческой информации, чаще всего таким способом передаются каталоги товаров. Этот формат разработан специалистами фирм 1С и Extra.RU. Им помогали друзья из московского офиса Microsoft. По этой причине формат не предусматривает многих вариантов использования, и «чистого» CommerceML часто не хватает. Это приводит к необходимости дополнения его специальным функционалом. Иногда у клиента нет выделенного внешнего сервера для взаимодействия. Тогда мы заводим отдельную папку прямо на сервере хостинга для того, чтобы 1С выгружала туда свои файлы. Там они распознаются нашими скриптами по расписанию. В случаях когда нужно постоянно поддерживать данные в актуальном состоянии, мы можем связать Rest API и передачу XML вместе. Тогда 1С будет отправлять XML напрямую на сервер, используя стандартные POST-запросы. Шаг 5. Безопасность данныхЧаще всего там, где возникает необходимость в интеграции, есть объекты коммерческой тайны или персональные данные. Работа с ними после недавних изменений в законодательстве теперь заслуживает отдельной статьи. Никто не хочет, чтобы клиентская база или сведения о дневной выручке «утекли» к конкурентам. Поэтому важно подумать об обеспечении достаточного уровня безопасности данных, которыми обмениваются системы. Вариантов защиты много. Мы рассмотрим только некоторые из них. HTTPSПротокол HTTP - самый распространенный и самый незащищенный. Данные по нему передаются в незашифрованном виде. HTTPS - это разновидность http-протокола, поддерживающая шифрование с использованием сертификатов SSL или TCL. Сертификаты - это алгоритм, по которому будет происходить шифрование данных. Об этом алгоритме знают только передающая и принимающая стороны в момент передачи данных. SSL-сертификаты могут поставляться самим сервером, но тогда они будут считаться недоверенными, и браузеры могут выдавать пугающие пользователя картинки. Окно предупреждения пользователя о недостоверном соединении Для того чтобы сертификат считался доверенным, его необходимо заказывать у организации, занимающейся сертификацией - центра сертификации. Таких учреждений много. Работая над проектами европейских заказчиков, мы предпочитаем пользоваться услугами одного из двух крупнейших игроков на рынке SSL-сертификации - Thawte или Verisign. В России работаем с Ру-центром. Их значки можно часто видеть на сайтах, где подразумевается оплата или работа с персональными данными. HTTP-Basic авторизацияВторым методом обеспечения защиты является способ, при котором две системы «представляются» друг другу с помощью пары «логин - пароль» до того, как начать обмениваться данными. Такой метод называется «HTTP-basic авторизация». Чтобы злоумышленники не смогли перехватить пароли, «представляться» системам лучше в шифрованном виде, т.е. HTTP-basic авторизацию надо использовать совместно с SSL-шифрованием. Предоставление доступа по IP-адресуЕсли система не слишком сложна и у серверов взаимодействующих систем есть определенные и неизменные IP-адреса, можно предоставлять доступ к обмену данными только для этих IP-адресов. Этот вариант прост в реализации и поэтому широко распространен. Но иногда он приводит к внезапным проблемам с доступом. Шаг 6. Техническое заданиеУ вас могут быть превосходные отношения с заказчиком или его 1С-программистами, но «дружба дружбой, а табачок врозь». Мы настоятельно рекомендуем зафиксировать договоренности по всем описанным шагам письменно. Поучительный пример из собственного опыта: Нам предстояло сделать сложную интеграцию «1С:Предприятия» заказчика с используемым интернет-магазином. На встрече с 1С-программистами мы договорились о том, что они подготовят веб-сервисы на своей стороне, к которым веб-программисты Студии будут впоследствии обращаться. В процессе практической тесной работы, которая заняла не один месяц, 1С-программисты изменили свою точку зрения и приняли решения сделать для нас копию своей БД, реплицированную с главной и передать ее нам для того, чтобы мы «делали с ней все, что захотим». Это означало, что нам нужно было проделать дополнительный объем работ, ведь никаких веб-сервисов и внятной документации к ним не прилагалось. Так как мы не зафиксировали предыдущие договоренности, то столкнулись с ожесточенным нежеланием заказчика рассматривать увеличившиеся сроки и бюджет проекта. В приведённом примере нам повезло - 1С-программисты оказались ребятами порядочными и подтвердили перед своим руководством нашу правоту. Но повезет ли так же в следующий раз? Вы можете работать по гибким методологиям, использовать классический «водопад» или применять гибридную методику. Это не важно, также как и формат и объем ТЗ. Важно только то, что все договоренности должны быть так или иначе зафиксированы. Шаг 7. РеализацияВ непосредственном производстве работ по интеграции тоже есть несколько отличий от моноразработки. ЕДИНАЯ КОМАНДАЧтобы разработка шла как можно более гладко, избегайте деления на «ваших» и «наших». Наоборот, сделайте всё для формирования единой команды из разработчиков внешней информационной системы и ваших программистов. Стремитесь к созданию единой дружной команды, пусть и собравшейся только на время проекта. Вы сэкономите уйму сил и времени, если все участники процесса будут заинтересованы в нахождении эффективного решения, а не в том, чтобы спихнуть вину или работу на программиста другой компании. Кроме этого, на устранение разницы в квалификации специалистов и используемых методологий разработки потребуется дополнительное время. Это тоже стоит учесть при расчете времени и бюджета проекта. ТЕСТИРОВАНИЕ НА ВХОДЕРаботая с третьей стороной, придется заниматься тестированием не только «на выходе», но и «на входе». Пример из собственной практики: программист CRM-системы отчитался, что веб-сервис, необходимый для выполнения работы завершен. Руководитель проекта сформировал задачу веб-программисту и выставил ее, сопроводив ссылкой на этот веб-сервис. На следующий день веб-программист в точном соответствии с графиком приступил к выполнению задачи и столкнулся с тем, что веб-сервис не работает. Задача возвращается CRM-программисту. Время веб-программиста, руководителя проекта и деньги заказчика потрачены впустую. Все снова ждут готовности нужного веб-сервиса. Раньше всё зависело только от вашей команды, и сформулированная задача сразу выставлялась программисту. Теперь же придётся сначала убедиться в том, что компоненты для решения задачи, выполненные третьей стороной, действительно работают. ПОКРЫТИЕ ТЕСТАМИТребования будут меняться со скоростью света, владельцы внешней информационной системы могут изменить веб-сервисы и API без предупреждений. Сменится состав ваших собственных веб-программистов, или может случиться так, что, написав новый функционал, разработчики своими действиями, сломают то, что до этого замечательно работало. Одно лечим, другое калечим. Чем быстрее обнаружится, в каком месте системы и что именно «полетело», тем меньшими будут затраты на её поддержку, и тем выше будет прибыль. Поэтому не экономьте на покрытии кода тестами. В случае веб-интеграции процент покрытия кода тестами должен быть как можно более высоким. Шаг 8. ОтказоустойчивостьИнтеграцией систем занимаются для снижения временных и финансовых затрат на выполнение определенных бизнес-процессов. Веб-интеграция чаще характерна для развитого, стабильного и успешного бизнеса. Некоторые из проектов, выполненных нами, могут потерять от $35 000 до $70 000 в случае суточного простоя. Это заставляет дополнительно задумываться о мероприятиях повышения отказоустойчивости всей системы.
Шаг 9. Логирование и мониторингНе забудьте учесть в сроках и бюджете проекта затраты на создание системы логирования. Мы довольно долго набивали шишки в этом месте. Это объективный инструмент, с помощью которого можно будет восстановить хронологию событий, поможет не только сохранить нервы, но и защитит в случае судебных разбирательств. Поэтому готовую систему важно «обвешать» индикаторами и датчиками. В Студии мы стараемся сделать всё так, чтобы о выходе из строя сайта или его части узнавать не из телефонного разговора с разъярённым клиентом, а при помощи собственных систем мониторинга. Мы не станем подробно затрагивать этот процесс и, может быть, посвятим этому отдельную статью, но для тех, кто плохо знаком с этими темами, советуем начать с гугления терминов Pinba, Zabbix и Munin. Шаг 10. ДокументированиеДоговоритесь о том, в каком виде будет вестись проектная документация, и постарайтесь держать её в актуальном состоянии. Это поможет избежать ситуаций, когда для устранения неполадок приходится знакомиться со всем программным кодом. Если даже программист, изначально разработавший всё это, через полгода уже не вспомнит, что и как должно работать, стоит ли говорить о новых разработчиках? Совет самый простой по смыслу и самый сложный по соблюдению. Мы в Студии стараемся это делать примерно так:
Всё! Теперь ответственный время от времени делает выборочную или сплошную, это уже кому как нравится, проверку актуальности документов. Или не делает... и понимает, что может огрести за это в любой момент. ЗаключениеСтатья получилась большой и сложной. Но меньше всего хотелось отпугивать вас от веб-интеграции. Конечно, она требует опыта. Но опыта не бывает без практики. А практики не бывает без ошибок. Интеграция - это хороший способ повышения эффективности бизнес-процессов ваших заказчиков. Для веб-разработчиков это способ поднять стоимость и маржинальность собственных услуг. Да и что лукавить, в силу сложности процесса, конкуренция на этом рынке меньше, чем на рынке создания сайтов. Просьба: сейчас в Студии мы пытаемся понять, заинтересованы ли вы в прочтении подобных статей? Чтобы сделать материал полезным и практичным, требуются очень большие усилия. На подготовку этой статьи ушло около 20 часов трёх специалистов. Наш арт-директор Саша Котов считает, что мы «маемся дурью», и это никто читать не будет:-) Поэтому если вы считаете эту работу полезной и думаете, что нам стоит продолжать в том же духе, пожалуйста, лайкните эту статью или поделитесь в соц.сетях. Так мы поймем, что пишем не в стол и получим мотивацию продолжать. |
Читайте: |
---|
Популярное:
Зодиак убийца. Кто он? Под какими знаками зодиака родилось больше всего серийных маньяков |
Новое
- Урок русского языка "мягкий знак после шипящих у существительных"
- Щедрое дерево (притча) Как придумать счастливый конец сказки щедрое дерево
- План-конспект урока по окружающему миру на тему "Когда наступит лето?
- Восточная Азия: страны, население, язык, религия, история Являясь противником лженаучных теорий деления человеческих рас на низшие и высшие, он доказал справед
- Классификация категорий годности к военной службе
- Неправильный прикус и армия Неправильный прикус не берут в армию
- К чему снится умершая мама живой: толкования сонников
- Под какими знаками зодиака рождаются в апреле
- К чему снится шторм на море волны
- Учет расчетов с бюджетом