GC Enterprise Architecture/Standards/Application Architecture

Home EA standards EARB Endorsements EA Artifacts Working Groups GC EARB Other References


<<Information Architecture

Technology Architecture>>


3. Application Architecture


This is a definition for GC Application Enterprise Architecture

Use Open Standards and Solutions by Default

The Directive on Management of Information Technology and Digital Standards states that where possible, open source software be used first, The primary driving factors for this are:

  1. Aligning with Open Government
  2. Supporting the Local Economy and Communities
  3. Lowering initial and long term Cost of Solutions
  4. Increasing Security
  5. Increasing Quality of Solutions
  6. Increasing Productivity across Government of Canada by enabling reuse
  7. Improving Job Satisfaction
  8. Reducing Vendor Lock
  • Where possible, use open source standards, and open source software first
    • While OSS is not a silver bullet several common misconceptions are used as arguments against Open Source software:
      • A misconception with security is that with the code out of the eyes of the public that it prevents successful attacks and lowers liability, however in reality Security Best practices state that 'System security should not depend on the secrecy of the implementation or its components', and as Open Source development relies n hardening (or improving the security) of code it is often equal or more secure then proprietary solutions.
      • A misconception with support is that a support contract or license some how ensures that the proprietary system will receive improvements and patches, but in reality there is no obligation for a vendor to do so, while Open Source software survives by having a vibrant and helpful support community. Average resolution of issues are solved faster then in proprietary software by the very nature of crowd sourcing reducing the barrier of communication with a single entity or individual.
  • 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