...

2 gis что это за программа

История одного монолита

Сегодня я расскажу вам историю, которая началась 9 лет назад в компании ДубльГИС.

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

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

Поехали. Далекий 2010 год. Тогда 2ГИС был еще ламповым ДубльГИСом, из внешних продуктов была настольная версия и примитивный онлайн и версия для КПК. А внутренности состояли из системы доставки обновления пользователям нашей ПК версии и монстра под названием DGPP, который совмещал в себе инструменты для редактирования справочника организаций и карты, CRM и экспорта данных в конечные продукты. База данных лежала в Firebird. Cистема была децентрализована. В каждом городе была своя инсталляция и своя БД. Примитивная интеграция обеспечивалась через файловые экспорты / импорты. И на этом, по большому счету, все.

Сам DGPP представлял из себя приложение на C++ с набором VBA-скриптов. Изначально эту систему для ДубльГИСа разрабатывала сторонняя контора, и лишь со временем разработку системы компания забрала под свою крышу, сформировав собственный R&D. Развивать DGPP становилось все сложнее и сложнее.

А это было время начала бурного развития ДубльГИСа. Открывались новые города. Готовилась мобильная версия для смартфонов. Появлялись новые фичи. Развивалась рекламная модель. В общем, требовалось большое количество изменений, и делать их нужно было быстро.

Первое, с чего мы начали разбирать DGPP на кусочки, стал экспорт. Мы вытащили его в отдельное приложение, представляющее из себя windows service с мордой на WPF. Параллельно велась работа над новой CRM. Для экономии времени на тот момент в качестве базовой платформы был выбран Microsoft Dynamics CRM.

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

Тут стоит обратить внимание на один момент. Наш десктопный ДубльГИС потреблял данные в специальном бинарном формате, который готовился библиотекой на C++, обернутой в COM-объект. И тогда было вполне логично использовать его, просто подключив как reference в проект. Не самое удачное решение, но об этом я расскажу после.

Время шло, мы зарелизили мобильную версию и новую CRM. На горизонте забрезжил новый внешний продукт — публичное API 2ГИС. А из DGPP уже начали вычленять подсистему для работы со справочником организаций под кодовым названием InfoRussia.

В экспорте возникла необходимость читать рекламные данные уже из двух систем: старого DGPP и новой CRM. Причем внедрение CRM шло постепенно, т. е. в одних городах пока оставался только DGPP, а в других работали одновременно DGPP со справочником и картой и CRM с коммерческой информацией. Кроме того, в перспективе светил релиз InfoRussia, который состоялся в течение нескольких месяцев.

Новые системы вносили сложности не только своим появлением. Они изменили концепцию развертывания. В отличие от децентрализованного DGPP, который стоял в каждом городе, эти системы были централизованы, каждая со своей толстенькой СУБД. Кроме того, им необходимо было обмениваться данными.

Для решения этой задачи мы реализовали свою Enterprise Service Bus (ESB). На тот момент практически не было зрелых решений, которые бы обеспечивали выполнение некоторых важных для нас функциональных требований: возможность передачи XML, порядок сообщений и гарантию доставки. Тогда мы остановились на SQL Server Broker, который давал из коробки все, что требовалось. Правда, обладал довольно посредственной скоростью доставки, но нас на тот момент она вполне устраивала.

Последним шагом стал релиз картографического сервиса под названием Fiji. Он частично выгружал свои данные в шину. Это касалось справочников и классификаторов. Геоданные можно было забирать у него через Rest API, которым пользовался и сам клиент Fiji, написанный на WPF.

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

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

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

И вот моя история подошла к концу.

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

  • 2гис
  • разработка приложений
  • проектирование систем

2 gis что это за программа

Ищите проезд на автомобиле: 2ГИС ведет
по маршруту и дает голосовые подсказки

2ГИС для Android

Навигатор, новый дизайн, умный поиск
и другие полезные функции для жизни в городе

Всегда и везде

2ГИС на вашем компьютере
Работает без интернета

Реклама в 2ГИС

Пользователи 2ГИС уже знают, что хотят купить
и выбирают места, где потратить деньги

Что мы делаем?

Собираем информацию

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

Помогаем людям находить компании

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

Помогаем компаниям находить клиентов

Реклама в 2ГИС помогает компаниям привлечь внимание клиентов. Мы индивидуально подбираем вариант размещения в соответствии с вашими бизнес-целями.

1060 городов в 12 странах

Точные ответы на более чем 20,5 миллионов запросов в день

Ваша реклама на всех устройствах сразу

От 17694 в месяц
Добавить компанию бесплатно

Работа в 2ГИС

Ищем людей для работы в хорошей компании

2ГИС на вашем сайте

API карт и справочника

Новости компании

2ГИС запустил онлайн-игру «Кварталы», где алгоритм генерирует вопросы про ваш район

15 августа 2023

2ГИС запустил онлайн-игру «Кварталы», где алгоритм генерирует вопросы про ваш район Картографический сервис 2ГИС запустил игру «Кварталы» на знание районов в городе. Можно выбрать любой из 80 городов в проекте и посоревноваться с другими жителями на знание своего района.

Карты будущего: 2ГИС представил реалистичные объекты на картах

05 июля 2023

2ГИС переходит на новый уровень детализации 3D-карт: теперь на них можно рассмотреть детали зданий и парков — вплоть до того, какие деревья растут в том или ином сквере. Такое погружение в городской ландшафт сделает ориентирование в нём более удобным и приятным.

2ГИС или Яндекс.Карты. Что выбрать?

В современном мегаполисе трудно представить жизнь без городских путеводителей. С самого начала внедрения карт, я всегда пользовался 2ГИС. Прошел с ним весь путь от карт на ПК с Pentium IV до приложения на своем смартфоне. С недавнего времени, в связи с новой работой, мне пришлось перейти на Яндекс.Карты. На какие нюансы я обратил внимание и почему вернулся обратно, а также почему 2ГИС не актуален при поездке в автомобиле в нашей статье.

2ГИС или Яндекс.Карты. Что выбрать? Яндекс против 2ГИС — легендарная битва. Фото.

Яндекс против 2ГИС — легендарная битва

Волею судеб переезжать из города в город стало для меня рутиной еще в детстве. Кроме городов, также приходилось часто менять учебные заведения и локацию внутри одного города. Еще в 15 лет у меня появилась нужда в прокладке маршрутов через навигатор. Тогда, по рекомендации я скачал 2ГИС и пользуюсь им по сей день.

Но недавно я устроился на работу в Яндекс.Еду, где необходимо было пользоваться родными картами от сервиса. Признаюсь, я большой консерватор и в первое время работы ходил с двумя приложениями. в 2ГИС смотрел маршруты до клиента, а в Яндексе принимал заказы. Такой расклад порядком надоел и пришлось полностью пересаживаться на карты от Яндекс.

Расчет маршрута по времени

Быстрый темп жизни — мое кредо. За долгие годы работы с 2ГИС, привычка расчитывать маршрут по времени появилась сама собой. Кроме того, всегда знал, что выйдя из дома ровно в срок, проложив маршрут в 2ГИС, у меня точно останется в запасе пара минут. С Яндексом оказалось сложнее. Когда на работе получал заказ и таймер показывал 14 мин, в итоге я почти всегда приходил позже. Сначала казалось, что я просто медленно иду, потом грешил на светофоры по 100 секунд на Невском, но даже когда шел по прямой или от дома к дому в пределах одного квартала, все равно опаздывал. Позже решил сравнить: проложил один и тот же маршрут в двух приложениях и получил полное подтверждение своим словам — 2ГИС показывал на дорогу на 7 минут дольше.

Читайте также: Лучшие Android-приложения для путешествий.

В рамках работы такой подход очень удобен, так как каждый сотрудник сервиса мотивирован успеть в срок, однако при личном использовании может сбить с толку. Я никогда не выхожу раньше положенного. В конце концов, главное правило пунктуальности гласит: «Прийти раньше, все равно, что опоздать».

2ГИС или Яндекс.Карты. Что выбрать? Яндекс.Карты без проблем справляются с велосипедными маршрутами. Фото.

Яндекс.Карты без проблем справляются с велосипедными маршрутами.

Интерфейс и дизайн

Тестировать разные приложения мне нравилось всегда. И здесь, я очень обрадовался, когда появилась возможность отказаться от 2ГИС. По всем канонам, виделось, что наличие одной цветовой гаммы должно было наскучить и надоесть. В Яндекс Картах в отличие от зеленого «Эксперта по городу» все выполнено в нейтральных тонах. Глаз отдыхает от назойливых цветовых решений и все должно быть хорошо. Но из-за отсутствия контрастности зданий, отметки цветом на картах, я часто путался. Даже перейдя обратно на 2ГИС, я ни чуть не расстроился наличию зеленого цвета. В отличие от Evernote, чей «зеленый» спустя пару лет порядком надоел. Дизайн 2ГИС придется вам по вкусу, даже если вы работаете с приложением каждый день. Как это получилось у разработчиков, остается лишь догадываться.

2ГИС или Яндекс.Карты. Что выбрать? Интерфейс и дизайн 2ГИС выше всяких похвал. Фото.

Интерфейс и дизайн 2ГИС выше всяких похвал.

Географическая точность

Работая в доставке, часто приходилось заходить за заказом в торговые центры. Отличные инструменты «зеленой компании» выручали меня буквально каждую минуту. Маршрут прокладывался буквально до кассы, с учетом этажности здания и расположения эскалаторов. Иногда даже удавалось прокладывать промежуточные точки, чтобы запастись водой и перекусом. И вся навигация работа, как часы даже внутри торгового центра. Этой функцией я пользуюсь и по сей день, когда надо забежать в магазин по пути на встречу.

Яндекс.Карты используют растровую схему карт. Делается снимок с космоса, поверх него наносятся номера домов и дорог. Зная об этом понятно, что если вам нужно найти здание, затерявшиеся во дворах, вдалеке от парадного входа, Яндекс справится с этим порядком лучше 2ГИС.

Техническая поддержка

В своих статьях, я всегда призываю читателей при возникновении неполадок обращаться в техподдержку и сам всегда стараюсь писать при обнаружении ошибок или неточностей. Здесь Яндекс далеко впереди. Пару раз я писал по поводу отсутствия на карте того или иного объекта в оба сервиса и в Яндекс.Картах мне ответили в рамках одного дня. С техподдержкой 2ГИС все сложнее. Ответ получил на третий день. Позже пришлось вернуться на тот же адрес спустя 2 недели и 2ГИС так и не исправил указанную мной ошибку.

Оффлайн доступ

Для того, чтобы в Яндекс.Картах воспользоваться режимом оффлайн, необходимо предварительно скачать карту. Офлайн-режим включается автоматически, если сигнал мобильной сети становится слабым или пропадает. Маршрут строится на основании загруженной карты, но без учета пробок, камер и дорожных событий, потому что эти данные приложение получает из сети. Если сеть пропала, когда вы уже в пути, навигация по маршруту продолжится. Надо отметить, что при слабом сигнале сотовой связи подлагиваний при переключении замечено не было. В 2ГИС в рамках городских поездок я почти никогда не использую интернет. Все работает в режиме оффлайн в любое время. Но у этого есть свои недостатки. Приложение приходится регулярно обновлять и если вы используете 2ГИС, стоит попрощаться с некоторым количеством памяти на своем устройстве. В моем 2ГИС установлено 5 городов России и размер приложения стремится к 1,5 ГБ памяти.

Подписывайтесь на нас в Яндекс.Дзен, там вы найдёте много интересного.

2ГИС или Яндекс.Карты. Что выбрать? Яндекс.Карты отлично подойдут для водителей автомобилей. Фото.

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

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

А вы пользуетесь Яндекс.Картами или 2ГИС? Напишите об этом в Телеграм-чат.

Оставить комментарий в Telegram. Поделитесь мнением в чате читателей Androidinsider.ru

Теги

  • Приложения для Андроид

При подготовке материала использовались источники:
https://habr.com/ru/companies/2gis/articles/464149/
https://info.2gis.ru/moscow/
https://androidinsider.ru/eto-interesno/2gis-ili-yandeks-karty-chto-vybrat.html

Оцените статью