ERP Modules with GWT and Domain Driven Architecture
If you've had a chance to explore the technical framework of opentaps Open Source ERP + CRM, or indeed any modern ERP system, you would find it probably look something like this:
There is a data model, or entities, which is connected to a relational database. Above that there is a tier of business logic, or services. The combination of entities and services is what is usually called "model" of the model-view-controller architecture. Finally, there is a view layer which creates the screens that the users see, and the view layer interacts with the services through a controller.
When you need to add something to your ERP system, you would need to create new entities, new services, new entries in your controller, and new screens in your view layer:
This, in turn, also means learning the technical framework of the particular ERP system. If later you wanted to add the same features to another ERP system, it would mean learning a different technical framework, then creating adding to its entities, services, and view layer.
Now let's consider this approach, which leverages the Google Web Toolkit (GWT) and the Domain Driven Architecture: