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

С чего начинается xRM?


В постах на Хабре, на сайтах вендоров всего мира, в профильных обсуждениях можно найти ностальгические отсылки разработчиков CRM к программному обеспечению, от которого ведёт начало та или иная корпоративная информационная система: электронные записные книжки, планировщики и т.д. В прошлом посте мы рассказывали о том, что корни системы Рули24 уходят в недалёкое прошлое советских АСУ (автоматизированных систем управления), в частности АСУ ВАЗ. Но это только часть правды — на самом деле, логика системы была позаимствована у… обычного рабочего стола. Того самого, физического, деревянного рабочего стола. Структура взаимодействия офисного работника и стола помогла нам не только спроектировать саму систему Рули24, но и целый генератор информационных систем. Но о нём чуть позже, а пока уделим внимание нашему своеобразному предку.

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

  • нормативно-справочные: законы, методики, классификаторы, справочники, отраслевые стандарты и т.д.;
  • оперативные: накладные, платёжные поручения, первичная документация, справки, заявки и т.д.;
  • архивные: отработанные и помещённые в архив;
  • расчётные: аналитические документы и документы для промежуточных операций.

С перечисленными документами сотрудник совершает определённый набор действий: просматривает, корректирует, копирует, уничтожает и обрабатывает иным образом. Примерно по такой же схеме осуществляется работа практически в любой корпоративной информационной системе (CRM, xRM, ERP), только КИС имеет ряд преимуществ: организованную базу данных, точно прописанные формы и порядок действий, возможность создавать шаблоны и автоматически заполнять документы, подгружая информацию из карточки товара, клиента, сотрудника и проч. Наглядное соответствие можно увидеть на рисунке:


Соответствие можно проследить также между действиями пользователя с физическими документами и его работой в АРМ (автоматизированном рабочем месте). Для наглядности представим это в виде схемы:


Человеку удобно работать за рабочим столом, он привык к логике и структуре, так почему бы не сохранить его привычки и не подойти к разработке интерфейса и логики системы именно с этих позиций? Сказано — сделано: мы реализовали подход в генераторе информационных систем (ГИС) и тех АРМах, которые созданы в среде ГИС. Кроме того, мы учли, что один работник не выполняет все действия сразу (ну, в общем случае), а значит он должен и в АРМ иметь доступ к выполнению одной или нескольких задач. Соответственно, в зависимости от назначенных прав пользователь после входа в систему может работать с одной или несколькими базами данных, с каждой базой в отдельности, таблицей, записью и атрибутами записи. А разработчики, в свою очередь получили Генератор Информационных Систем (ГИС) — платформу, на основе которой они могут довольно легко создавать (генерировать) информационные системы, кастомизируя их под отрасль, бизнес, профиль и особенности компании. Причём мы решили не жадничать и предоставляем право таких доработок всем авторизованным партнёрам, которые в регионах могут внедрять различные решения на базе Рули24.

Генератор информационных систем — топор или напильник?


Прежде всего расскажем о технологиях, которые лежат в основе нашей платформы. Сразу предупредим: сторонний разработчик не может дорабатывать десктопный и web-интерфейс системы, поэтому из перечисленного он должен быть знаком с языком Delphi и СУБД Oracle, PL SQL, понимать структуру и логику работы баз данных.

  • Весь репозиторий хранится в СУБД Oracle — нужно иметь представление об этой системе. Нас неоднократно спрашивали — почему Oracle, с которым мы уже 18 лет? Мы работали с разными СУБД, включая MS SQL, My SQL, Adabas, Informix, Postgress и много других. Прежде всего, нас устраивает надёжность, функциональность и производительность — то, чего нельзя достичь на некоторых СУБД или же при комбинации СУБД. Возможно, сейчас есть СУБД, которые имеют 10-15% преимуществ по сравнению с Oracle, однако перенос столь масштабного проекта нерентабелен рядом с этими не самыми сильными преимуществами.

  • Вся бизнес логика написана на PL SQL.

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

  • Web-интерфейс написан на JavaScript — здесь всё ожидаемо и просто.

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

Инструментальный комплекс ГИС:

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

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

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

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

Внутри ГИС встроено несколько инструментальных средств, с помощью которых можно настраивать интерфейс и документы внутри Рули24 и систем, разработанных на её основе.

«Навигатор информационных систем» — это встроенное инструментальное средство, с помощью которого осуществляется просмотр и управление объектами системы. Данный инструмент предоставляется системному администратору. Навигатор позволяет изменять список объектов системы, настраивать интерфейс задачи, графически представлять соподчинённость объектов системы в виде дерева систем, подсистем и задач. Система — основная настраиваемая сущность, подсистема — часть системы, предназначенная для автоматизации предметной области, задача — часть подсистемы, охватывающая одно из направлений деятельности пользователя (документы, справочники, операции, отчёты и проч.)


«Дизайнер отчётов» позволяет формировать новые бланки отчётов. Это инструмент построения корпоративной отчётности, который представляет собой встраиваемый модуль системы и содержит средства построения практически любой необходимой отчётности по данным системы.

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

  • Справочник «Реестр таблиц» описывает таблицы базы данных и включает идентификатор таблицы, уникальное имя таблицы в БД Oracle, присвоенное разработчиком, представление — виртуальная таблица из БД, предназначенная для хранения текста запроса или запрошенных данных, тип, видимость, название отчёта, флаг управления.

  • Справочник «Реестр полей» (одна из вкладок «Реестра таблиц») содержит список полей всех таблиц, зарегистрированных в системе и включает ID таблицы и поля, название поля, видимость, доступ, тип, маску ввода (важное поле с точки зрения унификации и верификации информации в xRM), значение по умолчанию, имя хранимой процедуры, тексn расшифровки поля и проч.


  • Классификатор операций — справочник содержит список операций информационной системы и их основные характеристики. При добавлении операции в справочник прописываются код операции, имя функции (сама функция как объект базы данных создаётся сторонним софтом, например, SQL Navigator, SQL Plus, ТОАД и др.), тип функции, присваивается сочетание горячих клавиш.

Таким образом, мы постарались создать довольно тонкий и доступный инструмент работы с информационными системами класса xRM на базе Рули24, который даёт возможность компаниям получить xRM точно под потребности, а партнёрам-разработчикам — зарабатывать. Кроме того, возможности генератора информационных систем доступны и нашим прямым клиентам: если в штате есть программист, обладающий нужными знаниями или готовый быстро обучиться, клиент может не спеша самостоятельно создать именно ту конфигурацию, которая ему необходима. Кстати, именно благодаря существованию платформы нам удалось реализовать свою коммерческую стратегию — продажу системы по модулям и дальнейшую лёгкую интеграцию нужных «подросшему» бизнесу дополнений.

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


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

  1. Необходимо описать цели и задачи внедрения системы, способы их достижения. Например, цели: увеличить количество повторных покупок или достичь роста выручки на 12%. Задачи: увеличить количество обращений, увеличить конверсию лидов. Способы: ротация клиентов, управление лидами по каналам привлечения и проч.

  2. Выбрать ключевые цели и метрики, которые будут свидетельствовать о достижении целей.

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

  4. Описать с помощью BPMN, UML или просто с помощью простых схем все бизнес-процессы, которые предстоит автоматизировать. Компьютер не умеет продавать и управлять компанией по целям и не знает, как это делаете вы. Поэтому только создав схемы и прописав в них самые мельчайшие детали, вы сможете их успешно автоматизировать.

  5. Составить список отчётов, документации (управленческой и оперативной), операций, которые должна уметь делать xRM. Построить взаимосвязи.

  6. Составить список требований к данным (это уже задача службы разработки): ввод данных со стороны пользователя должен быть максимально простым. Если что-то возможно выбирать из наполненных справочников — обязательно используйте этот выбор, так вы получите унифицированные значения полей и значительно облегчите дальнейшую обработку собранной в системе информации (не говоря уже о целостности и достоверности).

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

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

  9. Приступить к разработке системы в порядке приоритета запуска модулей. Тестировать систему совместно с внутренними заказчиками — будущими пользователями системы и вносить изменения на каждой итерации.

  10. Вносить изменения по мере изменения требований бизнеса.

Автоматизация — это повышение результативности деятельности с помощью технологии. Однако никакая автоматизация не имеет смысла, если она не основана на реальной ситуации в бизнесе и существующих бизнес-процессах. Помните ассоциацию с офисным столом? Так вот, АРМ должно оставаться рабочим местом, то есть быть таким же понятным и удобным, как и рабочий стол. Но не забывайте, что автоматизация, внедрение КИС — это шанс внести исправления в текущие процессы, избавиться от досаждающих и привычных проблем, навести полный порядок в делах.

Есть ли другие способы внедрить корпоративную информационную систему?


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

  • Купить готовое решение. Если ваш бизнес стандартен, нет отраслевой специфики и все процессы достаточно предсказуемы, то любой вендор (в том числе Рули24) предложит вам готовое решение, которое разворачивается и настраивается за считанные минуты.

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

  • Заказать доработку у фрилансера — биржи буквально переполнены запросами о доработках той или иной CRM/ERP-системы. Это довольно рискованный вариант: можно столкнуться с дилетантством, незнанием бизнес-логики и самой системы. В итоге заказчик вернётся к профессиональному разработчику и руководство компании вспомнит поговорку о скупом, который платит дважды.

  • Воспользоваться CRM или ERP системой open source — неплохой вариант, если в штате есть профессионал, способный настроить программное обеспечение под ваши нужды. Однако опыт показывает, что как правило, приходится нанимать квалифицированного специалиста с высокими зарплатными ожиданиями или компанию-девелопера, что в конечном итоге выходит дороже коммерческого проекта.

Каждая компания выбирает наиболее подходящий вариант внедрения, исходя из бюджета и требований к системе. Бывает, что компании меняют систему после некоторого времени использования — это прямое следствие поспешно принятого решения и ошибок при оценке бизнес-процессов. Плюс ко всему, важно знать, что выбранная система сможет подстроиться под условия роста компании и расширения деятельности. Увы, не каждый вендор на российском рынке способен справиться с этим вызовом. Автоматизация бизнеса — это тот случай, когда нужно семь раз отмерять и один отрезать. Результатом тщательного и глубокого подхода будут отчёты из вашей xRM-системы — отчёты об успехе и достигнутых целях.

P.S.: мы всегда ждём толковых и надёжных партнёров (разработчиков, внедренцев, консультантов и просто агентов-продажников) на всей территории России и СНГ. Если есть желание зарабатывать на внедрении комплексных корпоративных систем, пишите, звоните. Обучим, объясним, сработаемся.

Комментарии (11)


  1. makaroff
    12.01.2016 16:21

    КДП — огонь.


  1. awhiler
    12.01.2016 17:00
    +3

    Жизненный цикл ERP системы минимум на 10 лет.
    Вы правда думаете, что бизнес логика на PL-SQL и клиент на Delphi — это нормальный выбор для нового проекта?
    Понятно там, унаследованные системы, которые боязно трогать, а не то они рассыпятся.

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


    1. Ruli24
      12.01.2016 17:24

      Бизнес логика на PL SQL — хороший вариант. Работает устойчиво. Большинство средних и крупных предприятий работают на СУБД Oracle. Для микро и малого бизнеса можно использовать технологию виртуальных клиентов и виртуальных пользователей.

      На Delphi написано куча инженерного и научного ПО (особенно в химии и нефтянке), системы администрирования, несколько CRM и ERP

      Не нравится клиент под Windows, есть клиент под Web. При этом один на все уже имеющиеся 200 задач и 100 000 элементов. Делать типовые отраслевые решения, расширяя имеющийся функционал вполне можно.


  1. geran_utran
    12.01.2016 17:10
    +2

    У меня был в детстве именно такой конструктор :)
    Правда запчастей там было на порядок больше, и я из него собрал, с привлечением дополнительных деталек из другого конструктора — … самолет :)
    Фактически сделал то же что и авторы — синтегрировал несколько систем в одну! :)


    1. Ruli24
      12.01.2016 17:32

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


  1. Ruli24
    13.01.2016 07:45
    +1

    Идеальная информационная система — это система от одного производителя. Однако в реальной жизни такого не бывает. Поэтому при внедрении новой информационной системы необходимо сделать:

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

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


  1. DbLogs
    13.01.2016 08:37
    +1

    Рекомендую посмотреть Open Source систему Orienteer. Он именно для создания xRM систем конкретно под себя, ну и заодно для бэкэнд систем для сайтов и мобильных приложений.
    Да — у нас с документацией пока весьма плохо:( Работаем в этом направлении. Но уже сейчас есть тот минимум из которого кликанием можно сделать необходимую предметную область и «жить в ней». А если хочется глубже, то все Open Source;)
    Из вкусных вещей в ближайшем будущем появятся интеграции с Eclipe BIRT, Apache Camel, поддержка Time Series данных, BPM.


    1. alexzzam
      13.01.2016 18:26
      +1

      У вас на сайте раздел Demo поломался.

      Last cause: User 'reader' has no role defined


      1. DbLogs
        14.01.2016 00:27

        Спасибо! Каждый день находится кто-то кто меняет роли и пароли:) А комментарий выше вызвал прямо волну «интересующихся». Уже востановили демо сайт.


  1. caballero
    13.01.2016 14:18

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



    1. Ruli24
      13.01.2016 16:13
      +1

      1. Встроенный документооборот, обеспечивающий изменение состояний документов и возможность привязки к любому формализованному документу неформализованного файла
      2. Механизм взаимосвязей таблиц и представлений, обеспечивающий уточнение данных как сверху вниз, так и снизу вверх. Например клиент — договор -акт — платеж проводка и наоборот.
      3. Использование СУБД Oracle обеспечивает возможность использования мощного языка PL SQL Язык программирования 1С — интерпретатор, поэтому — в основном использует язык С++ на котором делаются SQL и вместо одной строчки кода на PL SQL пишется пара десятков строк на C++. Скорость разработки на порядок выше. У нас компиляция Рули24 Предприятие идет 15 минут.

      У 1С — см. ниже.

      Для каждой конфигурации сборки(Windows x86 и x64, Linux x86 и x64) заведены свои задачи по сборке, которые запускаются параллельно на разных машинах. Сборка одной конфигурации занимает длительное время — даже на мощном оборудовании компиляции и линковка больших объёмов C++ представляет непростую задачу. Кроме того, создание пакетов под Linux (deb и rpm), как оказалось, занимает сопоставимое с компиляцией время.
      Поэтому в течение дня работает «укороченная сборка», которая проверяет компилируемость под Windows x86 и Linux x64 и выполняет минимальный набор тестов, а каждую ночь работает регулярная сборка