Changes

Use template header/footer
Line 1: Line 1: −
<!-- NAV -->
+
{{OCIO_GCEA_Header}}
{| class="FCK__ShowTableBorders" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px; background-color: #3C6D9E" width="100%" align="center"
  −
|-
  −
|-
  −
| style="border-right: white 1px ridge; padding-right: 0px; padding-left: 0px; padding-bottom: 2px; padding-top: 2px; text-align: center; font-family: (Cooper black); font-size: 13pt" width="6%" | '''[[GC_Enterprise_Architecture|<span style="color: snow">'''Home'''</span>]]'''
     −
| style="border-right: white 1px ridge; padding-right: 0px; padding-left: 0px; padding-bottom: 2px; padding-top: 2px; text-align: center; font-family: (Cooper black); font-size: 13pt" width="11%" | '''[[Government_of_Canada_Architectural_Standards|<span style="color: Snow">'''EA standards'''</span>]]'''
  −
  −
| style="border-right: white 1px ridge; padding-right: 0px; padding-left: 0px; padding-bottom: 2px; padding-top: 2px; text-align: center; font-family: (Cooper black); font-size: 13pt" width="13%" | '''[[Past_Endorsed_Architectural_Decisions|<span style="color: Snow">'''EARB Endorsements'''</span>]] '''
  −
  −
| style="border-right: white 1px ridge; padding-right: 0px; padding-left: 0px; padding-bottom: 2px; padding-top: 2px; text-align: center; font-family: (Cooper black); font-size: 13pt" width="11%" | '''[[Enterprise_Architecture_Artifacts|<span style="color: Snow">'''EA Artifacts'''</span>]] '''
  −
  −
| style="border-right: white 1px ridge; padding-right: 0px; padding-left: 0px; padding-bottom: 2px; padding-top: 2px; text-align: center; font-family: (Cooper black); font-size: 13pt" width="12%" | '''[[Architecture_Discussions|<span style="color: Snow">'''Working Groups'''</span>]] '''
  −
  −
| style="border-right: white 1px ridge; padding-right: 0px; padding-left: 0px; padding-bottom: 2px; padding-top: 2px; text-align: center; font-family: (Cooper black); font-size: 13pt" width="11%" | '''[[GC EARB|<span style="color: Snow">'''GC EARB'''</span>]] '''
  −
  −
| style="border-right: white 1px ridge; padding-right: 0px; padding-left: 0px; padding-bottom: 2px; padding-top: 2px; text-align: center; font-family: (Cooper black); font-size: 13pt" width="9%" | '''[[Monitoring_Architectural_Implementation|<span style="color: Snow">'''Other References'''</span>]] '''
  −
  −
|}
  −
  −
<!-- NAV end -->
   
'''<u>Translation to follow</u>'''<!-- Columns -->
 
'''<u>Translation to follow</u>'''<!-- Columns -->
 
{| width="100%" cellpadding="10"  
 
{| width="100%" cellpadding="10"  
Line 36: Line 17:     
=3. Application Architecture=
 
=3. Application Architecture=
<br>
+
Application Architecture consists of the interaction of applications with each other and with users. It focuses less on internal mechanics and specific programming and more on overall design on how data is consumed and created by the system. It views the interactions between applications, databases, middleware to ensure scalability, reliability, availability and manageability.
This is a definition for GC Application Enterprise Architecture
      
==Use Open Standards and Solutions by Default==
 
==Use Open Standards and Solutions by Default==
Line 87: Line 67:     
==Enable Interoperability==
 
==Enable Interoperability==
* Expose all functionality as services
+
* '''Expose all functionality as services'''
* Use microservices built around business capabilities. Scope each service to a single purpose
+
** Do not hide services under assumptions that someone would not find value in a service - often innovation can be bred from exposed services beyond it's original plan.
* 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 [https://www.canada.ca/en/government/publicservice/modernizing/government-canada-standards-apis.html application programming interface (API)]
+
** Follow the 'eat your own dogfood' mantra - in that all functionality should be a service that you consume.
* Run applications in containers
+
* '''Use microservices built around business capabilities. Scope each service to a single purpose'''
* Leverage the [[gccollab:groups/profile/1238235/engovernment-of-canada-digital-exchangefru00c9change-numu00e9rique-du-gouvernement-du-canada|GC Digital Exchange Platform]] for components such as the API Store, Messaging, and the GC Service Bus
+
** Focus on smallest unit of purpose, and developing a single function.
 +
* '''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 [https://www.canada.ca/en/government/publicservice/modernizing/government-canada-standards-apis.html application programming interface (API)]à'''
 +
** Ensure that services are accessible via common methodologies, and follow the [https://www.canada.ca/en/government/system/digital-government/modern-emerging-technologies/government-canada-standards-apis.html Government of Canada Standards on APIs]
 +
* '''Run applications in containers'''
 +
** Ensure containers contain a single application, and build the smallest image possible.
 +
** Ensure containers are properly versioned and tagged.
 +
* '''Leverage the [[gccollab:groups/profile/1238235/engovernment-of-canada-digital-exchangefru00c9change-numu00e9rique-du-gouvernement-du-canada|GC Digital Exchange Platform]] for components such as the API Store, Messaging, and the GC Service Bus'''
 +
** Ensure APIs are discoverable on the API Store.
 +
 
 +
{{OCIO_GCEA_Footer}}
2,055

edits