BLS: using WSO2 to make Switzerland’s railways work better

BLS is Switzerland’s second-largest railway company. It employs about 3000 people and runs both passenger transport trains in Switzerland and freight trains across the Alps. It owns or operates on seven major lines and also operates the standard gauge railway network of the S-Bahn Bern, which spans about 500 kilometers.


The story starts in the 1990s, when the European Commission made railway infrastructure operators separate from train operating companies in order to create a more efficient railway network and more competition. Thus, a train operating company, such as BLS, has to now request a train path from an infrastructure operator and had to pay for this path.

In 2007, the main Swiss railway infrastructure operator had to replace its 25-year-old timetable planning system. The system had the interfaces to about 50 other systems from different railway companies. Unfortunately, there was a long delay – some ten years – and costs tripled.  But by 2015, the project was back on track, with BLS determined to finish it.

In an architectural sense, BLS realized that their product teams often may not build the best fit for a problem. There are many reasons for this – including a team being unfamiliar with the most optimal integration patterns, or a preference towards one particular middleware stack simply because they understand it better. BLS thus first devised a set of non-functional properties, relevant for describing integration problems. They then devised a decision matrix that returns a number of integration patterns for a given problem. Based on this, they devised a set of integration guidelines, including how the pattern should be implemented and what middleware was available for the purpose.


They were then able to get on with the problem of integration. In the data flow structure below, BLS needed to introduce a mediation component, with traceability, routing, data validation, data transformation and protocol changes as its key functionality.


For this they selected WSO2 Enterprise Service Bus; with it they were able to separate transaction data from master data. Transported by the interfaces between the train operating company and the infrastructure manager are train paths and data about the network, train paths, and junctions. Data was sent as a push with the transaction data; by using WSO2 Data Services Server, they implemented a data pull to store this data as a copy in the system.

This project commenced in 2013, when BLS started evaluating products for the task. By December 2014, BLS had four products on their list: after a cost-benefit evaluation, they were down to two by January 2015, and after a successful proof-of-concept build they had selected WSO2 by April 2015.

In their talk at WSO2Con EU 2015, the BLS executives described themselves as being satisfied with WSO2 on many fronts, both product release schedules and financial growth; the availability of partners in Switzerland; with the architecture and cost effectiveness of the product; and also, with the availability of the source code. Using WSO2’s Quick Start Program, they were able to rapidly prototype cost-effective solutions for their integration.

At WSO2, we’re proud to be a part of BLS’s success. Our open source products are used by enterprises around the world – ranging from companies like BLS to governments. If your organization has a need for world-class middleware, talk to us. We’ll be glad to help.