One of the most important thing for designing a large scale software system is an up-to-date overview of all Business Objects an their relations. For an even deeper understanding, Business Objects need to be categorized by Business Classes. Designing a Service Oriented Architecture, Business Classes and their relationship might be as follows:
Using conventional programming technique, we have to implement the Business Object using classes. Say we do have 10 different services, we do need at least 10 different classes representing these services.
Anytime a new service is implemented as a class, the Service Concept gets cemented a little more. Having implemented dozens of services, nobody can even think of touching the underlying concept.
The problem seems to be easy to understand:
- Every concept is a directive how to build some things
- Changing the concept enforces the change of every built thing
The basic idea of actifsource is very simple:
- Implement every concept only once
- Every implementation of a concept has to be done only once as a generic implementation
- Specific implementations can now be generated
- Changing the concepts only leads to the change of one single implementation
- Therefore changing concepts becomes cheap