logo Codelse logo Britanny Ferries logo Port of Santander logo Gov. Cantabria

Codelse Helps Brittany Ferries Manage Terminal Communications With JavaFX 

August 2013

Brittany Ferries is the leading maritime carrier between the UK, France and Spain. The Government of Cantabria, an autonomous community in the north of Spain, financed a project for the Port of Santander to upgrade the port facilities used by Brittany Ferries. Grupo Codelse is the system integrator hired by the Port of Santander for this project, in charge of delivering a turnkey solution involving the installation of network communications equipment, as well as providing a custom software solution.

 Port of Santander
 Figure 1 - The Brittany Ferries facilities in the Port of Santander

In 2012, Codelse started building new offices and check-in booths, installing several large, informative LED panels and CCTV cameras, and upgrading communications to a new optic fiber network. With a new modern infrastructure in place, attention then turned to the systems driving the terminal, and an end-to-end application was developed. A Java server provides the foundation for the entire system and is in charge of several critical tasks, including:
  • Providing communication with an industrial PLC through which automation processes are setting and getting the status of lights, climate equipment and LED panels installed throughout several Port facilities, reading sensors (temperature and relative humidity) and checking for alarm conditions, e.g. UPS alarms or cabinet tampering. Values are read and persisted to a database.
  • Communicating on request with the LED panels to send the messages to display.
  • Polling the status of truck entry gates, sending open orders on request.

A JavaFX based application was developed as the front-end user interface for the ferry company staff, enabling them to monitor and control from their computers devices such as lights, climate control equipment, LED panels, CCTV cameras, UPS status, and truck gates.

 Booth temperature
 Figure 2 - Personnel can monitor the booth’s temperature and relative humidity; a WebView pop-up displays a camera feed

Staff members also have the ability to edit and create new messages for the LED panels, verifying them visually with a custom control prior to dispatching them. And, because Codelse is eager to contribute to the open source community, this control was released as the “MatrixPanel” UI control in JFXtras, a collection of open source UI Controls to which a number of developers contribute code. As shown in Figure 2, some other custom controls were taken from this great project.

 MatrixPanel UI control
 Figure 3 - The MatrixPanel UI control

A RangeSlider control was also developed,similar to the one now included in ControlsFX for JavaFX 8.0, allowing the staff the selection of the weekly operation schedule for the LED panels.

 RangeSlider UI cobntrol
 Figure 4 - The schedule window controlling the LED panels’ schedule

It took Codelse three man-months to build this end-to-end application, covering the development of a JavaFX front-end (including a new custom UI control), as well as the development, installation and configuration of the back-end, which included the development of communications to the LED panels and to the PLCs. The application is deployed as desktop application (JAR file) running on Java SE 7 on a Windows 7 PC. Codelse has also been investigating the use of JavaFX 8 (JDK 8) on an ARM-based Raspberry PI, and may decide to adopt a similar embedded device in the future, as they bring a number of benefits (small footprint, lower price, and low power consumption) that can make Codelse’s solutions more competitive.

Codelse is a company that believes in the benefits of providing feedback early in the development cycle of a technology such as JavaFX. Even though the next release of JavaFX is still several months away, several issues they had reported have already been fixed, providing them with the comfort to know the product will be even more functional when it is released. “We like the JavaFX containers and UI controls”, said José Pereda Llamas, software developer at Codelse. “It’s so easy to have a working prototype of your application that you can show to a customer and discuss in further details. It’s much easier to work with them than it was with Swing components, and the graphic results are clearly better.” Codelse’s development tools of choice include the NetBeans IDE, and the JavaFX Scene Builder, an essential tool for the design and layout of front-end applications. These days, Codelse is also using early access versions of NetBeans 8 in order to try new JDK 8 features such as Lambdas. They are also experimenting new ways to interact with their applications, such as the Leap Motion Controller.