Как мы создали продвинутый интернет-банк за 5 месяцев Anton Keks, 17 Dec 2012. Продвижение интернет банка
Научная статья на тему “Современные способы продвижения банковских услуг в интернете”
Ключевые слова: услуги, продвижение, интернет, банк, реклама.
Современные рыночные отношения диктуют свои условия ведения бизнеса. Как сказал Билл Гейтс в своей книге «Бизнес со скоростью мысли»: «В будущем на рынке останется два вида компаний: те, кто в Интернете и те, кто вышел из бизнеса»[1]. Данная тенденция затронула и банковскую сферу. Огромное количество проектов и программ реализуются с использованием всемирной паутины, но не-смотря на огромные возможности интернета в плане привлечения новых клиентов, большинство банков или вообще не используют данные инструменты и методы, или используют их недостаточно эффективно.
Любые стратегии продвижения услуг должны на чем-то базироваться. Необходимая база будет отличаться в зависимости от способа продвижения и поставленных целей [2]. В рамках данной статьи остановимся на следующих элементах, являющихся наиболее значимыми и эффективными:
1. Лендинг («целевая страница») – это отдельная страница сайта или, в некоторых случаях, несколько страниц, основная цель которых заключается в убеждении пользователя совершить какое-либо действие [3].
2. Группа или страница в социальных сетях. Необходимо для оперативной связи с потенциальными клиентами посредством предоставления информации.
3. Официальный сайт. Служит основным источником информации для клиентов. Если лендинг «не зацепил» потенциального клиента, с помощью официального сайта он может найти другие услуги и предложения, которые смогут его привлечь.
Нужна помощь в написании?
Далее рассмотрим непосредственно способы продвижения.
1. SEO (Search Engine Optimization). Первый и ключевой способ продвижения банковских продуктов – это оптимизация страниц под поисковые системы. Данный способ позволяет получать заинтересованных потенциальных клиентов, которые с большой долей вероятности закажут банковские услуги. Принцип работы данного способа показан на рисунке 1.
Рис. 1. Принцип работы метода SEO
Системный подход к данному методу позволяет добиваться отличных результатов, используя минимальное количество денежных средств [4]. Пользователь сам ищет нужную ему услугу и получает отличное предложение.
2. Контекстная реклама. Данный метод похож на предыдущий за исключением одного факта – страницы продвигаются не за счет внутренних и внешних факторов, а за счет рекламы.
В поисковой выдаче до страниц топа выводят блоки рекламы. Как правило, это 2-3 ссылки, которые также отвечают на вопросы пользователя.
Помимо поисковой выдачи, контекстная реклама может выводится на страницах сайтов-партнеров поисковой системы. Например, такая реклама может содержаться на странице с текстом сравнения предложений различных банков. Клиент прочитает информацию и сможет тут же перейти по рекламе на нужный сайт, а затем заказать услугу. Главный минус данного метода – высокая стоимость, особенно в конкурентных нишах.
3. Использование партнерских программ. Данный метод открывает группу новейших способов продвижения банковских услуг в интернете. Поскольку они появились относительно недавно, конкуренция в данной сфере находится на низком уровне, а значит, есть возможность эффективно привлечь новых клиентов.
Суть партнерских программ заключается в том, что продвигать услуги будет не сам банк, а партнер, используя базу компании. Банк может работать с партнерами напрямую или сотрудничать с аффилиатами (посредниками). Стандартная схема применения партнерских программ представлена на рисунке 2.
Рис. 2. Схема метода использования партнерских программ в продвижении банковских услуг
Банк обращается в аффилиат или напрямую к партнерам с предложением. Если в цепочке участвует аффилиат, то он на основе своего сервиса создает предложение, которое видят партнеры. Можно выставить ограничения, например, только для тех, кто специализируется на финансовых предложениях или сделать предложение доступным каждому. За каждую совершенную операцию аффилиат получает определенный процент.
Далее партнер принимает предложение и начинает использовать различные виды продвижения услуг. Клиент попадает сначала на сайт к партнеру, а затем к банку, где фиксируется переход, а также ведется статистика. Статистика передается аффилиату, а аффилиат уже выплачивает деньги партнерам.
Нужна помощь в написании?
В настоящее время прослеживаются следующие тенденции развития данных методик:
1. Постепенное сужение сегментов. Потребности потенциальных клиентов становятся все более специфическими. Для их полного удовлетворения необходимо проводить тщательный мониторинг и анализ, а также предоставлять актуальную информацию. Для каждого запроса должна быть предоставлена максимально исчерпывающая, полезная и актуальная информация. Это обеспечит очень сильное конкурентное преимущество.
2. Усиление взаимодействий. Живое воздействие сотрудников банка на потенциальных клиентов оказывает самое сильное влияние. Зачастую бывает, что клиент просто не понимает предложение банка, поэтому отказывается от него или откладывать срок принятия решения. Живое общение позволяет решить ряд задач. Однако не каждая компания может позволить себе держать штат сотрудников, связанных с этими задачами.
3. Увеличение интерактивности и минималистичность. Данная область интернет-маркетинга становится как никогда актуальной. В интернете пользователи принимают решение гораздо быстрее. Если предложение не смогло их быстро зацепить, они просто закроют окно. Поэтому важно доносить информацию максимально доступно, просто, коротко и интересно. С этой задачей отлично справляются различные медиафайлы, а также образно-наглядные формы контента [5].
Продвижение банковских услуг в интернете будет максимально эффективным только в случае использовании системного подхода. Все способы исходят из сильной взаимосвязи всех элементов. Специалист банка по продвижению услуг в интернете должен обладать глубоким познанием всей сферы, чтобы обеспечить максимальную эффективность работы всей системы. Помимо этого, необходимо базироваться на потребностях клиентов. Все рассмотренные способы можно условно назвать инструментами интернет-маркетинга, а маркетинг, особенно современный, предполагает максимально полное удовлетворение потребностей. Для этих целей необходимо проводить тщательное сегментирование, благо инструменты предполагают такую возможность.
Список использованных источников
1. Гейтс Б. Бизнес со скоростью мысли. / Б. Гейтс. – изд. 2-е, исп. – М: ЭКСМО-Пресс. – 2001 г. – 480 с. – ISBN 5-04-006117-X2. Ермолова Н. Продвижение бизнеса в социальных сетях / Н. Ермолова. – Москва: Альпина Диджитал. – 2013 г. – ISBN 978-5-9614-2280-13. Живенков К. Эффективная реклама в Яндекс.Директ / К. Живенков. – Москва: Манн, Ива-нов и Фербер. – 2015 г. – ISBN 978-5-00057-604-54. Рэбхэн Б. От кликов к продажам / Б. Рэбхэн. – Москва: Манн, Иванов и Фербер. – 2014 г. – ISBN 978-5-00057-205-45. Развитие электронных банковских услуг. Резник И.А. автореферат диссертации на соискание ученой степени кандидата экономических наук / Санкт-Петербургский университет экономики и финансов. Санкт-Петербург, 2008
nauchniestati.ru
Новая реальность Лето 2011 ДЕМО-ВЕРСИЯ Авторы отчета: Олег Жуков, директор по аналитическим исследованиям Илья Михеев, старший аналитик Татьяна Савченко, аналитик СодержаниеСодержание 2Перечень диаграмм, гистограмм, графиков и таблиц 4 Резюме 5 Упоминаемость банковских брендов в Интернете 5 Банки и потребители: различия офлайна и онлайна 5 Мировые тренды банковского маркетинга 5 Мобильный и интернет-банкинг 5 Интернет-сайты зарубежных банков 6 Интернет-маркетинг зарубежной банковской розницы 6 Зарубежные потребители банковских услуг 6 «Герой дня» 6 Репутация банков в Интернете 7 Общие данные 7 Упоминаемость банков 8 Упоминания по источникам 9 Упоминание услуг и свойств банков 10 Наиболее обсуждаемые услуги: ТОП-20 банков 10 Потребители банковских услуг: онлайн и офлайн 12 Портрет потребителей банковских услуг 12 Предпочтение российских пользователей по типу банковских продуктов 13 Предпочтения российских пользователей по бренду банка 14 Посещаемость сайта банка и знание бренда 14 Факторы, определяющие выбор банка россиянами 15 Источники информации, влияющие на выбор банковских услуг российскими потребителями 16 Интернет-банкинг за рубежом: лидирующий канал 16 Мобильный банкинг за рубежом: будущее не за горами 17 Примеры продвижение банков за рубежом: сегментация 17 Bank of America – Morris on campus 17 Поведение зарубежной аудитории 18 Никакой лояльности 18 Алчность банков усугубляет ситуацию в отрасли 18 Герой дня: Wells Fargo 18 Анонс: «Банки и Интернет: Новая реальность», осень 2011 19 Перечень диаграмм, гистограмм, графиков и таблицКрибрум, июнь-август 2011 19Банки и потребители: различия офлайна и онлайна 19 Продвижение российских банков в Интернете 19 Сайты российских банков 19 Интернет-сайты зарубежных банков 19 Интернет-маркетинг зарубежной банковской розницы 19 «Герой дня» 19 РезюмеКомпания Ашманов и партнеры в информационном партнерстве с банковским порталом Banki.ru запускает регулярное (ежеквартальное) аналитическое исследование «Банки и Интернет: Новая реальность», цель которого – описать и проанализировать основные тренды развития банковского сектора, формирующиеся под влиянием распространения Интернета и мобильных технологий.Упоминаемость банковских брендов в Интернете«Репутация банков в Интернете» - регулярный мониторинг информационного пространства Рунета с помощью системы Крибрум, осуществляемый компанией Ашманов и партнеры, целью которого является анализ упоминаемости основных банковских брендов, оценка отношения интернет-аудитории к конкретным брендам и банковским продуктам.Банки и потребители: различия офлайна и онлайнаУже очевидно, что интернет-аудитория потребляет банковские продукты совершенно по-другому, чем люди, которые не пользуются Интернетом. Раздел посвящен особенностям поведения первой и второй группы россиян, а также связи между узнаваемостью бренда банка и посещаемостью его сайта.Мировые тренды банковского маркетингаРозничная банковская индустрия претерпевает заметные изменения, в данном разделе вкратце перечислены основные тренды, свойственные развитым рынкам и оказывающие наибольшее влияние на модель взаимодействия «банк-клиент».Мобильный и интернет-банкингИнтернет-маркетинг зарубежной банковской розницыРаздел содержит примеры продвижения зарубежных банков на определенные сегменты потенциальных клиентов в Интернете с использованием различных каналов, проведен анализ такого рода кампаний.Зарубежные потребители банковских услугВ разделе описаны актуальные особенности поведения потребителей банковских услуг на примере развитого рынка (США): тенденции изменения отношения к банкам, основные факторы принятия решений и т.д.«Герой дня»Рассмотрен один из флагманов розничного финансового рынка США – банк Wells Fargo: приёмы интернет-маркетинга, параметры аудитории, примеры позиционирования продуктов, проведен подробный аудит сайта. Редкий финансовый институт такого масштаба может похвастаться не только многочисленными успехами в онлайне, но и безоговорочным признанием Интернета основным каналом маркетинговой стратегии.Репутация банков в ИнтернетеОбщие данныеИнтернет играет важную роль в формировании имиджа банка среди клиентов и потенциальных потребителей банковских услуг, являющихся активными пользователями Сети. Упоминания банка российскими интернет-пользователями: блогерами, СМИ, форумчанами, участниками социальных сетей или его сотрудниками, говорят о популярности того или иного бренда среди пользователей Рунета.Каждый из крупнейших российских банков с января по май 2011 года, в зависимости от известности своего бренда, упоминался пользователями Рунета от 110 до 55 000 раз. При этом, кроме положительных и негативных публикаций, отзывов или комментариев, часто встречались и нейтральные: зачастую, пресс-релизы или новости о значимых событиях, как для российской экономики в целом, так и для банковских клиентов в частности. В марте 2011 года произошел существенный всплеск обсуждения банковской темы. Более половины всех высказываний и материалов имели ярко-выраженную эмоциональную окраску. Среди ключевых тем в марте были (общие формулировки):
Упоминаемость банковКоличество упоминаний Сбербанка в Рунете превышает аналогичный показатель для занимающего второе место ВТБ почти в 3 раза.По доле негативных отзывов лидерами являются Балтийский банк (42%), Банк Петрокоммерц (37%), Национальный банк Траст (33%). Все эти банки не достаточно часто упоминаются пользователями Рунета: не более 600 упоминаний для каждого за пятимесячный период. Кстати, чем менее обсуждаем банк – тем меньше в Сети встречается о нем нейтральных отзывов: чаще интернет-пользователи говорят о возникновении конкретной проблемы или делятся радостью, реже - в нейтральных информационных постах. Балтийский Банк пользователи ругают за недостаток банкоматов, за сервис, за отдельные услуги: «Чем дальше, тем больше мне не нравиться Балтийский банк. Это ж надо такой геморрой с интернет-банкингом придумать! Ставить прогу для этого!», «Балтийский банк без уведомления ограничил суточные по моей карте. Ну, бред же! Зачем???» и др. Петрокоммерц ругают за интернет-банкинг: «Онлайн-сервисы Петрокоммерц банка - каменный век. Отличный пример, как доставить максимум трудностей клиенту». Одной из причин негативных упоминаний Национального банка Траст стал штраф за неправомерную рекламу. Половина всех упоминаний ТОП-55 банков встречается в блогах, комментариях к ним и микроблогах: пользователи делятся опытом, рассказывают о возникших проблемах и их решении, делятся мнением о том, что лучше выбрать и т.д.На социальные сети и тематические порталы приходится по 4% упоминаний банков в Интернете, 3% упоминаний банков ТОП-55 за электронными средствами массовой информации. Четверть упоминаний банковских брендов относится к иным площадкам: сайтам общей направленности, имеющим тематические разделы; иным сайтам, содержащим тематический банковский контент. ОТП Банк является абсолютным лидером по доле упоминаний в социальных медиа. Так, на долю форумов, блогов, комментариев и социальных сетей пришлось 87% всего количества упоминаний. Упоминание услуг и свойств банковСистема Крибрум позволяет ознакомиться с отношением аудитории к услугам тех или иных банков. Оценим наиболее распространенные из них: «Вклады» и «Кредиты».Программы вкладов банка УБРР вызывают у пользователей наибольшую долю положительных отзывов: около 26% всего объема отзывов является положительными. Всего 1% уступил лидеру Банк Санкт-Петербург. Кит-Финанс и Восточный Экспресс Банк являются аутсайдерами ТОП-50, тем не менее, в рейтинг не вошли банки с еще более низким уровнем положительных упоминаний. Балтийский Банк является неоспоримым «лидером» по негативному относительному отношению ко вкладам со стороны интернет-аудитории. Около 55% пользователей отзывается о данной услуге банка отрицательно. Рейтинг замыкает Русь-Банк с показателем 26%, большая часть высказываний о нем – нейтральны. Наиболее обсуждаемые услуги: ТОП-20 банковНаиболее обсуждаемыми в Интернете услугами банков ожидаемо являются: вклады, кредиты и пластиковые карты. Чуть реже пользователи упоминают ипотеку и инвестиции. К популярным темам для обсуждения также можно отнести call-центры, банкоматы, кредитование бизнеса и брокерские услуги.Потребители банковских услуг: онлайн и офлайнПортрет потребителей банковских услугПользователями банковских услуг в России являются три четверти всех жителей старше 16 лет. Основная часть банковских клиентов – это россияне, которые прибегают к таким услугам по необходимости: оплата коммунальных платежей, государственных пошлин, штрафов; получение заработной платы на банковскую карту, оформленную работодателем, и др.Пользователями банковских услуг в целом в 59% случаев являются женщины и в 41% - мужчины. Женщины чаще являются пользователями «обязательных» банковских услуг, таких как осуществление коммунальных платежей, а при выборе дополнительных возможностей чаще руководствуются советами друзей или сотрудников банка. Предпочтение российских пользователей по типу банковских продуктовСогласно данным Комкон, около 69% всех пользователей банковских услуг в РФ посещают банковские отделения для оплаты счетов и совершения коммунальных платежей. Спрос на вторую по популярности банковскую услугу – пополнение и снятие денег с текущего счета продемонстрировали лишь 27% россиян, являющихся клиентами банка. Не более 15% совершают операции с депозитом – это третья по популярности банковская услуга в РФ.13% россиян старше 16 лет (7,4 млн. чел.), пользуясь банковскими услугами, применяют Интернет для получения информации о банковских продуктах. При этом доступ к Сети сегодня имеет около 42% всех россиян. Распространение интернет-доступа в регионах России, рост доходов населения, постоянное совершенствование систем безопасности электронных банковских операций, расширение линейки услуг, предоставляемых в режиме онлайн, рост доверия аудитории к интернет-банкингу – все эти факторы способствуют существенному росту значимости Интернета не только в качестве инструмента поиска информации, но и одного из ключевых каналов потребления банковских услуг. Основной потенциал развития, на наш взгляд, связан с ростом количества пользователей интернет-банкинга. К началу 2011 года в России услугой интернет-банкинга пользовалось около 2,1% россиян в возрасте старше 16 лет, хотя менее полугода назад их доля составляла всего 1%. Предпочтения российских пользователей по бренду банкаОчевидно, что практически каждый россиянин, пользующийся банковскими услугами, знает бренд старейшего российского банка – Сбербанка (знание бренда - 93% среди пользователей клиентов банков). Несмотря на неизменные жалобы на длинные очереди, недружелюбность персонала и невысокие проценты, пользуются услугами этого банка не менее 82% всех пользователей банковских услуг, а около 82% всех российских вкладчиков держат открытый депозит в этом же банке.Посещаемость сайта банка и знание брендаКоэффициент корреляции, характеризующий взаимосвязь между посещаемостью сайта банка и уровнем потребления его услуг у интернет-аудитории1, составляет 0,9. Таким образом, наблюдаемая связь весьма сильна.Если отдельно рассматривать группу российских пользователей интернет-банкинга, то эта категория потребителей является наиболее информированной: более половины называли 10 и более брендов банков. Факторы, определяющие выбор банка россиянамиВсе еще свежи воспоминания о событиях 2008 и даже 1998 гг., россияне хотят гарантий и безопасности, поэтому многие по-прежнему предпочитают хранить сбережения в денежном эквиваленте, нежели в виде депозита. Нет ничего удивительного в том, что надежность банка – ключевой фактор.Итак, выбирая банк, пользователи банковских услуг руководствуются тремя основными критериями:
Интернет-банкинг все чаще становится определяющим фактором при выборе банка, в котором потребители принимают решение открыть счет или оформить карту. Это подтверждается и данными исследований компании Profi Online Research: почти треть всех мужчин и четверть женщин, проживающих в Москве и МО, считают наличие услуги «интернет-банк» определяющим критерием при выборе банка. Для высокодоходной группы населения интернет-банкинг уже является необходимой услугой: около 38% москвичей и жителей МО с уровнем дохода выше 80 000 руб. рассматривают услугу в качестве важного преимущества банка. Более трети жителей региона с заработком от 25 000 до 80 000 руб. обязательно обращают внимание на наличие услуги интернет-банкинг, принимая решение, в каком банке лучше открыть счет. Источники информации, влияющие на выбор банковских услуг российскими потребителямиРоссийские пользователи банковских услуг руководствуются тремя основными источниками информации: советами родных и знакомых (65%), консультациями специалистов (42%), информацией в Интернете (20%).Для потребителей банковских услуг, использующих Интернет в качестве основного источника информации, двумя другими источниками также являются советы родных и знакомых (50%) и консультации специалистов (40%). Пользователи интернет-банкинга в 65% случаев для получения информации об услугах используют Интернет, в 48% - советы знакомых и в 43% - консультации специалистов. Интернет-банкинг за рубежом: лидирующий каналВ течение двух последних лет банковские клиенты предпочитают интернет-банкинг другим способам коммуникаций со своим банком. Физическое посещение филиалов и отделений банков выбирают в основном клиенты старше 55 лет. Популярность совершения операций через банкоматы падает во всех возрастных группах. Довольно давно мобильный банкиг в большей степени ассоциировался с sms (и голосовым) банкингом, однако, те времена давно прошли, телефон стал не только средством общения, но полноценным многофункциональным устройством. Мобильный банкинг сегодня это и интернет-банкинг с помощью браузера, и работа с мобильными банковскими приложениями и в меньшей степени традиционный sms-банкинг.Примеры продвижение банков за рубежом: сегментацияРабота с конкретными сегментами аудитории в Интернете – отличительная черта зарубежной банковской розницы. Один из наиболее эффективных инструментов – микросайты, созданные в соответствии со спецификой целевой аудитории и «говорящие» с потенциальным клиентом на одном языке, а также предлагающие удовлетворение именно его специфических нужд.Bank of America – Morris on campusBank of America уверенно удерживает первое место на рынке среди студентов США по двум банковским продуктам: ведение чековых счетов и кредитные карты.«Моррис в кампусе» – это шоу в формате коммуникации со студентами на том языке, который они понимают лучше всего. Награда Ассоциации интернег-маркетинга Internet Advertising Awards: лучший сайт банка в 2009 году. Поведение зарубежной аудиторииНикакой лояльностиПо данным национального Индекса финансовой безопасности, подавляющее большинство жителей США заявляет, что любое увеличение банковских взносов и комиссий заставит их размышлять о перемещении средств в иные организации. 64% потребителей уже практически готово расстаться со своим финансовой организацией, если столкнутся с новыми расходами. Наименее лояльными являются люди моложе 30 лет, среди которых 71% заявили о готовности подобрать новый банк для размещения своих финансов. Среди аудитории в возрасте от 30 до 49 таких людей также немало - 68%. Наиболее лояльны к текущим банкам пожилые люди. Алчность банков усугубляет ситуацию в отраслиПо данным ежегодного исследования компании Edelman «Доверие к финансовым услугам», проводимого в США, почти половина потребителей отмечает снижение доверия к услугам финансовых организаций. Ключевыми составляющими репутации в банковской сфере, по мнению клиентов, являются «добросовестные взаимоотношения» и «прозрачность».Среди 46% тех, чье доверие снизилось, 57% отмечают, что это связано с жадностью банков. В то же время 18% заявили, что «сама отрасль делается только хуже». Герой дня: Wells FargoВ этом разделе рассмотрен один из флагманов розничного финансового рынка США – банк Wells Fargo. Редкий финансовый институт такого масштаба может похвастаться не только многочисленными успехами в онлайне, но и безоговорочным признанием Интернета основным каналом маркетинговой стратегии.Анонс: «Банки и Интернет: Новая реальность», осень 2011В очередном отчете «Банки и Интернет: Новая реальность. Осень 2011», который готовится к публикации в сентябре-октябре 2011 года, в частности планируется уделить внимание следующим темам:Крибрум, июнь-август 2011Новые данные автоматического мониторинга Интернета за период с июня по август 2011 года включительно, анализ динамики упоминаемости банков и банковских продуктов. Расширенный рейтинг банков, анализ динамики обсуждаемости по источникам, анализ изменений эмоционального фона информационной среды и т.д.Банки и потребители: различия офлайна и онлайнаНовые данные и сравнения офлайн и онлайн-потребителей банковских услуг, моделей поведения, отношения к рекламе банков, банковским продуктам. Анализ взаимосвязи между обсуждаемостью банков в Сети и посещаемостью интернет-сайтов. Анализ динамики изменений предпочтений и поведения аудитории, оценка динамики развития новых видов банкинга в России.Продвижение российских банков в ИнтернетеАнализ видов активности российских банков в Интернете, оценка эффективности продвижения, обзор типичных ошибок, примеры удачных маркетинговых приемов. Экспертные рекомендации по эффективному продвижению банков в Рунете.Сайты российских банковОбзор текущей ситуации, сложившейся вокруг сайтов банков в Рунете. Обобщенный анализ проблем, функциональных и дизайнерских упущений, не позволяющих сайтам банков работать в полную силу.Интернет-сайты зарубежных банковОбзор наиболее интересных решений, относящихся к дизайну, функционалу и юзабилити интернет-сайтов представителей зарубежной банковской розницы.Интернет-маркетинг зарубежной банковской розницыОбзор примеров продвижения зарубежных банков в Интернете с использованием различных каналов интернет-маркетинга.«Герой дня»Подробный анализ маркетинговой стратегии одного из крупных зарубежных банков в Интернете: приемы интернет-маркетинга, примеры позиционирования продуктов, примеры проведения рекламных и PR-кампаний в Интернете, анализ эффективности онлайн-мероприятий.© «Ашманов и партнеры» Москва, июнь 2011 г. страниц всего: |
dereksiz.org
Как мы создали продвинутый интернет-банк за 5 месяцев
20 ноября Банк Санкт-Петербург запустил новый интернет-банк.
Так как это не совсем обычный интернет-банк и разрабатывался он нестандартными методами, я решил поделиться деталями того, как мы делали этот проект, что помогло нам создать его менее, чем за 5 месяцев, а также рассказать о некоторых технических деталях.
Аджайл
Разрабатывали мы его вчетвером, и разработка началась в конце апреля-начале мая. В это время мы столкнулись с новыми для нас системами АБС и процессинга, с которыми было необходимо интегрироваться. К счастью, нам дали прямой доступ к людям внутри банка, кто говорил с этими системами "на ты". Под доступом я подразумеваю Skype контакты, email и номера телефонов. При отсутствии в команде всяческих аналитиков и без необходимости писать какие-либо ТЗ мы начали писать код.
Несмотря на то, что разработчики находились в Таллинне, а остальная часть команды в Питере, мы тесно общались: ежедневные Skype/email переписки, регулярные видео-конференции несколько раз в неделю и обязательные (каждые две недели) встречи в офисе банка в Питере. Летом даже получилось два раза скататься туда на мотоциклах, что, конечно же, добавило фана в проект. А в июне проработали почти 3 недели в банке на месте, чтобы лучше прочувствовать среду, в которой находятся конечные пользователи, разобраться со спецификой российских безналичных платежей (особенно налоговых) и ознакомиться с местными барами и клубами.
Мы работали в двух парах (да-да, парное программирование) и каждый день старались делать ротацию, чтобы было веселее и чтобы у всех было бы хорошее понимание того, где и как в коде что работает. Уже 1 июня - через месяц после начала работы мы установили первый билд интернет-банка в боевую среду, т.е. подключили его к реальным системам. Доступен он был, конечно, только внутри банка, но сотрудники уже могли туда заходить и смотреть, как он работает на реальных данных. Быстрая обратная связь дала нам возможность очень эффективно двигаться дальше, постоянно добавляя новую функциональность.
Иными словами то, что мы делали - можно назвать аджайлом (Agile software development), и если ещё точнее, то XP - экстремальным программированием. Такого рода процесс разработки мы отточили уже на многих наших предыдущих клиентах и очень успешно использовали его и работая в эстонском Swedbank-е.
Архитектура
Вообще, я не люблю это слово. Много раз выступал на IT-конференциях разбивая в пух и прах традиционное понятие IT архитектуры. Иногда даже на Хабр попадают видео с моими выступлениями. Мне очень нравится определение архитектуры Мартина Фаулера (Fowler): архитектура - это та часть дизайна ПО, которая очень тяжело меняется, и поэтому люди используют это слово, чтобы показать насколько она важна. В нашем интернет-банке не должно было быть ничего такого, так что вооружившись религией чистого кода (Clean Code, Bob Martin) и простоты, мы выбрали Play Framework.
"Что? Play Framework в банке, ты наверно шутишь?" - была первая реакция знакомых разработчиков.
Давайте посмотрим, что повлияло на решение:
- Мы хотели писать на Java, так как имеем большой опыт с языком и платформой. Java ещё не мертва, если её использовать правильно.
- У нас была относительно маленькая команда и немного времени, так что мы должны были быть максимально продуктивными. В этом нам помогла также среда разработки Intellij IDEA, кстати, разрабатываемая в Питере.
- Java запускается на Линуксе, администрирование которого в разы проще и быстрее, чем всяких там Виндовсов. Это мне за пивом подтвердили администраторы, намучившиеся с прежними решениями.
- Play Framework делает разработку на Java быстрее за счет автоматической перекомпиляции и перезагрузки кода, да и позволяет все это запускать на своей машине за секунды без пожирания огромных количеств оперативной памяти, что свойственно application-серверам в мире Java, и за что её недолюбливают стартапы, где продуктивность цениться превыше всего.
- Конечно же, как и многие другие фреймворки, Play также решает многие типичные проблемы разработки веб-приложений как структуризация проекта и т.п. очень элегантно, принося лёгкость динамических языков в мир Java. Многие идеи инспирированы Ruby on Rails, Django для Python и даже NodeJS.
Конечно же, очень пригодился и наш многолетний опыт разработки предыдущих интернет-банков и других систем самообслуживания в интернете. Мы явно уже знали, чего точно мы хотели, чтобы создать очень гибкую платформу специально для интернет-банков на базе Play.
Чего ещё хорошего дал нам Play?
Play - это полностью stateless framework. Он работает так, как и рассчитан работать HTTP - сервер не знает ничего про сессии пользователей, не выделяет лишней памяти для них, так что приложение масштабируется линейно - при увеличении количества серверов в два раза мы можем обслуживать в два раза больше пользователей. Пока их только два и они совсем несильно нагружены. Серверы находятся в разных датацентрах и между ними идет распределение нагрузки через DNS. Так как информация о сессии пользователя хранится только в cookie, то при падении одного из них пользователи перекидываются на второй без необходимости нового входа.
Это, также, дает нам возможность делать обновления приложения посреди дня, не теряя активных пользователей. В день запуска мы обновляли приложение 4 раза, и все это во время того, как мы получали более 10 запросов в секунду от пользователей. Конечно же, данные пользователя в cookie подписаны, так что пользователь не может их подделать.
Для маскирования невысокой производительности АБС мы используем интеграцию Play с memcached, что далеко не стандартное решение в мире Java. При работе с кешем мы, конечно, учитываем, что записей в нем может и не быть, но если они там есть, то не делаем лишних и, как правило, медленных запросов к АБС. Мы даже подгружаем данные о счетах и картах клиента ещё до того, как он успел ввести СМС код для аутентификации.
Для подгрузки в фоновом режиме нам очень пригодилась родная поддержка Job-ов в Play, работающая на основе Quartz. При вводе правильного пароля мы просто асинхронно запускаем соответствующий Job в отдельном потоке. Job-ы также используются нами и для множества других фоновых задач внутри интернет-банка - от обработки регулярных платежей до принятия банковских сообщений через SMTP протокол.
Если уже начали говорить об асинхронности, то надо отметить и возможность Play обслуживать множество одновременных HTTP запросов в одном потоке, чем тоже очень хвалится NodeJS. Это позволяет экономить ресурсы памяти и обслуживать гораздо большее количество пользователей меньшим количеством процессов. Play содержит отличный асинхронный фреймворк на базе Promise-ов и continuation-ов, выполняя большинство I/O операций асинхронно, высвобождая потоки на это время для других задач (для тех кто владеет темой).
Тестирование
Где Play не соответствовал нашим ожиданиям - это автоматические тесты (а как ещё делать по несколько обновлений в день на боевой системе без регрессий?)
Play содержит поддержку тестирования, но она, на наш взгляд, не совсем адекватна - мы не хотели запускать тесты в браузере, особенно unit-тесты, и мы хотели иметь удобную возможность писать код с помощью методики TDD (Test Driven Development), т.е. писать тест для ещё несуществующего кода и только потом писать свой код, используя тест как критерий готовности. Большинство функциональности можно покрыть unit-тестами, которые запускаются и пробегают быстрее, чем интеграционные. Когда приложение должно работать со сторонними системами, мы делаем к ним тестовый запрос, сохраняем ответ в исходном виде и пишем unit-тест, получающий сохраненный ответ сторонней системы на вход и проверяющий корректность интерпретации входных данных. Это очень удобно как для разработки, так и для документации поведения той системы.
Для остального мы используем библиотеку Selenide, разработанную нашей компанией на базе Selenium WebDriver. Она позволяет писать лаконичные тесты пользовательского интерфейса, управляющие реальным браузером. При запуске тестов с помощью JUnit автоматически стартует весь интернет-банк с тестовой in-memory базой данной, создаются все необходимые таблицы, загружаются туда тестовые данные, запускается браузер и затем выполняются уже сами тестовые сценарии. Всё это занимает всего несколько секунд, что немаловажно для продуктивной разработки. Все тесты, покрывающие большинство функциональности приложения, пробегают чуть больше, чем за 5 минут, что даёт нам достаточно быструю обратную связь в случае возникновения регрессий. Конечно, для достижения такой быстроты мы прошли через много стадий их оптимизации. Главная мотивация оптимизации была в том, что все тесты являются частью билда, а не запускаются отдельно от него, как делается в большинстве проектов.
Билды
Для билдов мы используем Jenkins. Он следит за любыми изменениями в коде и сразу же делает новый билд, предварительно запуская все тесты. Полностью автоматически. Когда нам надо установить какие-либо изменения в боевую среду, то мы просто берём для этого последний удавшийся билд, ничего специально для этого делать не надо. Если нужно быстрое исправление, то достаточно закоммитить изменение в систему версионирования (git), и через 5 минут можно ставить. Как правило, такие срочные билды содержат и другие не очень срочные изменения, то так как они уже на тот момент протестированы, то нет проблем с их попаданием в боевую среду. И, делая обновления достаточно часто, количество изменений устанавливаемых за раз невелико, благодаря чему вероятность большой поломки очень мала и откат на предыдущую версию в случае необходимости тоже проходит с без лишнего риска.
Немножко сложнее обстоят дела с обновлением структуры базы данных - но для этого Play содержит встроенную поддержку эволюционных скриптов (иногда называемых дельта-скриптами). При установке нового билда интернет-банк проверяет текущую ревизию своей базы данных и при необходимости доставляет все новые изменения, такие как создание новых таблиц, добавление колонок, индексов, и даже связанную с этими изменениями миграцию данных. Каждый билд интернет-банка содержит полный набор скриптов, с помощью которого можно воссоздать всю базу с нуля (за исключением данных). Благодаря этому очень легко поднимается новая среда разработки или тестирования, когда это бывает нужно.
Простота / Usability
Несмотря на все навороты и эффективный способ разработки, никто не будет использовать новый интернет-банк, если он сложен или непонятен для пользователя. "Не заставляй меня думать" называется известная книга Стива Круга на эту тему.
В самом начале разработки мы взяли для себя цель сделать интернет-банк понятным обычному человеку, а не только бухгалтеру или экономисту. Нормальные люди не обязаны знать, что такое овердрафтный счёт или смотреть три отдельных выписки, чтобы понять на что они тратили свои деньги, поэтому интернет-банк должен достаточно сильно преображать данные, приходящие из АБС. Нельзя также перегружать пользователя чрезмерным обилием деталей. Всё должно быть кратко и в точку.
В процессе упрощения платежных форм (которые в России просто кошмарно сложны) нам пришла в голову идея того, что позже банк стал рекламировать как "умный перевод”: а что, если будем начинать платёж только с одного поля "кому"? Пользователь может просто начинать писать всё, что угодно: имя, название организации, номер счёта или карты - и интернет-банк догадывается, что было введено, и подгружает другие необходимые данные? A-la поиск Google. Начали с прототипа и всем понравилось! Конечно же, идею можно совершенствовать ещё дальше, но это уже дело техники.
Другой немаловажный аспект - это проверять идеи на реальных людях - домохозяйках, школьниках, сотрудниках компаний и т.д. Для этого банк провёл usability-тестирование, во время которого добровольцев просили сделать конкретные задания (например, "переведи 100 рублей своей бабушке") и наблюдали, насколько быстро и легко пользователи с ними справлялись. Это ещё один вид обратной связи, необходимый для создания успешного и интуитивно понятного продукта. Позволяет не писать скучную пользовательскую документацию, которую всё-равно никто не читает.
Если же в работающей системе всё-таки возникает ошибка, то вместо технической ругани мы показываем пользователю форму с кодом ошибки и возможностью описать, что к ней привело или просто излить свои эмоции. При отсылке такой обратной связи посылается сообщение, позволяющее быстро найти причину возникновения ошибки в логах и даже ответить пользователю в случае исправления. Это сильно помогло нам в течение первых дней публичного запуска.
Безопасность
Про безопасность интернет-банков можно писать много. Ограничимся тем, что Play framework при правильном его использовании сразу предотвращает такие наиболее распространенные векторы атак, как XSS (Cross-site scripting) и SQL Injection - всё, что показывается пользователю, проходит через принудительный эскейпинг и всё, что посылается в базу через JPA/JDBC биндится и посылается на сервер отдельно от самого текста запроса, исключая возможности его изменения пользователем с помощью хитро составленных запросов. Это элементарная практика, но, тем не менее, специалисты по аудиту безопасности из одной российской компании сознались, что это было первое приложение из когда-либо тестируемых ими, где не было найдено ни одной серьёзной уязвимости. Нам было приятно, но, конечно, один только фреймворк не может полностью решить все проблемы, связанные с безопасностью. Разработчики всегда должны сами помнить о таких вещах, как принадлежность передаваемых идентификаторов или номеров счетов клиенту в активной сессии. Чтобы не оставить где-нибудь дыру, помогает только внимание к деталям и многолетний опыт разработки веб-приложений. Для этого нам на всякий случай пришлось также менять сам Play и отключать автоматическую загрузку объектов из базы по идентификатору, приходящему из запроса. Также ещё есть более хитрые атаки, как CSRF (Cross-site request forgery) или даже HTTP Response Splitting, перехваты сессий, replay-атаки и т.д., нуждающиеся в предотвращении со стороны программистов.
В плане видимой пользователям безопасности мы, конечно же, используем 2-х факторную аутентификацию, собственное приветствие и аватаром, которые усложняют социальные атаки, типа фишинга и показ времени и места последнего входа. В остальном мы старались не ухудшать удобство использования приложения, "закручивая гайки" другими способами. В интернет-банке отлично можно использовать все стандартные кнопки браузера, как назад/вперёд/обновить. Хотя некоторые пользователи, привыкшие к тому, что в прошлом над ними издевались и, например, сбрасывали сессию при нажатии этих кнопок, пока ещё спрашивают: "а где кнопка обновления внутри страницы?".
Немаловажна для безопасности и хорошая аудитируемость - все действия пользователей подробно логируются в компактном формате, удобном для обработки стандартными unix-утилитами, со связками с уникальным ID запроса и сессией. Выбор платформы работы интернет-банка (Линукс) в этом случае тоже немаловажен.
Вердикт
В целом, нам было очень интересно и приятно разрабатывать это приложение. Надеемся, что простота и понятность нового интернет-банка будут по достоинству оценены клиентами Банка Санкт-Петербург. А для нас, разработчиков, нет ничего приятнее, чем собственный код, работающий в боевой среде и делающий жизнь пользователей немного удобнее!В данный момент мы продолжаем разработку, так что скоро пользователям будут предоставлены новые интересные возможности.**
Archived comments
Anonymous 2012-12-20T00:37:06.127Z
I checked out the new bank website and immediately came across something interesting. As an anonymous user under any page, have you tried clicking the "login" link in "You need to login in order to proceeed(sic!)" box in a browser other than Chrome? ;)
Kasparas Rudokas 2012-12-24T23:03:16.272Z
Good read, cheers!
Anonymous 2013-01-24T12:06:16.807Z
"нет ничего приятнее, чем собственный код, работающий в боевой среде и делающий жизнь пользователей немного удобнее"Я бы сказал, "намного удобнее", т.к. это лучший интернет банк из тех, с которыми я сталкивался. Понравилась статья, очень интересно было хоть немного узнать как вы это делали. :)
Anonymous 2013-03-06T10:16:20.161Z
Как давний пользователь интернет-банка БСПб (равно как и других интернет-банков, включая продвинутый ТКС), хочу сказать, что ваш проект, бесспорно, удался!Также не могу не отметить относительно быстрое исправление найденных (на ранних стадиях) багов, о которых я, как пользователь, писал в службу поддержки банка.Снимаю шляпу, молодцы!
codeborne.com
Продвижение банка в Интернете
Array ( [0] => stdClass Object ( [id] => 205 [title] => ДОСААФ России [domain] => www.momrtsh-dosaaf.com [domain_url] => www.momrtsh-dosaaf.com [promosng] => 0 [realm] => Учебное заведение [city] => Москва [request] => 0 [attendance] => [1463,3628,5447,8820,8552,9873,12372,11683,9918,10354] [attendance_smo] => [federal] => 0 [geography] => null [searchers] => {"yandex":0,"google":0,"mailru":0,"rambler":0} [ordering] => 18 [published] => 1 [image] => www.momrtsh-dosaaf.com.jpg [notindex] => 0 [featured] => 0 [piar_web] => 1,2,3,4,5,6,7,8 [audit] => 0 ) [1] => stdClass Object ( [id] => 88 [title] => Компания «Aist-studio» [domain] => www.aist-st.ru [domain_url] => www.aist-st.ru [promosng] => 0 [realm] => Дизайн интерьеров [city] => Москва [request] => 40 [attendance] => [495,713,902,1212,1399,1542,1824,2115,2329,2553,2876,3095,3292] [attendance_smo] => [federal] => 0 [geography] => null [searchers] => {"yandex":0,"google":0,"mailru":0,"rambler":0} [ordering] => 20 [published] => 1 [image] => www.aist-st.ru.jpg [notindex] => 0 [featured] => 0 [piar_web] => 1,2,3,4 [audit] => 0 ) [2] => stdClass Object ( [id] => 317 [title] => «КлимПластЮнион» [domain] => www.klim-plast-union.ru [domain_url] => www.klim-plast-union.ru [promosng] => 0 [realm] => Политиленовые пакеты [city] => Москва [request] => 0 [attendance] => [160,207,368,288,389,555,608,591,497,573,1035,988,1095] [attendance_smo] => [federal] => 0 [geography] => null [searchers] => {"yandex":0,"google":0,"mailru":0,"rambler":0} [ordering] => 38 [published] => 1 [image] => www.klim-plast-union.ru.jpg [notindex] => 0 [featured] => 0 [piar_web] => 1,2,3,4 [audit] => 0 ) ) Array ( [0] => stdClass Object ( [id] => 205 [title] => ДОСААФ России [domain] => www.momrtsh-dosaaf.com [domain_url] => www.momrtsh-dosaaf.com [promosng] => 0 [realm] => Учебное заведение [city] => Москва [request] => 0 [attendance] => [8820,8552,9873,12372,11683,9918,10354] [attendance_smo] => [federal] => 0 [geography] => null [searchers] => {"yandex":0,"google":0,"mailru":0,"rambler":0} [ordering] => 18 [published] => 1 [image] => www.momrtsh-dosaaf.com.jpg [notindex] => 0 [featured] => 0 [piar_web] => 1,2,3,4,5,6,7,8 [audit] => 0 [dop_m] => 3 ) [1] => stdClass Object ( [id] => 88 [title] => Компания «Aist-studio» [domain] => www.aist-st.ru [domain_url] => www.aist-st.ru [promosng] => 0 [realm] => Дизайн интерьеров [city] => Москва [request] => 40 [attendance] => [1824,2115,2329,2553,2876,3095,3292] [attendance_smo] => [federal] => 0 [geography] => null [searchers] => {"yandex":0,"google":0,"mailru":0,"rambler":0} [ordering] => 20 [published] => 1 [image] => www.aist-st.ru.jpg [notindex] => 0 [featured] => 0 [piar_web] => 1,2,3,4 [audit] => 0 [dop_m] => 6 ) [2] => stdClass Object ( [id] => 317 [title] => «КлимПластЮнион» [domain] => www.klim-plast-union.ru [domain_url] => www.klim-plast-union.ru [promosng] => 0 [realm] => Политиленовые пакеты [city] => Москва [request] => 0 [attendance] => [608,591,497,573,1035,988,1095] [attendance_smo] => [federal] => 0 [geography] => null [searchers] => {"yandex":0,"google":0,"mailru":0,"rambler":0} [ordering] => 38 [published] => 1 [image] => www.klim-plast-union.ru.jpg [notindex] => 0 [featured] => 0 [piar_web] => 1,2,3,4 [audit] => 0 [dop_m] => 6 ) ) Array ( [0] => stdClass Object ( [id] => 205 [title] => ДОСААФ России [domain] => www.momrtsh-dosaaf.com [domain_url] => www.momrtsh-dosaaf.com [promosng] => 0 [realm] => Учебное заведение [city] => Москва [request] => 0 [attendance] => [8820,8552,9873,12372,11683,9918,10354] [attendance_smo] => [federal] => 0 [geography] => null [searchers] => {"yandex":0,"google":0,"mailru":0,"rambler":0} [ordering] => 18 [published] => 1 [image] => www.momrtsh-dosaaf.com.jpg [notindex] => 0 [featured] => 0 [piar_web] => 1,2,3,4,5,6,7,8 [audit] => 0 [dop_m] => 3 [piar_weblist] => [avg_attendance] => 10400 [categories] => 7 ) [1] => stdClass Object ( [id] => 88 [title] => Компания «Aist-studio» [domain] => www.aist-st.ru [domain_url] => www.aist-st.ru [promosng] => 0 [realm] => Дизайн интерьеров [city] => Москва [request] => 40 [attendance] => [1824,2115,2329,2553,2876,3095,3292] [attendance_smo] => [federal] => 0 [geography] => null [searchers] => {"yandex":0,"google":0,"mailru":0,"rambler":0} [ordering] => 20 [published] => 1 [image] => www.aist-st.ru.jpg [notindex] => 0 [featured] => 0 [piar_web] => 1,2,3,4 [audit] => 0 [dop_m] => 6 [piar_weblist] => [avg_attendance] => 3300 [categories] => 7 ) [2] => stdClass Object ( [id] => 317 [title] => «КлимПластЮнион» [domain] => www.klim-plast-union.ru [domain_url] => www.klim-plast-union.ru [promosng] => 0 [realm] => Политиленовые пакеты [city] => Москва [request] => 0 [attendance] => [608,591,497,573,1035,988,1095] [attendance_smo] => [federal] => 0 [geography] => null [searchers] => {"yandex":0,"google":0,"mailru":0,"rambler":0} [ordering] => 38 [published] => 1 [image] => www.klim-plast-union.ru.jpg [notindex] => 0 [featured] => 0 [piar_web] => 1,2,3,4 [audit] => 0 [dop_m] => 6 [piar_weblist] => [avg_attendance] => 1100 [categories] => 7 ) )ДОСААФ РоссииСайт: www.momrtsh-dosaaf.comСфера: Учебное заведениеРегион: МоскваПродвижение: Трафик: ~ 10500 посетителей
Компания «Aist-studio»Сайт: www.aist-st.ruСфера: Дизайн интерьеров Регион: МоскваПродвижение: Трафик: ~ 3500 посетителей
«КлимПластЮнион»Сайт: www.klim-plast-union.ruСфера: Политиленовые пакетыРегион: МоскваПродвижение: Трафик: ~ 1000 посетителей
www.promo-krasnodar.ru