Всем спасибо за организацию замечательной встречи на тему сибирских мужиков, которых, почему-то, нам так и не показали. Зато многие узнали, что же сейчас является безусловным трендом при создании бизнес-решений: системы управления этими самими решениями.
Можно много говорить о том, что есть лучший продукт в данной области. Можно оперировать понятием цены, а можно еще раз посмотреть на картинку от уважаемого во всем мире экспертного издания Gartner. Можно создать свой продукт, который будет лучше решать мелкие оперативные задачи, а можно «жизнь положить», дабы понять, как же работает этот «замечательный» BizTalk. Но, повторю еще раз: ни одно программное обеспечение не может и не должно стоить дороже, чем оно позволит вам сэкономить/заработать. Не занимайтесь overengineering-ом, реально смотрите на вещи: какие процессы берут больше всего времени? что можно автоматизировать? какая коммерческая выгода может стоять за возможностью быстро менять условия бизнеса?
Это для бизнеса. Для разработчиков выгода очевидна: пускай бизнес занимается бизнесом. Компании, правила валидации, расчеты скидок — это их головная боль. Вы хотите создавать новую функциональность, интегрировать решения, оптимизировать работу базы данных — пожалуйста. Найдите подходящую вашим условиям BRMS (Business Rule Management System) — и научите других ею пользоваться. Найдите именно BRMS, а не простой BRE (Business Rule Engine), коим сейчас является JBoss Drools. Причины очевидны: ни одна секретарша не поймет смысл кода правила. Она поймет обычное выражение на понятном и привычном языке. Она поймет, когда ей графически пояснят, кто, где и зачем изменил что-либо. Она же понимает Word и Excel, да? Так пускай она создает бизнес-правила в Office и сохраняет их в Sharepoint? (Речь идет, например, о продукте ILOG Rules for .NET)
Что остается вам? Ведь вам чем-то придется заниматься; не просто же вы инсталлируете систему, пойдете пить кофе и выдумывать новый изящный алгоритм интеграции пива с водкой путем синхронизации их потоков в желудке.
Вам придется решить некоторые вопросы по инфраструктуре (в скобках ответы для ILOG):
1) куда вы «поставите» BRMS? (три варианта: stand-alone application, embedded container, jar в вашем приложении)
2) как вы будете «общаться» с BRMS? (поддерживаются все необходимые стандарты с точки зрения SOA)
3) какую модель данных вы используете для создания правил? (в случае множества приложений есть возможность использования динамической модели, основанной на HashMap-ах; все модели создаются и вербализируются в Rule Studio (модуль для Eclipse), а правила можно создать, напимер, и через удобный вэб-интерфейс с помощью мышки и меню в стиле drag-and-drop)
4) какие языки должна корректно поддерживать вербализация этих объектов, что бы та самая секретарша поняла, о чем речь? (out-of-the-box: английский, немецкий, французский, испанский, японский, упрощенный китайский; в разработке есть и другие языки, как то русский, например; каждый будет видеть необходимое правило на том языке, который ему наиболее понятен)
5) как организовать систему доступа и безопасности? (не имеет по умолчанию своей системы доступов; вы можете использовать или LDAP, или ActiveDirectory, или чего-нибудь еще на свое усмотрение. используя общую систему допусков для всей фирмы, кто-то сможет лишь создавать правила, кто-то — проверять их, кто-то — ставить им статус «к исполнению»)
6) что делать, если модель разрастется до невероятных размеров и станет тяжело определять, какое свойство необходимо в данный момент? (есть поддержка domain-ов, т.е. при определении конкретной категории (domain), wizard правила будет давать только используемые в данной категории объекты)
7) как избежать дублицирования кода, когда многие процессы схожи в каких-либо деталях? (есть возможность переписывания выполнения каких-либо правил, исходя из контекста; создается общий алгоритм, и, в зависимости от предопределенных условий, выполняются те или иные правила, написанные один раз каждое)
8) как тестировать полученные правила? (а почему бы не через тот же самый Excel?)
9) как скалировать систему при увеличении потока информации? (не имеет ограничений по скалированию; с точки зрения нагрузки, системе все равно, сколько в ней правил — 1000 или 100; она работает одинаково быстро, выбирая оптимальный алгоритм запуска в зависимости от задачи приложения)
10) как проверить систему на целостность и правила на адекватность? (встроенный аналитический tool найдет и те правила, которые взаимно исключают друг друга, и те, которые никогда не выполняются)
11) как получить поддержку? (профессиональные консультанты всегда подскажут наилучшее решение в той области, где вы хотите применить BRMS. ведь найти неизведанные до вас места достаточно трудно: опыт работы с eBay, VISA, JPMorgan, FannieMae, First Union, Nokia, FedEx, US Department of Homeland Security, Mexican Tax Department, Lufthansa, British Airways, Nissan, Hallmark, Pfizer работает на вас, а front-line support, например, находится на расстоянии одного телефонного звонка по Эстонии)
Полноценный тренинг и для разработчиков, и для аналитиков длится 4-5 дней. Это не сложно и намного проще, чем запустить ракету в космос. Но о деталях имплементации стоит задумываться не раньше, чем родится финансово обоснованная мысль об изменении модели построения системы. Ведь бесплатных решений не бывает — это все блеф. У одних — платная поддержка, а для других требуется серьезное инвестирование ресурсов, дабы понять, как заставить это работать в текущей среде. А еще и «заплатки» самому писать…
И последнее: сейчас везде популярно вставлять такие словечки как BPM (Business Process Management) и SOA (Service-Oriented Arhitecture). Да, для BPM третьего поколения BRMS является неотъемлимой частью. А знаете ли вы, что в мире, например, у Oracle нет ни одного примера решения формата world-wide enterprise-wide BPM? Рефакторинг систем с точки зрения SOA — это огромные затраты и «много крови». Очень много. Поэтому, если уж и следовать трендам, то стоит начать с выбора BRMS, а дальше… может, вам и не потребуется ничего больше. 😉
Anton Arhipov
я бы кстати хотел бы получить трейнинг по ILOG. в Эстонии его проводят или надо ехать куда?
Kirill Linnik
Антон… в мыло, в мыло! 😉
Anton Arhipov
Кирилл, хочешь сказать что трейнинг проводишь тоже ты? 🙂
Kirill Linnik
вообще, у меня есть все материалы по тренингам, и я сам прошел один из них 🙂 но обо всем — в приватной беседе 🙂
Anton Arhipov
можно. в любой день — я теперь свободный как ветер (почти) 🙂
Juri Mulenko
Все таки главный вопрос «по чём?» остался без ответа :). Перечисленные компании, пользующие ILOG кавивают на мысль, что для среднего бизнеса интеграция сего продукта экономически неоправданна. Отсюда встает вопрос. Не собирается ли ILOG выходить на средний рынок. Не планируется ли выпускать некий ILOG Lite ?:)
Anton Arhipov
@Juri Mulenko
reasonable question 🙂
может быть цена зависит от навороченности фирмы которая хочет использовать ILOG? типа для eBay одна цена, а для Eesti Post — другая. А продукт один и тот же.
just my best guess 🙂
Juri Mulenko
@Anton Arhipov
ну меня интересует цена с точки зрения разработчика, точнее «интегратора». Я покупаю лицензию и продаю решение с использованием ILOG своим клиентам. Кто они — Гугл или Саратовский мясокомбинат это уже мое дело.
Kirill Linnik
Юра, здесь палка о двух концах.
С одной стороны, многие фирмы стараются не использовать референции от среднего и малого бизнеса. Почему? Ну, а что тебе скажут названия фирм из Европы, которые «не на слуху»? Да, есть множество фирм, которые используют ILOG, но о которых ты никогда в жизни не узнаешь. Так что, pointless.
С другой стороны, особенно, это касается малого бизнеса, должно быть финансовое обоснование перехода на BRMS. И я уже писал и говорил об этом неоднократно. Если вы выиграете от этого одну-две тысячи евро, то даже условно бесплатный Drools не имеет смысла.
Подводя итоги, хочется заметить, что Антон прав. У ILOG очень гибкая политика лицензирования, и, в зависимости от задач и требований к BRMS, цена для разных клиентов будет разная.
Juri Mulenko
Кирилл,стоимость лицензий закладывается в проект всей инфосистемы. Как в таком случае разработчику узнать стоимость лицензий, если он не хочет/не может разглашать информацию о предприятии-клиенте. Или Webmedia может дать гарантию, что не будет переманивать клиента, в случае 3х-сторонних переговоров?
Kirill Linnik
Юра, логично, что твой lead твоим и останется. У нас свои задачи, у тебя — свои. Каждый останется при своих.