Business Logic is important - often half the app for update oriented applications. And there are issues:
- Architecture confusion: debates persist - Anemic Domain Objects? Services Layers? Logic-enhanced Domain Objects? Data Access Objects?
- Tool confusion: Rete-based Business Rule Engines don't provide active enforcement of logic, and deal poorly with aggregates (sums and counts)
Since transaction business logic can represent 50% of the dev effort, this reduces Agility and increases TCO.
Perhaps we can help. We provide a Transaction Logic Engine:
- It plugs into Hibernate events, so user / framework code is not changed (Hibernate APIs are preserved) and re-use / encapsulation are automated
- You supply declarative logic (looks somewhat like spreadsheet formulas), and the engine deals with all the dependencies (byte code analysis) / ordering, optimizations etc.
We characterize the result as a
Rich Active Declarative Domain Model.
- Rich means that the domain objects enforce multi-table constraint and derivation logic (eg, rollups), as well as actions such as auditing, deep copies (eg, clone an order), and starting business processes.
- Active means the rules are automatically enforced on any update. Encapsulation / re-use is automated using event injection.
- Declarative means that dependencies / ordering managed automatically, draining enormous amounts of code out of your logic. Our typical example shows a reduction of 100:1 - a significant improvement in Agility and TCO.
Likely you are skeptical, but hopefully intrigued. Ask questions here, we will try to respond. Our
website is designed to assist you in exploring this concept, and includes downloads and
examples.