I get it, in principle, but in every project I've been in, actually nailing down the business logic itself is the tricky part, more than coding it up. It usually goes like this.<p>"I want it to work like A."
<i>code it up, find twenty edge case potentials</i>
"Well, 3, 5, 6, and 7 can be solved like this, let's guard to make sure 1, 3, 8, 9 never happen, 10-13 can never happen, and let me get back to you on the rest."
<i>code it up, notice a few more edge cases.</i>
Lather, rinse, repeat.<p>Along the way, one of the edge cases will show me that what they really want is B, and time and budget let me know if we start down that path.
This has been my project for the past few months, in one form or another. I'm planning on making a video to show just how easy and extensible this system is, as well as launching to a few small companies in the coming weeks. I'd love to answer any questions/take any criticism. Crocker's Rules (but that's a given around here :)
Is this a JSON oriented workflow engine?<p>My experience with workflow engines (as a developer) has been ... not great. They are hard to debug, and difficult to code once the logic gets complicated.
No, building business logic takes years, and even then it is not done because the business needs demand that it be changed yet again. Business logic is never correct. At best it is just good enough for now. This is why established businesses place so much emphasis on change management. They know that change is constant and that they need changes to be carefully managed in order to adapt fast enough, yet not break anything.
As an extended state machine, it's certainly an interesting concept. I also love that you describe the components of your workflow in JSON, but the logical pieces are I think where this approach struggles.<p>I mean I get what's going on here, but the syntax clutter drives me nuts.<p>[["if", "eq", "decline"], "Pending Response"]
I'd love to chat with you more about this. I don't know if we could benefit since we're not building a business app even though it has a fair amount of business logic planned in the spec.<p>I've signed up to your mailing list anyhow. (Khuram Malik)<p>Look forward to chatting to you.
Amazon has a killer offering for this problem in the form of SWF. It's fairly under the radar as they have done a terrible job marketing it, but it's great.
thingamy.com have been building and offering a web-based system for supporting what they chose to call "Barely Repeatable (business) Processes" for years, and put a lot of tought into it. Written in Lisp btw.<p>See <a href="http://www.thingamy.com" rel="nofollow">http://www.thingamy.com</a> -> "process engine"<p>(not associated in any way, just used to read and like their blog for some time)