CBDI-SAE Fundamental Principles
We have advised many times over the years that statement of principles is critical to effective architecture and governance in any domain. Accordingly understanding the CBDI-SAE principles is key to understanding the approach.
The CBDI-SAE framework has its origins in component based development (CBD) practices first defined in the 1990s. The CBD approach was based on the separation of Specification, Interface and Implementation and pioneered the idea of Design by Contract and the Rich Service Specification.
These ideas remain central to CBDI-SAE and may be regarded as fundamental principles that allow loose coupled systems and agile business. Equally they provide the structure for separation of concerns and stakeholder perspectives.
There is a longer list of principles that are intrinsic to the entire framework. The list is probably incomplete, but these are the important principles underlying CBDI-SAE.
- Formal meta model. Internal consistency achieved with detailed UML meta model and integrated service life cycle.
- Contract based. Service and implementation capabilities are published and used via formal, encapsulating contracts.
- Model based. Specifications and designs are always described as models that conform to the meta model that coordinates the broader perspective.
- Policy based. Formal articulation of policy ensures repeatability, productivity, consistency and quality.
- Data centric. A strong emphasis on organizing and managing information and data for stability, consistency and quality that allows process agility.
- Separation of behaviors. Real separation and loose coupling of behaviors in the implemented, deployed systems that minimize the impact of change.
- Platform independence. Framework details generic architecture and designs as basis for platform specific solutions.
- Separation of specification from implementation. Separation of logical and physical views that ensures reuse at specification level and explicit articulation of the logical design enabling platform independence, multiple concurrent implementations, test automation and traceable governance.
- Standards enabling. Guide practice use of de jure and de facto standards where appropriate.
- Business driven. Maximum visibility of business relevance across entire life cycle. Full life cycle traceability and governance.
- Evolutionary. Architected and designed to support continuous evolution with no loss of architectural integrity.