Flexible design - customizable entity model, UI and workflow
- by Ngm
Hi All,
I want to achieve the following aspects in the software I am building:
1. Customizable entity model
2. Customizable UI
3. Customizable workflow
I have thought about an approach to achieve this, I want you to review this and make suggestions:
Entity objects should be plain objects and will hold just data
Separate Entity model and DB Schema by using an framework (like NHibernate?). This will allow easy modification of entity objects.
Business logic to fetch/modify entities has to be granular enough so that they can be invoked as part of the workflow.
Business objects should not hold any state, and hence will contain only static methods
The workflow will decide depending upon the "state" of an entity/entities which methods on business object/objects to invoke.
The workflow should obtain the results of the processing and then pass on the business objects to the appropriate UI screen.
The UI screen has to contain instructions about how to display a given entity/entites. Possibly the UI has to be generated dynamically based on a set of UI instructions. (like XUL)
What do you think about this approach?
Suggest which existing frameworks (like NHiberante, Window Workflow) fit into this model, so that I will not spend time on coding these frameworks
Also suggest is there any asp.net framework that can generate dynamic asp.net ajax pages based on a set of UI instructions (like Mozilla XUL)?
I have recently been exploring Apache Ofbiz and was impressed by its ability to customize most areas of the application: UI, workflow, entities. Is there any similar (not necessarily an ERP system) application developed in C#/.Net which offers a similar level of customization? I am looking for examples of applications developed in C# that are highly customizable in terms of UI, Workflow and Entity Model