I am thankful that took the time to capture his thoughts why workflow technologies are relevant for real programmers more than ever.
Over the last months Matthias and I had numerous discussions about topics such as
- Relevance of text-based representations
best epitomized by increasing popularity of Markdown and its derivates. For example, see [The Future of Markdown]
- Importance of syntax and style suitable for the task at hand to evoke a simple mental model
Take for example [Markdown] and [YAML].
- Significance of atomic textual elements enabling real programmers to combine them with other textual elements into molecules and to build and evolve computational organisms in team.
The power of UNIX stems from its design of atomic commands that can be combined via input, output and pipes. Brad Frost applies the conceptual model of chemistry to design systems via [Atomic Design].
- Dawn of a new era of application and system design
The [Reactive Manifesto] captures the need and key characteristics perfectly.
It is still unclear which textual representation (language) is the best choice to program, in a reactive style, for systems of engagements. The workflow paradigm provides a conceptual model that is literally well suited for the parallel tasks at hand. The workflow programming style may evolve into a formidable programming language for building systems of engagements.
[The Future of Markdown]: http://www.codinghorror.com/blog/2012/10/the-future-of-markdown.html
[Atomic Design]: http://bradfrostweb.com/blog/post/atomic-web-design/
[Reactive Manifesto]: http://www.reactivemanifesto.org
#BPM #workflow #programming #reactive #atomicdesign #programminglanguage
I’ve been involved in Workflow technology for about two decades, and have seen (and driven) systems evolve to full-fledged BPM suites, meta-models evolve to comprehensive multi-faceted standards, user roles evolve to non-techies in the business.
Programmers are not in focus for BPM. But workflow is an interesting technology for programmers, now more than ever. Now more than ever? Why would that be?
In short, because of these trends:
* [Systems of Engagements surfaced by mobile devices] .
Such sytems require supporting backend applications that combine services, involve multiple people, correlate events, push notifications, all in an overall stateful application context. Workflows are natural for this task.
* [Reactive Programs] .
The Reactive Manifesto lays out event-based application models requiring responsiveness at high scale and resilience. The workflow programming model simplifies event-based, responsive programming; when combined with execution on a Platform-as-a-Service, it's really easy to create reactive programs.
* Programmatic workflow models with native Internet service support.
The former means, a workflow is a program in a textual language that can be created with any editor or IDE – not a graphical "language" requiring a special tool which is often not acceptable for programmers. The latter means, consuming or prodiving REST services is part of the language, including security via Internet standards such as OpenID and OAuth. Combined it means a lot of appeal for programmers.
This workflow programming style is still evolving. Looking 16 years back, it's a way of [workflow-based programming]  ([direct download] ) adopted to our current era, with a refocus on programming, in a reactive style, for systems of engagement.