Model Driven Development
Model, or Domain, Driven development is about building applications from a base canonical model. This concept has been around for quite a while, and is now being more widely adopted. We like to think of the domain model as the DNA of the application; everything leverages and builds off of it.
The benefits of Model Driven development are many. We think the top 10 benefits are:
- Better planned and designed applications
- Applications that meet the real user requirements
- Faster application development
- Enables code generation for a large percentage of the application
- A common project glossary and vocabulary
- Enables better team communication
- Vastly more maintainable applications
- More consistently implemented features
- Provides the foundation for declarative business logic
- Provides the foundation for declarative security
We have nothing against UML, it just that we find most real software projects can never stay in sync with the UML models. With our approach, the extended metadata model is the key runtime component, and is always in sync with the running application.
Declarative Business Logic
In addition to Model Driven Development, we have a strong emphasis on business applications that leverage declarative business logic. The advantages of Model Driven Development combined with Declarative Business Logic are very significant in reducing both development and long term application costs.
So, what does declarative mean?
Declarative development is based upon the concept that application functionality is not buried into application code as much as possible. It is the opposite of regular development with a programming language. Therefore, the more you can take advantage of declarative development the more you can reduce the amount of code that needs to be developed, tested, and maintained.
With a declarative approach, application administrators can control, and maintain a significant amount of an application's functionality.
Declarative also means that your application’s business rules are implemented so that they can be changed in real time. Therefore, you can change your application's business logic a lot faster, and whenever business needs change.
Declarative business logic should be implemented in a cross-cutting pattern, so that it is applied universally regardless of the application code. This ensures consistent and correct data that meets the business need.
Declarative business logic is typically implemented using business rules in a form that:
- Provides Constraints on Entities and Attributes
- Provides Derivations on Entities and Attributes
- Supports and Integrates with Decision Tables
- Supports Event-Condition-Action rules
- Can be modified and tested at application runtime
- Are time based, with effective From and To dates
- Supports a complete programming language for complex rules
- Integrates with application security
- Can be easily reported on
The benefits of declarative business logic are:
- Faster application development
- More consistently applied business rules
- Significantly more customizable applications
- Significantly more maintainable applications
- Applications that can have business logic changed in real time
- Faster response to changes in business requirements
Our Tagger Cat web framework provides all of the above listed features of Model Driven Development and Declarative Business Logic. It is a free open source project. Please check it out over at www.taggercat.com.
If you would like to learn more about our services, and/or training classes; or you just want to make a contact, please contact us at.
Hours: 8:30 - 4:30 MST