Tuesday, August 11, 2009

Domain Model based approach for "Agile" Systems


  • Basically, the imperative to go for either SOA or BPM or BRM based solutions are to keep the systems agile, responsive to the changes in the business.

  • There are multiple factors that could impact either Business Rules or Business logics like market conditions, reulatory requirements etc. To insulate the systems from the consequences of those changes, they are built to have loose coupling

  • Loose coupling is achieved through different techniques. Service enabling a system assure loose coupling for which systems are built based on SOA. Declarative business rules through BRMs or dynamic business processess through BPM systems are other available techniques.

  • Extracting out the business rules from the application logic through BRM is another technique.

  • An addition to SOA/BPM/BRM based approaches, one of the available approach that will bring “Agility” as a default capability to a system is “Domain Model” based development.

  • In the cases where behaviours of the business is subject to lot of changes, having a domain model will decrease total cost of those changes. Having all the behaviours of business (that is likely to change) encapsulated in a single part of the software (domain model) decreases the amount of time we need to perform the change because it all will be performed at one place. This will avoid duplication of business logic / business rule.

No comments: