HMPPS Architecture Blueprint
Background and Vision
This formative document guides teams in delivering digital products and services into HMPPS. If documentation is missing or isn’t clear, please let us know.
This user guide is for teams with applications or services deployed on, or intending to deploy into HMPPS. It contains the blueprint for a reference architecture which has been designed to accommodate most services which will typically comprise:
- form based user input
- business logic
- storage of structured data
There may be justification for deviating from this reference architecture. If a technical team believes that this is the case for their domain, they should prepare a case for this deviation and discuss this with their assigned HMPPS Digital Technical Architect or open a discussion with the TA community at Slack Channel #hmpps-technical-architecture.
The HMPPS Digital provision is conceived as a multi-tier, event-driven ecosystem of integrated services which help drive prison and probation processes and enable staff to make informed decisions. Over time the implementation of domain focused digital services will displace older monolithic systems as the authority for HMPPS administration and management.
All activity should follow the HMPPS and MoJ Architectural Principles
We are business modelling and mapping to HMPPS Domains based on the principles of Domain Driven Design
Specific user-facing services are built to a service pattern that has been proven across multiple live services
We aim to choreograph business processes across services using domain events to facilitate decoupling of teams and systems
Tutorials
- Setting up a new service using the HMPPS template projects
- Creating a hosting environment using one of the MoJ hosting platforms
- Designing your domain API according to HMPPS Digital standards
How-To Guides
Common Components address cross-cutting concerns applicable to all domains.
Many common components are used across MOJ and are developed and supported by either the HMPPS Development team, Cloud Platform or Operations Engineering or the
Those specific to HMPPS’ needs are delivered by the Core Components service area.
- Authenticating users with your service using HMPPS Auth
- Managing the source code of your service
- Adding monitoring and observability to your service
- Adding business-level metrics to your service
- Publishing domain events from your service
- Logging activity in your service
- Adding user access auditing to your service
- Contributing to the architecture documentation
Reference
- DPS Domain Roadmap
- Links to other sources of information
- Working with the older systems that make up a key part of our infrastrucure