ArkCase: Getting Some Love
It’s been a long time (OK, a few years) since I last wrote about ArkCase. What’s been happening since then?
We wrote the ArkCase framework using Spring and Spring MVC. It was successful: we supported a few customers. One customer was very large and required many customizations. For this customer we extensively modified the framework until this implementation and that customer entwined together into a close-knit whole. Untangling customer-specific code from framework code became very difficult.
We also learned some lessons. Today ArkCase requires extensive custom coding. This is good for small customers that don’t require much customizing anyway. And it’s good for large customers that can afford extensive bespoke development. But it’s not good for mid-size potential customers; they could not afford the amount of customizing necessary for ArkCase to make sense in their environment.
So we are ready to move ArkCase to the next level, giving it the care and loving attention it so richly deserves.
We will support custom workflows via the Activiti workflow engine, not by custom code. Activiti allows us to model the lifecycle for each ArkCase business entity (case files, tasks, documents). More importantly Activiti reduces the time and the custom code required to support each new customer. We will want customers to have just the exact workflow they need; we don’t want to force customers to use a pre-defined workflow. Activiti allows us to customize the workflow cost- and time-effectively.
We will implement user actions using the Mule ESB, not custom Spring- based code. Each user action is embodied in a Mule ESB message flow. These Mule message flows will interact with the Activiti workflows. At the most granular level, ArkCase itself will be a large collection of Mule flows. When we configure ArkCase to support a customer, we assemble the desired Mule flows into a specific ArkCase application for that customer. Again, this will reduce the amount of custom code and the time required to deploy an ArkCase solution.
This component-assembly approach also allows us to easily build special-purpose modules such as Records Management support. The first next-generation ArkCase module declares records in the Alfresco RMA.
From a management perspective, we will have a defined engagement model. This engagement model specifies a basic pricing structure and defines how Armedia can host ArkCase implementations on behalf of our customers. Again, this reduces the time and effort required to stand up ArkCase for a customer.
These are exciting times for ArkCase. I hope to report more soon…