Lean Approach to converting Smalltalk Applications

to Workflow Rules Database driven applications

Sudhakar Krishnamachari

August 2007




Current genre of application development demands complete separation of concern and accessibility of the business rules from the logic implementing the behavior of the application interfaces. The set of applications built through the years have accumulated code that completely mingles logic/business rules as well as are not refined enough for current scalability and flexibility considerations.


In the current context, applications as a module are expected to be connectible to a SOA bridge, and have its rules based out of a database to automatically provide for the required flexibility and extreme agility to adapt to business decision changes in the order of days for change management from the current best of few weeks in most cases.


VisualAge Smalltalk applications in particular and Smalltalk (VisualWorks) applications can be parsed to obtain a generic dump of all rules/logic applied through the code and with sifting segregated as a IF xxx THEN xxx ELSE rule set in a database per standard WFMS practices. The code then calls this rule set to simply allow easy change handling for rules. This approach should be automation capable per se with minimal analyst/developer involvement for sifting of rules extracted.


This lean approach can be logically taken forward in steps, to migrate a Smalltalk application to a complete workflow driven model including SOA enablement keeping the interface as is to mitigate the costs in UI conversion. Eventually with a required manual intervention UI also can be modified to the current RIA model.


The cost benefit of this model is in retaining the code base in the existing platform with minimal manual and more automated process assuring the least risk in migration. Especially for critical applications in the financial institutions, where code logic/rules are so deeply embedded and not thoroughly documented it is difficult to re-engineer the applications without literally reinventing the wheel. This lean approach affords a less risk prone easier path to alignment with current practices in application development.

 Smalltalk Rules Engine Program Flow: 

* Currently developed in VisualAge Smalltalk, it should be easily portable to VisualWorks and Squeak once it gathers enough steam and stable version is ready in all its gory details..

Sudhakar Krishnamachari,
Sep 10, 2008, 2:40 AM