Хтось успішно використовував робочий процес Windows для механізму ділових правил / перевірки?


11

Мені було цікаво, чи хтось успішно використовував фонд Windows Workflow для двигуна BusinessRules / Validation, чи ви знаєте якийсь зразок коду чи статті про це.

Якщо ви використовували його раніше, що ви думаєте про це? Як це порівняно з іншими системами BusinessRule / Validation?

Я думаю про такі правила, як

if (A, B, and C) 
    AllowAccess();

Або

if (Value between X and Y)
    return true;

Відповіді:


6

Я почав будувати двигун за допомогою WWF WCF кілька місяців тому. Я не знаю, наскільки складна ваша база правил, але наша була досить великою. Коли у вас є потенціал для чогось на зразок 40 000 відділень, WWF не підходить. Як альтернатива, я закінчив створити двигун, який використовував таблиці винятків логіки в SQL. Рядки зберігатимуть основні значення, а також відформатовані рядки для формул, які варіюються між винятками. У поєднанні з динамічною мовою (я використовував вбудований двигун ironpython з обгорткою, і ви могли використовувати вбудований двигун JScript), логіку можна було визначити на високому абстрагованому рівні з ходу. Я так радий, що пішов цим маршрутом.Логіка перетягування здається чудовою, але ділові люди ніколи не зможуть нею користуватися, незважаючи на маркетинг, і це лише сповільнить розробника вниз IMHO, швидко перетворившись у щурове гніздо .

Оновлення: Якщо ви все ще зацікавлені, ось посібник для початківців . Це, звичайно, не експансивно, але має кілька пристойних відео. Що стосується налаштування, наші інженери з мережі зробили налаштування для мене (політика компанії щодо сервісного обслуговування, безпеки тощо), але, мабуть, це було майже ідентично налаштуванню базового сервісу WCF. В основному, киньте його у Віртуальний довідник на МКС. Оскільки зазвичай це тривалий процес, будьте обережні з керуванням пам’яттю під час написання послуги. Якщо не розпоряджатись ресурсом знову і знову протягом 6 місяців, це справді додасться, і ваш сервер не буде задоволений.


Як це було налаштовано? Чи знаєте ви будь-які статті в Інтернеті для початку або містять зразок коду?
Рейчел

Дякую. Як було виконано виконання ділових правил?
Рейчел

І, чесно кажучи, я проти ідеї використовувати WWF для цього, проте мій товариш по команді все для цього, тому я хотів би принаймні дати йому шанс :)
Рейчел

1
@ Рейчел - продуктивність була розумною (досить швидкою, щоб її можна було виконати в налаштуваннях інтерфейсу користувача з декількома багаторівневими нитками, якщо це щось означає). І це не шалено швидко, але нічого з розподіленого сервісу WCF також не виходить.
Морган Херлоккер

Чи є в Інтернеті ще якийсь матеріал, який демонструє ваш логічний механізм та підхід IronPython? (Посилання "Посібник для початківців" більше не працює).
Роберт Харві

1

Я маю згоду з залізовим кодом. Ми написали систему стилю блок-схеми перетягування за пару років до виходу нового Biztalk (як не дивно). Ідея полягала в тому, що непрограмісти можуть програмувати, а система буде легко підтримуватися та змінюватися.

Результат: вам все-таки потрібні «бізнес-аналітики», які повинні бути настільки ж підготовлені, як і програміст, але новою «мовою» системи WWF. Тож ви там взагалі не багато набрали. Налагоджувач ніде не був настільки гарний, як справжня система розвитку, тому ти там загубився. Також вам потрібні були програмісти, щоб написати складні модулі, які були ядром обробки даних та графічного інтерфейсу. Масштабованість також дуже швидко зникла. Прості ділові правила легко було скласти разом, але одного разу, коли ти пройшов десяток, ти був у спагетті.

Я думаю, що це мало деякі переваги, але в основному вам краще використовувати механізм сценаріїв, щоб зв'язати між собою модулі, написані на замовлення.

Це виглядало по-справжньому круто до маркетингових типів, але зроблено для чудової демонстрації :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.