X-Road Core Development in 2019

The new year 2019 has kicked off a few weeks ago, and X-Road core development keeps on rolling. Even if there haven’t been many updates regarding the X-Road core development lately, it doesn’t mean that NIIS has been resting on its laurels. Instead, we have been working on the version 6.20.0 and features for the other upcoming versions. We have also published the high-level X-Road development roadmap for 2019 so that everyone can see what kind of new features are coming out and when. The roadmap is available on the NIIS website.

The version 6.20.0 will be released on 25th January and it is the first of the three releases to be published in 2019. The official v6.20.0 release notes will be published in the X-Road Knowledge Base on the date of the release. The biggest change in the version 6.20.0 is support for Ubuntu 18.04 LTS operating system. The improvement is important, because the currently supported Ubuntu 14.04 LTS will quit receiving maintenance updates in Q2/2019 which is why migration is required. In addition, there’s a number of other improvements and fixes included in v6.20.0.

REST support

One of the most important features in 2019 is the long-awaited, native REST support. NIIS has been working on the X-Road REST support since spring 2018. Since then we have organized workshops and surveys for collecting input and feedback from X-Road users on the required features. We’re currently working on the implementation using all the comments and feedback as an input.

The implementation will be done in phases which means that REST related features will be added along several X-Road versions – every new version adding something new. The first version to support REST is v6.21.0, and it will be released in April 2019. Versions 6.22.0 and 6.23.0 will add more REST related features later.

X-Road 6.21 (basic support)

  • Basic REST functionality

    • Message exchange with signing

    • Message logging

  • Adding a REST service using an URL

    • OpenAPI definition not required

  • Service-level authorization

  • Certificate based authentication (clients + services)

  • Metaservices for REST (listClients + listMethods)

  • X-Road Message Protocol for REST 1.0

X-Road 6.22 (full support)

  • Minor fixes and enhancements based on user feedback

  • Path and method level authorization

  • Support for OpenAPI

    • Possible to add a service using OpenAPI specification

    • Meta-service for querying services' OpenAPI definitions (getOpenAPIDefinition)

    • OpenAPI definition required

  • JWT based authentication (clients + services)

X-Road 6.23 or later (advanced support)

  • Support for URI rewriting by Security Server

  • Other API-Gatewayish features based on user feedback

Right now, the version 0.3.0 of the Message Protocol for REST is out for comments – it is possible to leave comments until 28th January. All the feedback will be reviewed, and the protocol will be further developed based on the received input. NIIS welcomes everyone to comment the protocol draft!

API Based UI

Another major change taking place in 2019 is a new UI for both Security Server and Central Server. The new UI is not just a facelift – the UI will be redesigned and implemented from scratch. The aim of the change is to improve the usability and user experience of X-Road. Therefore, X-Road users will be closely involved in the design and implementation process so that their voice will be heard.

Together with the new UI, an administrative REST API will be implemented. The new UI will be using the API, but the API can be used for automating maintenance and configuration tasks too. The API will provide Security Server and Central Server administrators with the opportunity to automate maintenance and configuration tasks that currently require manual work.

According to the current schedule the new UI and the administrative API will be included in the version 6.22.0 that will be released in autumn 2019.

Streamlined onboarding process

Onboarding process of new X-Road members is one of the focus areas in X-Road core development this year. The aim is to streamline the onboarding process and reduce the number of steps that require manual work in the process. In practice this means enabling automatic approval of registration requests which speeds up the registration process and reduces the daily management tasks of the X-Road operator.

X-Road 7

The development of the core components of X-Road version 6 continues actively throughout the year 2019. At the same time NIIS is already looking ahead and the preparations for X-Road version 7 are already kicked off. Research and planning phase will be completed in 2019 so that the implementation can begin in 2020. Research and design are based on user-centered approach, and users are involved through the whole design and research process. Input, feedback and ideas are collected through interviews, workshops, events and surveys. In addition, one part of the research and planning phase is academic research in selected areas through collaboration with Estonian and Finnish universities.

And there is more!

This writing covers only the most important changes to be implemented in 2019. In addition, many smaller changes will be included in every release. It seems that we have a busy year ahead of us. If you’re interested in more detailed information about the upcoming changes, please visit the X-Road backlog. Anyone can access the backlog, and leave comments and submit enhancement requests through the X-Road Service Desk portal. Accessing the backlog and service desk requires creating an account which can be done in few seconds using the signup form.

Functional changes and new features implemented this year change the X-Road technology stack too. X-Road Tech Radar provides up-to-date information on different technologies used in X-Road.

Stay tuned!