Integration Principles
Below are some integration principles that compliment the Integration Reference Architecture (published earlier - https://www.garudax.id/pulse/integration-reference-architecture-nikhil-soste) specifically applicable to the custom services.
These are generic in nature and more principles can be added based in the enterprise context. Again these are kept to a practical usability level.
Principles
1. Services should be loosely coupled
The intent is to be able to reduce the impact of change to service consumer when service provider undergoes a change
2. Services should be composable
The intent is to build services that are granular enough to deliver the required functionality and can be put together for bigger functionality
3. Services should be aligned with enterprise security principles and guidelines
The intent is to encourage security by design along with zero-trust security model
4. Services should be easily administered, monitored, and configured based on enterprise standards
The intent is to use tools and features to help teams build and operate the services easily
5. Services should be designed, developed, and deployed in such a manner that the service contract does not rely or expose specific technology requirements of the service provider or of itself
The intent is to provide services that are tolerant to underlying technology change with minimal impact to the consumers of the service
6. Services should be designed based on business activities and business objects to ensure optimal business alignment and enablement.
The intent is to provide alignment between the business and technology by providing a business-oriented function.
7. Services should access data from systems of records or designated systems of records
The intent is to avoid accessing data from secondary data sources and duplication of data flows
8. Services should be built for scale, resilience and must be recoverable
The intent is for services to be able to leverage on platform and container capabilities to scale and recover. Failures should be handled gracefully.
9. Services should be build using open standards
The intent is for portability rather than tied down using propriety solutions