-
Notifications
You must be signed in to change notification settings - Fork 9
Home
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.
An application called GETOK was built 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.
A hosted API will take care of things like maintenance and operational support, but if you have specific requirements, then you may need to self host the component rather than calling an api that has implemented it. Publishing a component specifically so that teams can self host it can be done in a few ways, such as, providing how-to instructions on a github repo, posting a dockerhub image on the website, or uploading a package to websites like npm where teams can download and include the package or library in their code. If you have a self hosted component it may also be helpful to add a (metadata record) entry to the BC Data Catalogue. Here is one that the Common Service Showcase Team has produced for Document Generation https://catalogue.data.gov.bc.ca/dataset/common-document-generation-service-api
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
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
Read more about the Onboarding Process
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.
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.
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.
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.
Return Home