Nexus - Nemerle workflow engine
От: s_g_s  
Дата: 21.06.07 19:32
Оценка:
Наша внутренняя разработка, будет использоваться во внешних продуктах (к одному уже прикручивается):

Nexus — это .NET workflow engine с открытым кодом, написанный на Nemerle. Workflow рассматривается как ориентированный граф с циклами, где вершины представляют собой задачи, а ребра — переходы между задачами


http://fulcrumweb.com/?page=technology&tab=nexus
Re: Nexus - Nemerle workflow engine
От: IT Россия linq2db.com
Дата: 21.06.07 22:54
Оценка:
Здравствуйте, s_g_s, Вы писали:

__>

__>Nexus — это .NET workflow engine с открытым кодом, написанный на Nemerle. Workflow рассматривается как ориентированный граф с циклами, где вершины представляют собой задачи, а ребра — переходы между задачами


А чем WWF не устраивает?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re: Nexus - Nemerle workflow engine
От: ie Россия http://ziez.blogspot.com/
Дата: 22.06.07 04:13
Оценка:
Здравствуйте, s_g_s, Вы писали:

__>http://fulcrumweb.com/?page=technology&amp;tab=nexus


Пока успел мельком глянуть только Bitset, сразу появилось несколько вопросов.

1. Зачем нужны методы Map, Filter, Fold, Iter, и т.д. Почему не воспользоваться библиотечными?

2. Наверняка вам при разработке показалось неудобным использование макроса requires. Ведь вот это:
requires superset != null otherwise throw ArgumentNullException ("superset")

не многим лучше чем:
when (superset != null)
  throw ArgumentNullException ("superset");

а без otherwise макрос requires, как и NotNull со своей задачей справляется весьма сомнительно бросая AssertionException, вместо ожидаемого ArgumentNullException.

В связи с этим всем вопрос: какие у вас предложения по улучшению этих макросов. Беда в том, что главные Немерлисты могут отказаться менять поведение текущих макросов.

У меня в свое время по-этому вопросу родились идеи таких вариаций макроса requires:
1. requires notnull <arg name> -> ArgumentNullException
2. requires range <condition> -> ArgumentOutOfRangeException
3. requires condition <condition> -> ArgumentException
4. requires enumdef <arg name> -> InvalidEnumArgumentException
Превратим окружающую нас среду в воскресенье.
Re[2]: Nexus - Nemerle workflow engine
От: s_g_s  
Дата: 22.06.07 08:43
Оценка: 1 (1)
Здравствуйте, IT, Вы писали:

IT>А чем WWF не устраивает?


WWF заточен под программистов, т.е. для того, чтобы из формата "кружочки-стрелочки" нарисовать в их дизайнере workflow, необходимо этот самый workflow сначала формализовать. Пользователями же нашего движка являются обычные клерки (проект связан с документооборотом), для которых это невероятно сложная задача (проверено на практике ). А описать workflow в виде правил a-la "если письмо получено с литерой A, то направить его в департамент X" им по силам. Опять же, не надо ломать голову с синхронизацией параллельных потоков, ибо оно само.
Да, и с базовой валидацией в WWF плохо (под базовой валидацией я имею ввиду проверку на отсутствие дедлоков, вечных циклов и т.д.)
Re[2]: Nexus - Nemerle workflow engine
От: s_g_s  
Дата: 22.06.07 08:48
Оценка:
Здравствуйте, ie, Вы писали:

ie>Пока успел мельком глянуть только Bitset, сразу появилось несколько вопросов.


ie>1. Зачем нужны методы Map, Filter, Fold, Iter, и т.д. Почему не воспользоваться библиотечными?


Хм, Bitset был написан несколько ранее, во время изучения мной Nemerle. Отсюда и косяки

ie>У меня в свое время по-этому вопросу родились идеи таких вариаций макроса requires:

ie>1. requires notnull <arg name> -> ArgumentNullException
ie>2. requires range <condition> -> ArgumentOutOfRangeException
ie>3. requires condition <condition> -> ArgumentException
ie>4. requires enumdef <arg name> -> InvalidEnumArgumentException

Здорово! Только имхо вместо '->' поставить '=>', по аналогии с match.

ЗЫ: А notnull, range и т.д. — это макросы? А как задать параметры ексепшену?
Re[3]: Nexus - Nemerle workflow engine
От: Алексей П Россия  
Дата: 22.06.07 09:28
Оценка:
Здравствуйте, s_g_s, Вы писали:

ie>>У меня в свое время по-этому вопросу родились идеи таких вариаций макроса requires:

ie>>1. requires notnull <arg name> -> ArgumentNullException
ie>>2. requires range <condition> -> ArgumentOutOfRangeException
ie>>3. requires condition <condition> -> ArgumentException
ie>>4. requires enumdef <arg name> -> InvalidEnumArgumentException

__>Здорово! Только имхо вместо '->' поставить '=>', по аналогии с match.


Насколько я понял, это не часть синтаксиса, а логическая стрелка. Типа, если написать "requires notnull a", то вылезет исключение ArgumentNullException("a").

__>ЗЫ: А notnull, range и т.д. — это макросы? А как задать параметры ексепшену?


Это пока еще не макросы, а идея. Но идея полезная, и суть ее в том, что параметры и тип ексепшна выводятся макросом, по шаблону — чтобы вручную не писать.
А по поводу "могут отказаться менять" — так оставить заодно и старый синтаксис, без типизации требования.
Re[2]: Nexus - Nemerle workflow engine
От: Аноним  
Дата: 22.06.07 14:08
Оценка:
Здравствуйте, IT, Вы писали:

IT>А чем WWF не устраивает?


В нем "программировать" можно только в дизайнере. Ну или дикий xml руками набивать.
Плюс, нигде нет примеров workflow'ов б/м приличной сложности.
Делов в том, что на маленьких, в три-четыре шага, всё пучком. А на тех, что побольше:
1)дизайнер конкретно тормозит (PentiumM 1.86 1G, StateMachine WF, ~ 15-20 шагов-activities)
2)сам workflow становится мало-понятным, ибо конкретная проблема "стрелочки"-переходы уложить приличным образом.
3)нет приличного auto-layout.
4)дизайнер не сохраняет точное положение "стрелочек", соотв. закрыл/открыл workflow — а там каша.
5)я не придумал нормального способа для юнит тестирования workflow . (сами activities можно задавать в xml и грузить отдельно...)

Личное впечатление от WWF — неповоротливая и излишне сложная штуковина. Надо тратить (слишком) много времени.
Хотя наличный функционал привлекает, так что надо внимательно подходить к выбору workflow-движка. Эх, подождем 3й версии
Re[3]: Nexus - Nemerle workflow engine
От: Dr.Gigabit  
Дата: 24.06.07 15:28
Оценка:
Здравствуйте, s_g_s, Вы писали:

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


IT>>А чем WWF не устраивает?


__>WWF заточен под программистов, т.е. для того, чтобы из формата "кружочки-стрелочки" нарисовать в их дизайнере workflow, необходимо этот самый workflow сначала формализовать.


Не вижу тут "заточки под программистов". Как раз WWF -- это DSL, который скорее заточнен под всякого рода аналитиков.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Nexus - Nemerle workflow engine
От: achmed Удмуртия https://www.linkedin.com/in/nail-achmedzhanov-9907188/
Дата: 25.06.07 06:18
Оценка:
Здравствуйте, Dr.Gigabit, Вы писали:

DG>Не вижу тут "заточки под программистов". Как раз WWF -- это DSL, который скорее заточнен под всякого рода аналитиков.


Нет, не заточен. Мы тоже используем этот фреймворк в своем продукте, в том виде, в котором он есть изначально (это набор стандартных activity и и стандартный дизайнер) использовать его сложно даже разработчику в первое время. То что выше сказано про проблемы с большими workflow правда, чтобы в этом убедится нужно попробовать смоделировать какой-нибудь "жизненный" пример.
Re: Nexus - Nemerle workflow engine
От: achmed Удмуртия https://www.linkedin.com/in/nail-achmedzhanov-9907188/
Дата: 25.06.07 06:35
Оценка:
Здравствуйте, s_g_s, Вы писали:

__>Наша внутренняя разработка, будет использоваться во внешних продуктах (к одному уже прикручивается):

__>[....]

Как можно посмотреть можно RAD Framework, здесь только описание ...
Re[2]: Nexus - Nemerle workflow engine
От: s_g_s  
Дата: 25.06.07 09:27
Оценка:
Здравствуйте, achmed, Вы писали:

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


__>>Наша внутренняя разработка, будет использоваться во внешних продуктах (к одному уже прикручивается):

__>>[....]

A>Как можно посмотреть можно RAD Framework, здесь только описание ...


Ответ коллеги, который занимается фреймворком:

Фреймворк — не open source продукт, часть фреймворка планируется сделать open source (библиотеку утилитных методов), можно будет с ней ознакомиться, когда мы ее выложим на сайте.

Re[4]: Nexus - Nemerle workflow engine
От: s_g_s  
Дата: 25.06.07 09:35
Оценка:
Здравствуйте, Dr.Gigabit, Вы писали:

DG>Не вижу тут "заточки под программистов". Как раз WWF -- это DSL, который скорее заточнен под всякого рода аналитиков.


Скажем так, заточен под людей, имеющих навык формализации "кружков-стрелочек". Для человека без математического образования, не знакомого даже со понятием "блок-схема", WWF сложен. Кроме того, при переводе графа в блок схему workflow усложняется и теряется наглядность; можешь попробовать передизайнить граф из статьи (кстати, это реальный пример из request'а).
Re[5]: Nexus - Nemerle workflow engine
От: achmed Удмуртия https://www.linkedin.com/in/nail-achmedzhanov-9907188/
Дата: 25.06.07 10:04
Оценка:
Здравствуйте, s_g_s, Вы писали:

__>Скажем так, заточен под людей, имеющих навык формализации "кружков-стрелочек".


Да ладно бы кружки стрелочки ....
1) трехэтажные binding expression выглядят ужасно, трехэтажные они потому в жизненных wf много вложенных блоков ( при том что они не расширяются как в WPF, надо писать свою реализацию, если хочется чего то удобнее)
2) dynamic activity и declarative rules, не я один один сильно расстороился, когда узнал, что decartive rule нельзя использовать с dynamic activity (а это есть в While, CondotionedActivityGroup)

какие там клерки ...
Re[3]: Nexus - Nemerle workflow engine
От: achmed Удмуртия https://www.linkedin.com/in/nail-achmedzhanov-9907188/
Дата: 25.06.07 10:06
Оценка:
Здравствуйте, s_g_s, Вы писали:

__>Ответ коллеги, который занимается фреймворком:

__>

__>Фреймворк — не open source продукт, часть фреймворка планируется сделать open source (библиотеку утилитных методов), можно будет с ней ознакомиться, когда мы ее выложим на сайте.


Эх, самореклама значит ...
как то скудно звучит библиотеку утилитных методов
Re[5]: Nexus - Nemerle workflow engine
От: Dr.Gigabit  
Дата: 27.06.07 19:30
Оценка:
Здравствуйте, achmed, Вы писали:

A>Здравствуйте, Dr.Gigabit, Вы писали:


DG>>Не вижу тут "заточки под программистов". Как раз WWF -- это DSL, который скорее заточнен под всякого рода аналитиков.


A>Нет, не заточен. Мы тоже используем этот фреймворк в своем продукте, в том виде, в котором он есть изначально (это набор стандартных activity и и стандартный дизайнер) использовать его сложно даже разработчику в первое время.

На базе стандартного набора разработчики в состоянии написать DSL для аналитиков.

A>То что выше сказано про проблемы с большими workflow правда, чтобы в этом убедится нужно попробовать смоделировать какой-нибудь "жизненный" пример.

Пробовали. Рекомендую купить 30'' монитор. Кое как-решает проблемы с "большим" воркфлоу.

Вообщем я не увидел реальный проблем.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Nexus - Nemerle workflow engine
От: achmed Удмуртия https://www.linkedin.com/in/nail-achmedzhanov-9907188/
Дата: 28.06.07 06:57
Оценка:
Здравствуйте, Dr.Gigabit, Вы писали:

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


A>>Здравствуйте, Dr.Gigabit, Вы писали:


DG>>>Не вижу тут "заточки под программистов". Как раз WWF -- это DSL, который скорее заточнен под всякого рода аналитиков.


A>>Нет, не заточен. Мы тоже используем этот фреймворк в своем продукте, в том виде, в котором он есть изначально (это набор стандартных activity и и стандартный дизайнер) использовать его сложно даже разработчику в первое время.

DG>На базе стандартного набора разработчики в состоянии написать DSL для аналитиков.


A>>То что выше сказано про проблемы с большими workflow правда, чтобы в этом убедится нужно попробовать смоделировать какой-нибудь "жизненный" пример.

DG>Пробовали. Рекомендую купить 30'' монитор. Кое как-решает проблемы с "большим" воркфлоу.

DG>Вообщем я не увидел реальный проблем.


Не верю что Вы смоделировали жизненный воркфлоу, довели до рабочего состояния и не увидели проблем.
Аналитики смогут работать, если отказаться от стандартных кондишенов (Code Conditipon, Decalred Condition),
сделать безопасную систему байндинга, но это уже будет совсем не то, что Вы называете базовым стандартным набором.
Re[7]: Nexus - Nemerle workflow engine
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.06.07 10:56
Оценка:
Здравствуйте, achmed, Вы писали:

Господа, цитируйте только то, что нужно для понимания ответа.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Nexus - Nemerle workflow engine
От: prVovik Россия  
Дата: 30.06.07 18:50
Оценка:
Здравствуйте, IT, Вы писали:

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


__>>

__>>Nexus — это .NET workflow engine с открытым кодом, написанный на Nemerle. Workflow рассматривается как ориентированный граф с циклами, где вершины представляют собой задачи, а ребра — переходы между задачами


IT>А чем WWF не устраивает?


&

Oracle SOA Suite (BPEL, Business Rules, BOA, Human Workflow etc)

Не, ну я понимаю, если свой — это с карбоновой рамой, пятиколесный и приводом не на заднее, а переднее колесо, тогда конечно!...
лэт ми спик фром май харт
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.