Blog

IZUM's migration from Java Swing to Web: Achieving 90% code reuse

By  
Lilli Salo
Lilli Salo
·
On May 14, 2024 1:23:35 PM
·

Learn how IZUM successfully migrated from Java Swing to Vaadin Flow, achieving 90% code reuse while improving mobile compatibility and web accessibility.

IZUM, the Institute of Information Science, is a pivotal public institution in Slovenia, established to support the country’s scientific, cultural, and educational infrastructure. Since 2000, IZUM has been at the forefront of automating library processes with its COBISS3 software, which is composed of nine critical modules ranging from Cataloguing to Reports.

 

https://izum.si/en/home/

The challenge

Originally, COBISS3 was built using Java Swing to function on various desktop environments and introduced a graphical interface to replace the older, non-graphical COBISS2 system. However, as technology evolved, the limitations of Java Swing became apparent, especially its lack of support for mobile devices and dependency on outdated Java technologies, prompting the need for a modern solution.

The solution

In 2020, IZUM embarked on developing COBISS Lib, a next-generation web application designed to run effectively on mobile platforms and integrate seamlessly with the existing desktop-based COBISS3.

Vaadin Flow became the preferred framework for the developers experienced with Swing, as its similar programming model greatly simplified the migration process. This choice enabled the development team to create robust Java web applications entirely in Java, without needing to use additional languages such as JavaScript or HTML, thereby streamlining both development and maintenance.

Vaadin Flow stands out as an exceptional framework, particularly due to its unique similarity to Swing—a feature not commonly found in other frameworks.

- Teodor Veingerl, Solution Architect, IZUM

Teodor Veingerl, Solution Architect at IZUM, remarked, "If you have a basic understanding of Swing, transitioning to Vaadin is a very smooth experience." Additionally, he praised Vaadin's Flow framework: "Vaadin Flow stands out as an exceptional framework, particularly due to its unique similarity to Swing—a feature not commonly found in other frameworks." Teodor also noted Vaadin's comprehensive capabilities, saying, "And with Vaadin, you can do everything in Java—that’s special!"

Planning and development for COBISS Lib began in March 2022. It involved over 1,000 views and a dual-client architecture where the original Swing-based client and the new Vaadin-based web client could operate concurrently. This approach not only facilitated a gradual transition but also maintained continuity of service across nearly 1500 libraries.

COBISS3_Main_Window
1 Main window of the COBISS3 Swing application before its migration to Vaadin Flow.
COBISS_Lib_Main_Window
2 The new main window of COBISS Lib after migrating to Vaadin Flow.
COBISS3_Editor_Member
3 Member editor before migrating from Java Swing to Vaadin Flow.
COBISS_Lib_Editor_Member
4 Member editor after migrating to Vaadin Flow.
COBISS3_Finder
5 COBISS3 Finder before migrating to Vaadin Flow.
COBISS_Lib_Finder
6 The modernized finder after migrating from Java Swing to Vaadin Flow.

The result

By early 2023, IZUM launched a beta version of COBISS Lib, enabling extensive real-world testing and bug-fixing. The migration leveraged Vaadin’s unique compatibility with Swing to reuse much of the existing code, with over 90% of the interface components being directly migrated to the new system. This efficiency significantly reduced the overall project timeline, achieving a full migration in just two years—a remarkable result given the application's complexity and scale.

The transition to Vaadin Flow not only modernized the user experience to include support for mobile devices but also enhanced web accessibility, a crucial factor in public services software. The library community's feedback has been positive, and the ambitious goal is to transition all Slovenian libraries to the new system by the end of 2024.

This successful migration highlights Vaadin Flow’s unique position as a prime framework for Swing-to-web transitions, showcasing its potential to facilitate smooth and efficient modernization of legacy applications across various sectors.

Ready to unlock the value of your legacy application?

Our Modernization Toolkit helps you modernize Vaadin applications between versions or streamline the transition from legacy technology, such as Java Swing, to Vaadin Flow, reducing time and costs.

Watch our demo or start your free assessment today.

Lilli Salo
Lilli Salo
Lilli joined Vaadin in 2021 after delivering content for various international SaaS startups. She enjoys the creative challenge of transforming complicated topics into clear and concise written material that provide value to the reader.
Other posts by Lilli Salo