After spending more than two decades working with enterprise systems at TSS, I have seen
technology change dramatically from traditional client server and Domino based
applications to APIs, cloud platforms, event driven architectures and modern data
platforms. One thing, however, has remained constant businesses cannot simply stop
yesterday’s technology and start again tomorrow.
Why are legacy systems diƯicult to modernize:
From my experience, modernizing a business critical system is not easy. You cannot simply
switch oƯ an old system because the business and other applications may depend on it.
Over time, important business rules become part of the system and are not always well
documented.
Often, the people who have worked with the system for years understand it best. With
multiple systems and databases connected, even a small change can have a bigger impact
than expected. Users are also comfortable with existing processes, so changes need to be
introduced carefully.
For me, stability is more important than simply adopting the latest technology.
Modernization should be a gradual journey – improving the system step by step while
keeping the business running smoothly.
A real world example from my experience:
Modernizing existing Domino systems: One example I have found is how we have
continued to modernize our long running Domino based systems while keeping the existing
business logic and processes running.
Extending existing capabilities: The latest Domino releases have helped us extend
existing logic and functions to meet new business requirements instead of replacing
everything.
REST APIs in Domino: The introduction of REST APIs in Domino has opened many new
possibilities for our existing DOS structure.
Real time data sharing: With REST APIs, we are now able to share real time data with
platforms such as ELK, Hotel Map and digital applications.
Better system connectivity: This has made it much easier to connect our existing systems
with applications outside the Domino environment.
Preserving business knowledge: We can continue using the business logic that has been
developed and improved over many years while also taking advantage of modern
technologies.
Introducing modern technologies gradually: We have gradually introduced Java services,
APIs, data integration and modern search and reporting capabilities around the existing
platform.
Moving towards a connected environment: These changes have helped us move from a
traditional legacy structure towards a more connected and flexible environment.
Adapting to new business needs: It has also shown me that the right technology can help
a mature platform adapt to new business requirements and communicate seamlessly with
the outside world.
The role of APIs in modernization:
APIs act as a bridge between legacy systems and modern applications. They allow existing
systems to keep their core business logic while enabling seamless integration with new
technologies.
In my experience, REST APIs have helped connect Domino based systems with platforms
like ELK, Hotel Map and digital applications, enabling real time data sharing without major
system changes. This approach avoids duplicating business logic and reuses proven
functionality through APIs.
For me, modernization is about preserving the value of existing systems while making them
future ready. Simply put, APIs help old and new technologies work together.
Data is often harder than application migration:
Data is equally important: One lesson I learned is, modernization is not only about
changing application code or introducing new technologies. Data is equally important.
Data accuracy and consistency: When diƯerent systems exchange data, it is important to
make sure that the data is accurate, consistent and available at the right time.
Data synchronization: My experience with databases, ELK, Kafka and data integration has
shown me how important proper data synchronization is between systems.
Realtime vs. batch processing: In some situations, real time data is important, while in
others, scheduled or batch processing is more suitable.
Integration can be challenging: In many projects, integration is often more challenging
than the application itself because many systems may depend on the same information.
Look at the complete data journey: A successful modernization should consider the
complete data journey, not just the application code.
Data integration is a key foundation: For me, good data integration is one of the key
foundations for making modern systems work reliably.
What I learned from working with legacy and modern technologies:
Modernization should have a clear purpose: I have learned that we should not use new
technology just because it is available. There should always be a clear business reason
behind the change.
Understand the existing system first: Important business rules are not always
documented. Before making changes, it is important to understand how the existing
system works and learn from the people who have worked with it for many years.
Make changes step by step: From my point of view, small and controlled changes are
usually safer than trying to transform everything at once. This allows us to test, learn and
improve along the way.
Integration is as important as development: A system becomes much more useful when
it can communicate easily with other systems. In many projects with Domino, Java, REST
APIs, ELK and Kafka has shown me the importance of good integration.
Protect business knowledge while adopting new technology: Technology changes
quickly, but the business knowledge built into existing systems takes years to develop. We
should preserve that knowledge and use modern technology to improve and extend it.
Find the right balance: For me, successful modernization is about finding the right
balance between experience, stability and innovation rather than choosing between old
and new technology.
The human side of modernization:
Modernization is about people as well as technology: Patience, teamwork and good
communication are important when changing long running systems.
Value existing knowledge: People who have worked with the system for many years often
have valuable knowledge that may not be documented.
Work together and keep learning: Developers, technical teams and business users need
to collaborate, while also being open to learning new technologies.
Understand before changing: The biggest challenge is often not learning a new
technology but understanding the existing system well enough to change it safely.
Conclusion:
After more than two decades in technology, I have learned that successful modernization is
not about replacing everything that came before. It is about preserving valuable business
knowledge, introducing change thoughtfully and using technology where it delivers
meaningful business outcomes. Legacy systems are not obstacles to innovation with the
right strategy, they can become the foundation for future growth and transformation.
Mandeep Singh
Tech Lead