GC Enterprise Architecture/Standards/Application Architecture
< GC Enterprise Architecture | Standards
Revision as of 17:16, 6 March 2019 by Gita.nurlaila (talk | contribs)
Home | EA standards | EARB Endorsements | EA Artifacts | Working Groups | GC EARB | Other References |
This page is a work in progress. We welcome your feedback. Please use the discussion page for suggestions and comments. When the page is approved and finalized, we will send it for translation. |
3. Application Architecture
This is a definition for GC Application Enterprise Architecture
Use Open Standards and Solutions by Default
- Where possible, use open source standards, and open source software first
- If an open source option is not available or does not meet user needs, favour platform-agnostic COTS over proprietary COTS, avoiding technology dependency, allowing for substitutability and interoperability
- If a custom-built application is the appropriate option, by default any source code written by the government must be released in an open format via Government of Canada website and services designated by the Treasury Board of Canada Secretariat
- All open source code must be released under an appropriate open source software license
- Expose public data to implement Open Data and Open Information initiatives
Maximize Reuse
- Leverage and reuse existing solutions, components, and processes
- Select enterprise and cluster solutions over department-specific solutions
- Achieve simplification by minimizing duplication of components and adhering to relevant standards
- Inform the GC EARB about departmental investments and innovations
- Share code publicly when appropriate, and when not, share within the Government of Canada
Enable Interoperability
- Expose all functionality as services
- Use microservices built around business capabilities. Scope each service to a single purpose
- Run each IT service in its own process and have it communicate with other services through a well-defined interface, such as a HTTPS-based application programming interface (API)
- Run applications in containers
- Leverage the GC Digital Exchange Platform for components such as the API Store, Messaging, and the GC Service Bus