Lineas • CargoWeb

— Software to track trains and wagons

Headquartered in Belgium, Lineas offers rail transport and logistics solutions. They operate block trains for conventional and intermodal loads and provide single wagon load transport throughout Europe, driving trains in open access between Belgium, Germany, the Netherlands, Luxembourg, Switzerland and France. Lineas transports a wide range of goods from raw materials, chemicals and semi-finished products to industrial and consumer goods.

Lineas
1

Challenge

A brief introduction

CargoWeb is an application of Lineas that was developed to track trains and wagons.

The tracking of CargoWeb is conducted by gathering train events from various sources. The train events are created by B Logistics employees themselves, manual measurements or parties abroad. All these events are consolidated into the model of a single web application.

The CargoWeb application is used by Lineas employees as well as their customers. Lineas employees are mainly interested in train planning, train delays and the impact this has on their customers. Customers are more interested in the progress and delays of ordered transports.

The challenge for Collectiv

CargoWeb is released in 2008 based on the technologies available at that point in time. The application is business critical, but isn’t in line anymore with the expected user experience of a modern web application and the processing of large amount of data. Collectiv was asked to renew the present CargoWeb application. On top of this, we will help Lineas to start with an Agile way of working that is based on Kanban.

2

Solution

Refactoring

Collectiv is executing a major refactoring and upgrade of the existing application to the newest frameworks. New functionalities and performance improvements will be implemented as well.

Kanban

While working on this project, Collectiv introduced Kanban. With the help of our Agile coaching, the entire IT organization of Lineas started using this Agile methodology. The biggest advantage is that Lineas will gain better insights into their projects and have shorter release times. The Agile way of working will also enhance the quality of their code.

Phasing of the project

In the present phase of the process, Collectiv is refactoring the current web application and delivering new features based on the demand of the business. Our architect has made a technical study in which he proposed different approaches for the CargoWeb next generation. Throughout the entire project, we will use Agile methods and ensure flexibility.

Expansion with RTIM (Realtime Information Module)

The solution was expanded in 2018 with a component that bundles all sorts of realtime information in a single application: the Realtime Information Module (RTIM).

The RTIM makes realtime data about transports available to core business processes within Lineas in the form of bite-sized pieces of information.

The realtime data consists of train delays, the realtime position of a transport or the position of a certain locomotive, for example. This data is then converted into clear and legible information, used by Lineas for e.g. the planning of trains and transports and capacity booking.

Functionally speaking, the project primarily focuses on comparing actual measurements to a predetermined planning, to consequently derive what this means for the status of a transport. The RTIM therefore needs to process a considerable amount of data as efficiently and fast as possible, preferably in realtime.

The Realtime Information Module is a streaming application and uses Apache Kafka as its data platform, Kafka streams as streaming library, Elasticsearch and Kibana. Additionally, we made sure our solution is expandable with other forms of transport and measurements.

Used technologies

  • Struts
  • JSF
  • jQuery
  • Spring
  • Spring webservices
  • Spring MVC
  • Joda-Time
  • AspectJ
  • Ehcache
  • JMS
  • Hibernate
  • JDBC
  • Oracle XE
  • WebSphere MQ
  • JDBC
  • SOAP(JAX-WS)
  • JUnit
  • Mockito
  • PowerMock
  • DBUnit
  • AssertJ
  • Spring Mock MVC
  • log4j
  • SLF4J
  • Jira
  • BitBucket
  • Confluence
  • Bamboo
  • New Relic
  • WildFly 10
  • IntelliJ
  • IntelliJ Debugging Tools