Я начал строить двигатель с использованием WWF WCF несколько месяцев назад. Я не знаю, насколько сложна ваша база правил, но наша была довольно большой. Когда у вас есть потенциал для чего-то вроде 40 000 веток, WWF не подходит. В качестве альтернативы я закончил создание механизма, который использовал таблицы логических исключений в SQL. Строки будут хранить основные значения, а также форматированные строки для формул, которые варьируются между исключениями. В сочетании с динамическим языком (я использовал встроенный движок ironpython с оберткой, и вы могли бы использовать встроенный движок JScript), логика могла быть определена на высоком уровне абстракции на лету. Я так рад, что пошел по этому пути.Логика перетаскивания кажется великолепной, но деловые люди никогда не смогут ее использовать, несмотря на маркетинг, и это только замедлит разработчика, ИМХО, быстро превращаясь в крысиное гнездо .
Обновление: если вы все еще заинтересованы, вот руководство для начинающих . Это, конечно, не дорогой, но есть несколько приличных видео. Что касается установки, наши сетевые инженеры выполнили настройку для меня (политика компании по обслуживанию серверов, безопасности и т. Д.), Но предположительно это было почти идентично настройке базовой службы WCF. В основном кидайте его в виртуальный каталог на МКС. Поскольку обычно это длительный процесс, будьте особенно внимательны с управлением памятью при написании сервиса. Если вы не выбрасываете какой-то ресурс снова и снова в течение 6 месяцев, это действительно приведет к тому, что ваш сервер будет недоволен.
Я должен согласиться с железным кодом. Мы написали систему в стиле перетаскивания за пару лет до выхода нового Biztalk (как ни странно). Идея заключалась в том, что непрограммисты могут программировать, и система будет легко обслуживаемой и изменяемой.
Результат: вам все еще нужны «бизнес-аналитики», которые должны быть столь же хорошо подготовлены, как и программист, но на новом «языке» системы WWF. Таким образом, вы не получили много вообще там. Отладчик был далеко не так хорош, как настоящая система разработки, поэтому вы там проиграли. Вам также нужны были программисты для написания сложных модулей, которые были ядром обработки данных и графического интерфейса. Масштабируемость также быстро исчезла. Простые бизнес-правила было легко составить, но как только вы прошли дюжину, вы оказались в спагетти.
Я думаю, что у этого были некоторые преимущества, но в основном вам лучше использовать механизм сценариев, чтобы связать воедино написанные модули.
Это выглядело действительно круто для маркетинговых типов, хотя, сделано для большой демонстрации :)
источник