Skip to content
This repository has been archived by the owner on Feb 24, 2023. It is now read-only.
Tim Csaky edited this page Mar 4, 2020 · 46 revisions

Purpose

We are creating and maintaining this wiki to share what the Common Service Showcase Team has learned while working to support Developer Relations in the Information, Innovation and Technology Division.

What is GETOK

GETOK is fundamentally a tool to automate the process for developers to receive access to APIs that require permission to use. Current APIs available are for Email Messaging and Document Generation capabilities.

What are Common Services

A common service can be many different things. The characteristic they all share is that they were built once to provide benefit many times.

Read more about Common Service Guidelines

Definition

In a software context, common services consist of one or more existing business capabilities that can be enabled and cost-effectively used by multiple business units.

Read more about Common Service Descriptions

How do I get access to the Common Services

Read more about the Onboarding Process

Common Service Examples

Common Hosted Services

These are running and supported in one location where many applications or people go to us it.

EXAMPLE: apps.smtp.gov.bc.ca is an SMTP Server that runs and accepts requests from other applications to send out emails from within the SPANBC Network.

Reusable Components

An individual software component is a software package, a web service, a web resource, or a module that encapsulates a set of related functions (or data). Definition from Wikipedia: Component-based software engineering Software components can be installed, called, referenced or run just for one application, but the source code is not customized for each application that uses it.

EXAMPLE: Many Software teams are running Jenkins and Sonarqube as services used by their products to help with orchestration of software testing and deployment.

Shared Library

Applications will commonly used many of these to aid developers in fetching data on a webpage, formatting and styling the webpages, creating geospatial maps, displaying and working with tabular data, managing the state of the application, routing you to the right location as you click on links, or interacting with APIs.

EXAMPLE 1: ReactJS which is a JavaScript library used for building user interfaces. EXAMPLE 2: LeafletJS used for creating maps.

Shared Best Practices

Many Tools, Disciplines, Processes, Practices, Methodologies and Frameworks each with their own core activities have been developed to help establish best practices for accomplishing certain types of work. There are plenty of generic examples in Software Development for doing things like collecting requirements, or how to setup a pull request-based CI/CD pipeline. When a Developer Relations team puts together documentation to assist developer with these processes, these can lead to consistently applied approaches that will improve the ability to support the various implementations of technology components when team members change on a team.

EXAMPLE 1: NR Showcase DevOps Tools Which is instructions for the setup of the DevOps pipeline tools which will be installed, configured and self-hosted by that application team to provide continuous integration and continuous delivery functionality for each pull request done on the code of their application.
EXAMPLE 2: Javascript & Node.js Testing Best Practices - From what I've seen developers are writing unit tests. But a shared best practice like this can bring a lot of value to the organization.

Clone this wiki locally