BUILDING NEXT-GEN TELECOM SOFTWARE WITH JAVA

Leveraging our experience with global telecoms, a Java team of ITIDO participates in the end-to-end development of a new, cloud-native app. Its goal: providing real-time complete overview of service inventory.

post-image

The global telecom industry is an ever-shifting landscape. With every new generation of network standards, data transfer speeds break records. Virtual infrastructure becomes more important than ever. Business models shift towards diverse on-demand services. These are transformative times for telecoms as well as their network technology suppliers.

To get ahead of the industry trends, Nokia Networks – a global leader in telecommunications that ITIDO partners with on a long-term basis, maintains its own ecosystem of cloud software services for telecom operators. ITIDO built and now manages a sizable team of software and DevOps engineers as well as managers that work alongside representatives of Nokia and the telecoms.

In 2022, a group of ITIDO Java engineers joined an enterprise-level effort at Nokia to develop a new, cloud-native application that can be put to use alongside other Nokia software systems like OSS. The purpose of this new app is to provide an end-to-end service inventory view – in real time and in a graphical user environment.

Key platform features

The new universal virtual index application (UVIA)* addresses three groups of notable market trends:

  • Increasing demand for automation of day-to-day operations like provisioning, orchestration, assurance, and service inventory management;
  • The rapid growth in size and complexity of logical computing resources (physical assets are losing their relative significance);
  • The on-demand availability of virtual network functions in each telecom’s cloud. This is replacing planning, assembly and delivery of special network hardware.

In simple terms, UVIA supports other programs that rely on it for real-time automatic operations such as service, fulfillment, close loop operations, and automatic network discovery. The application enables combined view over resources: multi-supplier, multidomain service and resource topology. It also helps in designing, building, and operating virtual telecom networks.

Lightning-fast database

UVIA should replace a legacy Nokia product. The former was therefore designed to provide full compatibility with the latter. In contrast with the legacy application, the new one relies on a graphic database built on the Neo4j graphical data platform characterized by its creators as enabling “lightning-fast queries”.

“When you do topology search, you feel like there is zero latency”, explains Boryan Ivanov, one of the ITIDO’s software engineers on the project. This is regardless of the number or depth of relationships. Moreover, nodes from the same type can have different properties.

Neo4j provides libraries and methods that can be used straight away for software development. Neo4j uses Discovery & Reconciliation (DNR). For UVIA, this means that data is not collected via Nokia’s standard tool but it gets fetched from other databases via software adapters.

UVIA rests on microservices architecture. Each service can be uploaded separately in Kubernetes container services platform. Each is not dependent on other microservices. As a result, the infrastructure is used optimally. In theory, every telecom served by Nokia can migrate to UVIA to benefit from its advantages. Migrations, however, are handled on a case-by-case basis due to customer specifics.

The Java advantage

The software development side of UVIA – like adapters, plugins, various components, API calls – is performed entirely with the Java 11 programming language. “For UVIA, we use the Spring framework”, elaborates Boryan, the ITIDO engineer who contributes with his programming skills. Along with Python and the Django framework, Java and Spring are among ITIDO’s core competences in the back-end field. Our pool of Java talents features senior as well as mid-career professionals.

So how does code written in Java tie with the graphical database of UVIA? The APIs, for instance, are meant to manage the lifecycle of the identifiers of Neo4J. These are called number-management APIs, e.g. phone numbers. Furthermore, UVIA components are loosely coupled stateless Java executables in Docker containers.

The universal virtual index application is one of Nokia’s latest initiatives where Java is widely used. The language has so far been the basis of software tools and packages like network element interfaces and internal catalogs (developers use the latter via GUI). For all these, ITIDO engineers have also contributed with their expertise in telecom software products.

*The real name of the application is not used in this article in order to preserve the confidentiality of the project.

MORE FROM OUR BLOG

Card image cap
December, 2022

WHY IS PRODUCT DISCOVERY IMPORTANT

Before designing solutions, uncover what needs should be addressed. Discovery brings clarity for startups and mature firms alike.

Card image cap
November, 2022

GETTING STARTED WITH CI/CD, PART 2 OF 2

We highlight the best pipeline tools on the market. Some are all-in-one solutions while others are customizable to a particular SDLC phase

Card image cap
November, 2022

GETTING STARTED WITH CI/CD, PART 1 OF 2

Introducing a CI/CD pipeline into software development means automation and monitoring of code changes, new features, potential bugs, and more.