Как появление IEM-систем
сделало ERP устаревшими >

История платформы

На текущий момент на рынке — второе поколение платформы (официальный номер версии — 4.5), релиз октября 2013 года.

Первая версия была создана в 2004 году в недрах Ultra Electronics для собственных нужд.
Компания, начавшая работу в 2001 году и росшая невероятно быстро, уже к 2003 столкнулась с принципиальными ограничениями по производительности 1С:Предприятия 7.7 (никакие безумные суперсервера уже не спасали): система чаще тупо висела или вылетала, чем функционировала, собственно работа превратилась в издевательство. Понятно, что учетную программу надо было менять (и не вчера, а позавчера), вопрос — на что.

Предлагаемый ассортимент на рынке с тех пор поменялся не сильно, так что понятно, что были приглашены представители настрявших на зубах Аксапты и САП.
NB: Определяющее значение в излагаемой истории имеет тот факт, что в силу исторически уникального стечения обстоятельств, существенную часть топ-менеджмента Ultra Electronics (отвечавшую за организацию бизнес-процессов и их IT-сопровождение) составляла группа товарищей, уже имевшая к тому моменту серьезный профессиональный опыт внедрения и эксплуатации различных систем управленческого учета в различных областях.
Читатель уже догадывается, во что эта группа товарищей с течением лет превратилась.


Профессиональной компетентности ГТ (группы товарищей) оказалось достаточно, чтобы, смахнув с ушей [не очень убедительно — с точки зрения профессионала-инсайдера, но весьма] обильно развешанные макаронные изделия, верно оценить как качество предлагаемых решений, так и наиболее вероятную перспективу проекта внедрения.

На рассмотрение оставались варианты:

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

В итоге работа была начата по обоим фронтам.
Кодинг на 1С-овской платформе (все проектирование, разработка ТЗ и прочие интеллектуальные вещи делались собственными силами) был поручен 1С-овскому франчайзи, имя которого для настоящей истории значения не имеет, подписавшемуся на сверхжесткие условия по скорости работы и оплате. Через малое количество месяцев, изнемогая в неравной борьбе со временем и паскудным абортивным материалом криворуких , тупых , фекализованных приматов гомосексуальной ориентации в оскорбительной форме etc (тут мы попытались в цензурной форме, но с возможным сохранением экспрессивной окраски передать характеристику морального облика и профессиональной компетентности сотрудников славной фирмы 1С) — оный франчайзи признал поражение и удалился. «Фиаско потерпел я, в изгнание отправиться должен» © магистр Йода.
Кстати, если же бы у 1С хватило здравого смысла чуть подождать и сразу выпустить минимально рабочий продукт (хотя бы такой, как 8.2), все могло бы быть по-другому. Впрочем, это уже другая песня.


На втором фронте самостоятельной разработки была собрана команда проекта (ГТ + опытные разработчики с рынка под Oracle), получившая категорический наказ быстро и не считаясь с затратами произвести на свет продукт, который бы не тормозил (никогда вообще, censored!) ни при каких реально мыслимых нагрузках.
Несмотря на жесткие временные ограничения, система проектировалась в том числе с расчетом на будущее широкое промышленное применение: (почти) без компромиссов по универсальности и (почти) без срезания углов.

В итоге новая система, написанная с нуля на .NET под Oracle Database Enterprise Edition, была успешно запущена в сентябре 2004 года — проект был завершен менее чем за два года.
Именно на этой версии платформы с минимальными изменениями до сих пор работает большинство клиентов Ultimate. Причем релиз 2004 года по совокупности эксплуатационных качеств продолжает превосходить на немалое количество голов продукты всех известных коллег без исключения.

Убрав важнейшее инфраструктурное препятствие, Ultra Electronics продолжила бурный рост, став в итоге к 2006 безусловным лидером рынка компьютерного ритейла РФ с годовым оборотом под миллиард долларов США.
Однако уже начиная с конца 2006 года компания стала жертвой крупномасштабных рейдерских атак, продолжавшихся в течение двух лет практически без перерыва и в итоге приведших к фактическому банкротству и уходу с рынка. Достойные голливудского триллера события с вооруженной блокировкой складов, пиар-война на площадках десятков СМИ — от блогов до центральных телеканалов, спецоперации ФСБ с фиксацией передачи рекордных взяток, крупнейшая на тот момент в истории Рунета серия DDOS-атак — многое из этого до сих пор доступно интернете. Полнота и качество информации страдает весьма и весьма — как в силу «активной позиции» щедро оплаченных пехотинцев пиар-войн, так и в низкого качества работы, свойственного отечественному журналистскому корпусу в целом.

В общем, в итоге всех перипетий, сабжевая группа товарищей к лету 2008 года оказалась с рабочей системой на руках, пустотой в желудке и полной свободой действий.
Так, собственно, и появилась на свет компания Ultimate.
Выпуск на рынок продукта под одноименным названием был запланирован еще в период активной жизнедеятельности Ultra Electronics, отсюда и совпадение первых букв. Как, впрочем, и в случае Юлмарта — ulmart.ru

Далее все банально. Располагая столь мощным бэкграундом success story Ultra, продажи не представляли проблемы. Внедряли и обслуживали клиентов собственными силами.

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

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

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

Дополнение для разработчиков и особо пытчивых читателей:

Поколения платформы на уровне кода НЕ совместимы. Общего между ними — идеология и принципы устройства.
Более того, мы предполагаем (насколько человек со своими слабыми силами вообще может предполагать) продолжать следовать такому подходу: примерно раз в десять лет, собирая последние достижения технологий и опыта работы за истекший период, полностью, без оглядки на совместимость кода конфигураций, переписывать платформу (третье и так далее поколения).
Соответственно, ВНУТРИпоколенческие релизы будут либо 100% совместимы между собой, либо необходимость модификаций внешнего кода будет минимальна, причем о них партнеры будут уведомляться не менее чем за три месяца до соответствующего релиза.

Почему так:

  • таким образом, мы
    а) намерены избежать естественно-энтропийной деградации платформы в результате тщетных попыток обеспечения обратной совместимости, уходящих вглубь десятилетий — того, во что превратился SAP и отчего, пусть и в существенно меньшей степени, но страдает MS Axapta,
    б) Последний релиз платформы, таким образом, будет [продолжать оставаться несомненным] лидером отрасли по функционалу, производительности и возможностям разработки;
  • даже относительно устаревшие поколения платформы будут в подавляющем большинстве случаев значительно превосходить конкурентов.
    Как уже упоминалось выше, версия платформы 2004 года и сейчас даст сто очков вперед всем известным конкурентам и, судя по динамике развития последних, не отстанет еще в течение как минимум лет десяти.
развернуть
Для интереса, сведенные в таблицу различия между релизами:
  Первый релиз 2004 Ultimate Solid 2013 Комментарии
Архитектура Проприетарная Архитектура клиента и сервера MEF MEF позволяет снизить связанность приложения, значительно увеличивая его устойчивость к изменениям. Кроме того MEF включен в .NET FrameWork и поддерживается MS.
Каналы связи Стандартный .NET Remoting Инфраструктура коммуникации Zyan Framework OpenSource проект нормальной реализации .NET Remoting. Поддерживает one-way вызовы, события с фильтрами, доступен для mono на Android, использует постоянное соединение с шифрованием и авторизацией.
Представление метаданных Метаданные описаны в XML-файле Метаданные хранятся в структурированном виде в БД Можно использовать это в SQL запросах
Управление метаданными Метаданные редактируются в текстовом файле Метаданные редактируются в графическом редакторе  
Версионируемость конфигурации Одна версия только Встроенная система контроля версий конфигурации Каждый разработчик ведет разработку в своей версии. Это позволяет во многих случаях полностью исключить влияние на Production базу изменений, упростить и организовать тестирование изменений, согласовать работу нескольких разработчиков.
Языки разработки C# 2.0 и Visual Basic .NET Язык разработки C# 5.0 Очень много изменений
Способ доступа к данным Несколько методов для получения объектов метаданных LINQ для объектов метаданных Теперь разработчик может строить сложные запросы для получения типизированных объектов метаданных не прибегая к SQL запросам. Это упрощает разработку, сокращает количество ошибок, увеличивает усточивость приложения к изменениям.
Редактор кода Regexp based Intellisense для Visual Basic Intellisense в редакторах кода с поддержкой C# 5.0 на основе Roslyn Project Работает гораздо лучше, можно получить подсказки даже для сложных выражений
Мобильная разработка Поддерживалась только Win CE Платформа для мобильной разработки для iOS, Android Основана на Xamarin Studio и использует C# для разработки
Интеграционные интерфейсы Требовался IIS Платформа для разработки вебсервисов, без использования IIS  
Интеграционные интерфейсы Поддерживался только SOAP Поддержка протоколов JSON, SOAP, PCL библиотек для мобильной разработки сторонних приложений Платформа скрывает особенности протоколов, разработчик пишет код один раз. Обращаться можно по разным протоколам.
Инфраструктура печати Синхронная печать без гарантий доставки и очередности Гибкая система печати с поддержкой гарантии доставки и очередности выполнения заданий Ускоряет обработку и снижает время блокирования данных в транзакциях, как следствие увеличивается масштабируемость.
Масштабируемость Поддержка одного StandBy сервера Новые возможности оптимизации — отказ от балансовых таблиц, поддержка нескольких StandBy серверов и прочее  
Локализация Отсутствовало Мультиязычность пользовательского интерфейса поддерживается платформой Все объекты метаданных хранят свои названия на многих языках, формы могут иметь разное отображение для разных языков. Текстовые значения справочников могут иметь разные значения для разных языков.
Быстрое прототипирование Только для справочника, без возможности кастомизации RAP — быстрое прототипирование приложения с использованием генерации форм на основе метаданных  
Ограничение доступа к данным Только на стороне аппсервера Поддержка предикативного и объектного доступа со стороны базы Увеличивает производительность и надежность проверки прав
Ограничение доступа к данным Плоская система прав Вложенные наборы прав, гибкая система настройки прав пользователей Проще настраивать права
Настройка Большинство настроек в текстовых конфигурационных файлах Упрощенные процедуры администрирования серверов Проще разворачивать и настраивать сервера
Логирование изменений Сохраняется только логин пользователя Сохраняются полные данные о пользователе — логин в системе, имя компьютера, имя пользователя в Windows  
развернуть
Как появление IEM-систем сделало ERP устаревшими