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 82: |
Line 62: |
| * '''Inform the GC EARB about departmental investments and innovations''' | | * '''Inform the GC EARB about departmental investments and innovations''' |
| ** Communicate with the GC-EARB Team early and frequently, sharing innovations and lessons learned so we can assistance in broadcasting them to others. | | ** Communicate with the GC-EARB Team early and frequently, sharing innovations and lessons learned so we can assistance in broadcasting them to others. |
− | * Share code publicly when appropriate, and when not, share within the Government of Canada | + | * '''Share code publicly when appropriate, and when not, share within the Government of Canada''' |
| + | ** Code should be shared in Public Repositories as described [https://github.com/canada-ca/open-source-logiciel-libre/blob/master/en/guides/publishing-open-source-code.md#select-source-code-repository here]. |
| + | ** When not able to, instead Code should be shared on [https://gccode.ssc-spc.gc.ca/ GCCode]. |
| | | |
| ==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}} |