Modifying the Lombardi Teamworks’ Coach brings the project very close to the intersection of two paths. Custom versus Off-The-Shelf software development software development has been at the crux of many discussion in the recent past. In one direction, just the right amount of technology and custom code is added to achieve necessary and required effect towards meeting critical business requirements. The other direction leads the team away from focused process implementation and towards web-application development.
Implementation is a mix between off-the-shelf and custom development. For example, a scenario requiring Spring can be a complex set of interlinking forms. Though Lombardi Teamworks provides Visio-like flow definition tools within its service IDE, complex Teamworks-defined services may end up looking like a great big spaghetti mess. It’s better to migrate “spaghetti” flows, which are sometimes impossible to avoid given the complexity of the requirements, for example, building out healthcare insurance applications, into a framework supported by best-of-breed solutions specifically engineered for challenging application flow control.
Another point to consider is that Teamworks isn’t designed to run processes that essentially remains open for many days on end, like an application would on a user’s desktop. The issue is that we can’t open and run a transaction that never ends. Lombardi created Teamworks to support the execution of business processes: long running, heterogeneous transactions. Attempting to morph a Teamworks coach into something that runs like a desktop application is not a good idea. In this situation, the requirements demand a stand-alone web-application.