In this first of a two part series I will be introducing some of the more technical concepts around the integration of computer systems and why unlocking data is critical to the success of delivering government services to you online. As such, this blog post is mainly for those with a technical background.
The problem of integration
One of the biggest technical challenges we face within the States of Jersey is how we share information between departments and their systems. Traditionally, departments have chosen technology solutions based primarily upon their business functionality. The ability to integrate with other systems is often considered a nice to have, or is scheduled for a later release with little up-front thinking as to how it might be achieved.
The result is a number of ‘monolithic’ (read: gigantic) systems all working independently from each other, and each with its own database of information. This also means information is being duplicated many times across the States of Jersey, with applications that either:
- do not communicate at all, or
- use bespoke integrations to share information with tightly coupled dependencies, in turn making future change more difficult and costly to achieve.
There are examples of good practice within the States of Jersey. With over 50 working integrations to date, the Health and Social Services department, using standards such as HL7, have made good use of integration principles, patterns and processes. This allows, for example, straight-through processing of automated analysis of pathology results through to the dispensing of patient medication.
Using a Service Orientated Architecture
Following guidance from the Design Authority, the States of Jersey are mandating that new services are designed and implemented to fit within a Service Oriented Architecture (SOA). This ensures operational systems such as CRM, ERP and departmental applications provide their services through the enterprise and service layers by adhering to well defined principles. Data owned by the systems is encapsulated and can be exposed to service consumers to provide content for feature rich applications. The advantages of adopting this approach are that services:
- adhere to predefined contracts and promote reuse
- are independent and autonomous
- are abstracted away from the applications providing the service, and
- can be grouped together to provide more complex services
We have documented the key principles and benefits of SOA and its place within the States of Jersey enterprise integration and we will be sharing this shortly.
To round off this first blog, I’d like to touch on microservices which have increases in popularity over recent years. The microservices architectural style encourages building applications as suites of services that are independently deployable and communicate using resources accessible over HTTP. Microservices are used to build networked distributed systems, and have matured to a state where they can be recommended for use within the enterprise.