- Read and instantiate a serialized process definition.
- Create and load a token with contextual application data.
- Launch the token into a process flow
- Execute the flow: creating forks and merges, executing embedded logic
Great, so what's next? The goals for next week are to build out the engine and integrate more closely with the rails framework. First, in keeping with the test driven approach, I will build and execute the process pattern tests mentioned at the beginning of this post. Running through these detailed tests and exercising the system will likely reveal missing features and a host of bugs. Fun!
Next, one major requirement that I already know the tests will reveal is the engine's ability to collect user input at runtime. In order to facilitate this, I will need to extend the rails controller with process engine power. In terms of MVC architecture, and in the context of a single application, the process engine enhances the controller. Certain processes may need user input to continue, so my goal is to create a seamless and intuitive connection between the process engine, rails controller, and application views.
As a final note, I'd like to set aside the process engine sub-project and take a look at the big picture. Pier is a BPM solution, not just a process engine. Dave is doing incredible work on the process designer side and I'm really excited to see the two sub-projects working together.
Once these sub-projects are fully integrated and tested, Pier will be capable of bringing agility to the enterprise application development process. Our goal is to enhance business software planning and development by providing Business Analysts, Information Architects and Techs an intuitive "living" picture of the system as it grows from a couple napkin doodles to a production ready application.
On a larger scale, I think Pier will be an essential piece of the emergent group of light weight, service oriented solutions built off the Rails framework. These solutions will promote and enable the development of multi-application systems. As everyone already knows, web-applications are talking to each-other. SOA was developed in the business world to define and encapsulate this phenomena. Public facing sites are quickly standardizing and catching up. One of the "third-arms" in the evolution of multi-application systems will be applications that do nothing more than orchestrate other applications ( Yahoo Pipes is an example of this concept). Pier is being built with these SOA concepts in mind.
No comments:
Post a Comment