WWF в чём смысл? И нужно ли использовать?
От: push  
Дата: 26.02.16 23:25
Оценка:
Привет всем снова, продолжаю изучать C# и вот наконец дошёл до WWF. Почитал, сделал несколько примеров. В итоге остались вопросы:
1) В чём смысл WWF? Он неудобен для разработки с моей точки зрения как программиста. Да, у него есть схема, но она никак не будет "понятной" для человека далёкого от программирования (на мой взгляд, схемы в данном виде — это если и плюс — то совсем микроскопический). Это механизм сложен. Нет, для элементарных проектов он прост (но ещё проще сделать без него), но для больших проектов мне кажется там неминуемо появится бессмысленная сложность.
2) Что-то не получается нагуглить — есть хоть какие-то удачные примеры использования данной технологии в реальных проектах? Другими словами есть хоть что-то, что не обзорные статьи, примеры Hello-World, заметки How-To?
Re: WWF в чём смысл? И нужно ли использовать?
От: Kolesiki  
Дата: 27.02.16 00:05
Оценка: 20 (1)
Здравствуйте, push, Вы писали:

P>1) В чём смысл WWF?


Для индустрии это метод автоматизации бизнес-процессов. Ты пишешь всякие правила, процедуры, а они "как бы сами" исполняются в диспетчере.
Для мелкософта это ещё один метод поднятия бабла. Не обязательно с качественным продуктом, главное — застолбить крупную нишу, чтобы другие компании не тыкали пальцем "ха-ха, у мелкософта нет workflow!". Что потом будет с продуктом — Билл его знает! Но широкого использования WF я тоже не вижу. В любом случае, когда он тебе понадобится — ты сам поймёшь, сейчас-то чего его тыкать? Слишком специальный софт, чтобы изучать "на всякий".
Re: WWF в чём смысл? И нужно ли использовать?
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 27.02.16 13:30
Оценка:
Здравствуйте, push, Вы писали:

P>Привет всем снова, продолжаю изучать C# и вот наконец дошёл до WWF. Почитал, сделал несколько примеров. В итоге остались вопросы:

P>1) В чём смысл WWF? Он неудобен для разработки с моей точки зрения как программиста. Да, у него есть схема, но она никак не будет "понятной" для человека далёкого от программирования (на мой взгляд, схемы в данном виде — это если и плюс — то совсем микроскопический). Это механизм сложен. Нет, для элементарных проектов он прост (но ещё проще сделать без него), но для больших проектов мне кажется там неминуемо появится бессмысленная сложность.

Как уже писали выше, основная задача workflow-движков — описание больших бизнес-процессов.
На сколько оправданно применение подобных средств вообще, я не скажу, а вот в ECM (или иначе говоря документооборот) используется очень активно и считается практически must have.
Я не так давно попытался изложить свои мысли на тему "в чем плюсы" здесь
Автор: Михаил Романов
Дата: 02.11.15
.

При этом я говорил о workflow вообще. Опыта работы именно с WF у меня нет.

P>2) Что-то не получается нагуглить — есть хоть какие-то удачные примеры использования данной технологии в реальных проектах? Другими словами есть хоть что-то, что не обзорные статьи, примеры Hello-World, заметки How-To?

Примеры есть, только при чем тут, правда, документация?
А вообще, на сколько я знаю, WF используется как базис для workflow в таких продуктах:
— правда, надо признать, что в чистом виде, без доработок WF взятат только в первом продукте. В двух оставшихся шла, на сколько я знаю, очень серьезная переделка.
Re: WWF в чём смысл? И нужно ли использовать?
От: Слава  
Дата: 27.02.16 14:25
Оценка: 40 (1) +2
Есть пример, у меня. На свою голову начал использовать WWF в проекте платежного терминала. Проект доведен до конца, работает нормально, правда, он и без WWF бы работал неплохо.

Общая идея его такая: есть некий длительный процесс, который должен устойчиво работать, иметь возможность быть прерванным и восстановленным с того же места, откуда прервали. Соответственно, весь код делится на две части, 1 — поток управления, инструкции с условиями, циклами, отловом исключений, транзакциями, с неким контекстом, в котором лежат переменные, и подконтекстами со своими переменными, области видимости вложенные, все это может быть остановлено в любой точке и сохранено, и 2 — блоки кода, которые исполняются уже внутри инструкций потока.

Пример:

(взять документ) -> (отправить документ на подпись) -> (если документ подписан) ->
-> (then) (передать документ дальше)
-> (else) (вернуть документ пользователю)

Все блоки вы пишете сами, обычным кодом. А сцеплять их в поток вы будете либо в редакторе схем, жутко неудобном, тормозном и глючном, либо в обычном коде — но без визуализации. В WWF нет ничего особенно плохого и любой человек, поставивший себе задачу сделать workflow с возможностью прерывания и возобновления, в итоге придет к чему-то подобному. Но плохо в нем само исполнение, очень уж все громоздко и неочевидно. Хотя я не имел опыта работы с другими движками для workflow и возможно, сама предметная область такая, что "кратко и красиво" просто не получится.

В workflow есть некий IoC, в него можно подать свои сервисы, а затем, из блоков — получить ссылку на них, запросив нечто подходящее по интерфейсу. Это удобно.

Редактор схем использовать не советую. Хоть я и рисовал все в нем, когда схема становится большой, редактор теряет свои преимущества. Он генерирует преогромный XAML, который вам придется редактировать руками, если вы что-то переименовали Resharper'ом, после чего редактор откажется грузить XAML с частично невалидными именами.
Re: WWF в чём смысл? И нужно ли использовать?
От: Win32nipuh  
Дата: 29.02.16 10:59
Оценка:
Здравствуйте, push, Вы писали:

P>Привет всем снова, продолжаю изучать C# и вот наконец дошёл до WWF. Почитал, сделал несколько примеров. В итоге остались вопросы:

P>1) В чём смысл WWF? Он неудобен для разработки с моей точки зрения как программиста. Да, у него есть схема, но она никак не будет "понятной" для человека далёкого от программирования (на мой взгляд, схемы в данном виде — это если и плюс — то совсем микроскопический). Это механизм сложен. Нет, для элементарных проектов он прост (но ещё проще сделать без него), но для больших проектов мне кажется там неминуемо появится бессмысленная сложность.
P>2) Что-то не получается нагуглить — есть хоть какие-то удачные примеры использования данной технологии в реальных проектах? Другими словами есть хоть что-то, что не обзорные статьи, примеры Hello-World, заметки How-To?

Человек далекий от программирования не должен тратить время на изучение шарпа и заняться чем-то другим или же не должен говорить, что он далек от программирования.
Это взаимоисключающие вещи.
Re: WWF в чём смысл? И нужно ли использовать?
От: Sharov Россия  
Дата: 29.02.16 12:54
Оценка:
Здравствуйте, push, Вы писали:

P>Привет всем снова, продолжаю изучать C# и вот наконец дошёл до WWF. Почитал, сделал несколько примеров. В итоге остались вопросы:

P>1) В чём смысл WWF? Он неудобен для разработки с моей точки зрения как программиста. Да, у него есть схема, но она никак не будет "понятной" для человека далёкого от программирования (на мой взгляд, схемы в данном виде — это если и плюс — то совсем микроскопический). Это механизм сложен. Нет, для элементарных проектов он прост (но ещё проще сделать без него), но для больших проектов мне кажется там неминуемо появится бессмысленная сложность.
P>2) Что-то не получается нагуглить — есть хоть какие-то удачные примеры использования данной технологии в реальных проектах? Другими словами есть хоть что-то, что не обзорные статьи, примеры Hello-World, заметки How-To?

Есть люди, которые мыслят в конечных автоматах, любую проблему стараются решить путем введения явных состояний и переходов между ними. Из состоянии А переходим в состояние Б выполняя такой то код и т.п. Я не говорю, что это плохо -- это так. Вот ента штукуевина им подспорье -- графический редактор, где можно описывать что, куда и откуда, и какой при этом код выполнять. Ну и множество других плюшек, отмеченных выше, типа прервать выполнение программы (сохранить состоянии, например, в бд), а потом продолжить. Для расширения кругозора знать и понимать неплохо, а на практике нечасто придется применять.
Кодом людям нужно помогать!
Re[2]: WWF в чём смысл? И нужно ли использовать?
От: push  
Дата: 29.02.16 14:07
Оценка:
Спасибо. Как я понял, эта технология пока не на том уровне, чтобы уделять ей внимание. Раз добавили визарды в студию — то может когда-нибудь её доведут до удобного состояния.
Re[2]: WWF в чём смысл? И нужно ли использовать?
От: push  
Дата: 29.02.16 14:10
Оценка:
Здравствуйте, Слава, Вы писали:

С> Хотя я не имел опыта работы с другими движками для workflow и возможно, сама предметная область такая, что "кратко и красиво" просто не получится.


С>Редактор схем использовать не советую. Хоть я и рисовал все в нем, когда схема становится большой, редактор теряет свои преимущества. Он генерирует преогромный XAML, который вам придется редактировать руками, если вы что-то переименовали Resharper'ом, после чего редактор откажется грузить XAML с частично невалидными именами.


Спасибо. Если не использовать студийный редактор — то получается что теряется собственно "фишка" этой технологии. Ведь в ином случае, на мой взгляд, удобнее всё-таки делать свою конкретную архитектуру.
Re[2]: WWF в чём смысл? И нужно ли использовать?
От: push  
Дата: 29.02.16 14:14
Оценка:
Здравствуйте, Win32nipuh, Вы писали:

W>Человек далекий от программирования не должен тратить время на изучение шарпа и заняться чем-то другим или же не должен говорить, что он далек от программирования.

W>Это взаимоисключающие вещи.

Ну как-бы основная фишка данной технологии, которая подчёркивается во всех книгах/хелпах/обзорных статьях — это возможность разобраться в программе людям, далёким от программирования. Я как раз и указывал на то, что в текущим виде схем разобраться без опыта программирования трудно. Что те же бизнесс-аналитики не будут добровольно эти схемы использовать. Получается с текущим уровнем диаграмм "фишка" этой технологии совсем не "фишка".
Re[2]: WWF в чём смысл? И нужно ли использовать?
От: push  
Дата: 29.02.16 14:15
Оценка:
Где-то так я и предполагал. Думал, может чего не вижу и кто-нибудь раскроет мне глаза.
Re[3]: WWF в чём смысл? И нужно ли использовать?
От: Win32nipuh  
Дата: 29.02.16 14:43
Оценка:
Здравствуйте, push, Вы писали:

P>Здравствуйте, Win32nipuh, Вы писали:


W>>Человек далекий от программирования не должен тратить время на изучение шарпа и заняться чем-то другим или же не должен говорить, что он далек от программирования.

W>>Это взаимоисключающие вещи.

P>Ну как-бы основная фишка данной технологии, которая подчёркивается во всех книгах/хелпах/обзорных статьях — это возможность разобраться в программе людям, далёким от программирования. Я как раз и указывал на то, что в текущим виде схем разобраться без опыта программирования трудно. Что те же бизнесс-аналитики не будут добровольно эти схемы использовать. Получается с текущим уровнем диаграмм "фишка" этой технологии совсем не "фишка".


То есть разобраться в программировании людям далеким от программирования?
Это где такой парадокс написан? Хотя сейчас полно всякой фигни типа программировать за 21 день или для чайников
Re[3]: WWF в чём смысл? И нужно ли использовать?
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 29.02.16 21:50
Оценка: +2
Здравствуйте, push, Вы писали:

P>Ну как-бы основная фишка данной технологии, которая подчёркивается во всех книгах/хелпах/обзорных статьях — это возможность разобраться в программе людям, далёким от программирования.


Ну мне такие статьи не попадались, хотя я верю, что написать такое могли.
Но это не так. Основная "фишка", как уже написали, в организации рабочих процессов. Сам процесс, зачастую, сильно растянут по времени. Если процесс занимает час-другой, а то и день-другой, то сервер за это время может, например, перезагрузиться. WWF обеспечивает надёжное восстановление процесса обработки данных с любого места.

Это сильно специфическая область и если вам оно сейчас не нужно, то и большого смысла разбираться с ней нет. Просто запомните, что такое есть в природе и при случае будете знать, где искать.
Я сталкивался с WWF дважды. Первый раз в Microsoft Bing, второй раз на сегодняшней работе, в GE Healthcare. Подробности рассказать не могу т.к. подробности подпадают под NDA, а в публичном доступе публикаций на эту тему от MS я пока не видел.
С уважением, Artem Korneev.
Re: WWF в чём смысл? И нужно ли использовать?
От: MozgC США http://nightcoder.livejournal.com
Дата: 29.02.16 22:46
Оценка: +2
У меня как-то возникла на работе задача, которую WWF мог решить. Я начал честно с ним плотно разбираться, но не покидало ощущение, что мне дали в руки пушку, т.е. всё как-то слишком сложно (по крайней мере для моей задачи). В результате я отказался от использования WWF, т.к. понял что мою задачу проще решить самописным классом типа StateMachine, строчек так на 300-500, чем разбираться в WWF мне и будущим разработчикам на проекте.
http://www.brainbench.com/images/certlogo/color/mastercert/csharp50.gif
Re: WWF в чём смысл? И нужно ли использовать?
От: Vladek Россия Github
Дата: 02.03.16 06:12
Оценка:
Здравствуйте, push, Вы писали:

P>1) В чём смысл WWF?


Натянули XAML на конечный автомат. Никто его толком не использует, ибо нафиг не нужен и совершенно неудобен.
http://files.rsdn.org/43395/hr-kyle-theisen-04.png
Re[2]: WWF в чём смысл? И нужно ли использовать?
От: senglory  
Дата: 18.03.16 07:59
Оценка:
P>>1) В чём смысл WWF?

V>Натянули XAML на конечный автомат. Никто его толком не использует, ибо нафиг не нужен и совершенно неудобен.

За "никто" я бы не стал говорить. Шарепоинтеры его используют только влет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.