The application of modern software technologies in telecommunications support systems
One of the primary requirements for IT systems in telecommunications environments is reliability and scalability. In addition, there is a strong need for integration due to the above-average number and significance of heterogeneous IT support systems in modern day telecommunications companies. The IT industry attempts to meet those requirements by deploying innovative software technologies (SOA, distributed and database technologies, application server based systems). The next section provides an overview of these technologies, focusing on the requirements of the telecommunications environment.
Service-Oriented Architecture Technology
Service-Oriented Architecture (SOA) is a collection of services communicating with each other through standard interfaces. SOA is designed to create a loosely connected architecture built up of reusable components.
The primary advantages of the technology are:
- Interchangeability through standard interfaces.
- Ability of any component or existing subsystem to be added to the main system through appropriate interfaces. SOA systems use generally supported standard information exchange technologies (HTTP, XML, JDBC/ODBC). Most of the existing business networks already support this solution to a certain extent.
- Due its distributed network architecture, SOA is perfectly scalable and resilient: to meet growing demands, new redundant services/servers can be added and the system continues to function even if some of these components fail (albeit at a lower capacity). The SOA architecture is responsible for load balancing and switching between various services.
-
Advanced developing/configuring/operating tools: the tools defining and monitoring information flow form an integral part of SOA systems. Using these, the overall system can be operated, and even improved, without detailed knowledge of the specific subsystems.
J2EE / EJB 3.0
Java Platform Enterprise Edition is a software environment designed to develop platform-independent and robust applications.
J2EE is specifically suited for developing so-called multi-layer applications (typically database - processing - user interface) where an application server coordinates the components of the various layers. J2EE components can be easily migrated between various application server environments. Application servers provide transparent services essential for constructing robust systems (e.g. transaction and database management, scheduling, remote process calls, load balancing, etc.) on standard interfaces.
EJB3 technology (Enterprise Java Beans 3.0) supports the development of interchangeable components running on application servers. Its major functions are:
- Automatically saving data to a transparent database (persistence)
- Data consistency (transaction management)
- Automatic synchronization of system components operating simultaneously
- Support for distributed systems (transparent remote object and process calls)
-
Deployment/monitoring services to components
AJAX user interface technology
A common benefit of SOA systems and J2EEE applications is that they both can be used with a simple web browser without having to install specific client software. This significantly simplifies systems installation and operation. The major drawback of traditional browser-based interfaces (so-called classic HTTP) is that they use the "client-to-server request" model, i.e. users have to initiate every single screen refreshment. This is not only annoying but also a slow and inconvenient for more complex applications.
The so-called Asynchronous JavaScript and XML (AJAX) technology is designed to overcome this problem by enabling the development of interactive applications in standard web browsers. The key benefit of this solution is that the software, not the user, controls the user interface, resulting in faster, more convenient and safer operation.
Summary
The above technologies provide critical solutions telecommunications support software systems must have. Both SOA and J2EE technologies support the model required for the operation of a typical telecommunications service, i.e. the system configuration is stored in a database accessible to a large number of operators through an sophisticated user interface. The changes in the configuration are controlled by a complex logic in the middleware that "translates" high-level operator commands (e.g. connecting a new endpoint) to low-level configuration commands.
NETvisor continuously strives to provide cutting-edge services using state-of-the-art software development solutions and technologies. Our team members have a wide variety of competencies in the above technologies to serve them in the development of network management products.
In collaboration with the IT Faculty of ELTE University, NETvisor has also founded the IT Cooperation Research and Training Centre (ICRTC) to collaborate on software technology research projects. In addition to that research portfolio, our team members have been teaching at the Department of Theoretical Programming and Software Technology for the past three semesters to introduce students into advanced technologies (like the ones described above) and the practical side of software development project work.