We chose to build the WorkflowLab application using DevelopmentArc's Core framework. The framework provides two key systems that our development team was interested in using for the application:
- First was the Command Action Delegation system, which gave us a nice Model, View, Controller (MVC) to separate the business logic, application data, and UI into separate entities. This breakdown allowed for a well-organized code base that was divided based on responsibility. This feature also enabled undo and redo management to allow for user actions, such as adding or deleting content, to be undone or redone by the user.
- The second feature the team wanted to leverage was the DataMap data-injection system within Core, which allowed for a decoupled way to pass data between the models of the application to various UI components. This system enabled the UI component to live independently of any business logic and, with a simple configuration, it could be notified when data related to the component had been updated.
With both systems, the code base was flexible enough to handle moderate changes when the feature set changed. And it changed all the time! Figure 2 shows a high-level architecture overview of the application.
Figure 2 Diagram of the high-level architecture.