Modernizing a JSP Application into an Angular Application

 

Vertex Systems have always offered Master´s Thesis opportunities to university students to support their academic and professional qualifications. There are more than 40 Master´s Theses completed for Vertex during the years. The research results are implemented in our product development to provide cutting-edge software solutions for our customers.

In the “My Master´s Thesis Journey” blog series, our young professionals tell about their Master´s theses and what they have learned and accomplished during the journey.”

Asiantuntijablogi

Syyskuu 2024
Teemu Lehtonen
Ohjelmistosuunnittelija

Background

My journey at Vertex began in May 2023, shortly after completing my Bachelor’s degree in Information Technology at the University of Turku in just two years. After moving back to Tampere, I joined the Flow team at Vertex, working on the development of the Vertex Flow product. That summer was a great learning experience, and after the internship, I continued working with the Flow team 3 to 4 days a week while pursuing my Master’s in IT at the University of Tampere.

Despite balancing work and studies, I managed both well, as Vertex offered flexibility in adjusting my schedule when I had school-related tasks. By autumn 2023, I was making rapid progress in my Master’s program, and in December, I began working on my Master’s Thesis for Vertex. I was thrilled when Vertex gave me the opportunity to write my thesis as part of my work. In the fall, we held several meetings with the CTO and the Flow team to discuss potential thesis topics. After these discussions, we finalized the subject and organized a meeting between Vertex and University of Tampere to ensure everything was aligned. With that, I started my Master’s Thesis, focusing on subject Modernizing a JSP Application into an Angular Application.

 

Modernizing a JSP Application into an Angular Application

In short, my thesis focused on studying opportunities for a new user interface for Vertex Flow product with new Angular framework. The main purpose of the new Flow interface is to provide customizable interfaces for users. These interfaces could be for example a dashboard view for management or simplified object card for a warehouse worker with ability to add images or videos in real time. The first step in the process was to gain a comprehensive understanding of the current Vertex Flow system and the limitations of its JSP-based interface. To achieve this, I conducted interviews with Vertex professionals who have decades of experience. While JSP technology was once a robust solution for web applications, it has become outdated, especially in the context of modern web development. The key issues identified with JSP were:

  1. Complexity in Code Maintenance: The combination of business logic and presentation in JSP files make the codebase difficult to maintain. This mixing of concerns not only increases the risk of errors but also makes future updates and feature implementations more time-consuming.
  2. User Experience Limitations: JSP’s inherent limitations affected the overall user experience, particularly when using multiple browser windows or tabs simultaneously. These issues detracted from the usability and efficiency of the system, especially for power users who rely on multitasking.
  3. Competitiveness and Innovation: As the web development landscape has evolved, newer technologies like Angular have introduced powerful tools and frameworks that enhance the user interface and experience. Sticking with JSP would mean that Vertex Flow could fall behind competitors that are leveraging these advancements.

The design phase of the project was a critical stage, as it laid the foundation for what the new Angular-based interface for Vertex Flow could become. Although the user interface was never fully implemented, this phase provided deep insights into the complexities of transitioning from an outdated technology like JSP to a modern framework like Angular. The primary goal during the design phase was to envision an interface that would not only meet the current needs of users but also be scalable and adaptable for future enhancements. The first step was to break down the existing system into its core components and functionalities. This analysis helped identify which features needed to be preserved, improved, or re-imagined in
the new interface. Moving from JSP to Angular presented several challenges, each requiring careful consideration during the design.

Summary

Although the design phase concluded without the implementation of the new interface, it was an essential step in understanding the scope of the project and the challenges involved in such a significant technological shift. The work done during this phase provided a clear roadmap for what would be required to modernize the Vertex Flow system effectively, offering valuable insights into the strengths and limitations of both JSP and Angular. Overall, the project was an engaging experience, offering a deep understanding of the technologies behind these
frameworks.

After completing my Master’s Thesis, I also concluded my academic journey at the University of Tampere, graduating in May 2024 with a Master’s degree in Information Technology. My time at the university spanned three years, during which I gained valuable knowledge and experience. Following my studies, I have continued working at Vertex Systems, and I’m grateful for the opportunity to grow professionally with the company.