The N-Squared Java SLEE
Introduction
The N-Squared Java SLEE (N2JSLEE) is a software platform for real-time message processing in multiple mission-critical applications, providing various services, interfaces, and applications as both an Enterprise Service Bus and a fully-featured independent platform.
Built for high transaction volume and low latency, the N2JSLEE scales to handle thousands of transactions a second per virtual machine. Able to be deployed as individual or clustered nodes, the N2JSLEE supports multiple HA deployment patterns natively via Hazelcast data sharding and replication. Deployed on Linux and commodity x86-64 hardware, the N2JSLEE provides a robust solution with low hardware and minimal third-party licensing costs with simple upscaling as required for future business growth.
The N2JSLEE deploys with a wide selection of flexible applications for message processing and control, providing out-of-the-box functionality for enterprise network environments. Where solution-specific features are required, the platform’s first-class support for customised functionality can be easily applied with immediate effect.
An N2JSLEE solution can further be extended via its seamless integration with other N-Squared platforms for key solution needs:
- The N-Squared Online Charging Server (N2OCS), providing flexible, performant real-time charging for all traffic types, and
- The N-Squared Customer Relationship Manager (N2CRM), giving the ability to view and maintain account information across the entire customer base.
Architecture
The N2JSLEE can be deployed either self-hosted in-premises, or cloud-based as a third-party solution. Clustering across multiple servers provides high availability through data replication and redundancy, including disparate geographical locations. Each processing node can be installed on bare metal or virtualized servers.
Each N2JSLEE node can run any or all services available in the wider platform to allow frictionless horizontal scalability. Services or their external endpoints on each node can be brought up or taken down at any time with no loss of service across the cluster. Each processing node can also leverage parallel processing capacity via its multi-threaded, event-based architecture, allowing vertical scalability within servers.
The N2JSLEE is provided packaged for all modern Linux environments and their derivatives including RedHat 7+, Oracle Enterprise Linux, and Debian 18.04+. As a JVM-based solution, the N2JSLEE can use either OpenJDK 11+, Amazon’s Correto JVM, or Oracle’s commercial JVM.
N2JSLEE is designed for efficient and fast message delivery, and supports usage scenarios as a high-performance proxy. The N2JSLEE is developed to keep the message transition time within the logic pathways minimal; message encoding and decoding is minimized and features which lower performance can be disabled for faster raw message processing.
Functionality
Inbuilt Applications
The N2JSLEE platform is delivered with a rich suite of pre-built, composable, highly configurable functional services that allow for message processing and integration with other systems. All services can natively communicate with other services as required anywhere on the N2JSLEE cluster.
-
The Diameter Gateway which provides full integration with Diameter clients over base Diameter (RFC 6733) and Diameter credit control (RFC 8506). The Diameter Gateway can also act as a proxy and relay agent for the management of Diameter traffic within LTE environments, load-sharing inbound Diameter requests from multiple clients through to multiple servers.
-
FUll network integration for SMS using SMPP is provided with the N2JSLEE SMPP Service. SMS may be received from ASPs to trigger processing within the N2JSLEE platform, and can also be generated by platform services for sending to the SMSC.
-
The N2JSLEE SMS Gateway supports the intelligent proxy of SMPP messages between ASP and MC endpoints, MC to MC relay, and SMS notification submission by IT systems using JSON. The SMS Gateway allows a comprehensive range of text encodings, secure SMPP connectivity, delivery receipts, and custom SMPP TLVs.
-
The N2JSLEE platform can be connected to Redis storage engines for both input and output using the Redis Service, allowing integration with external systems and scripts as a message bus without direct knowledge of the proxied protocol.
-
Interaction with platform subscribers can be defined using the Interaction Manager, allowing templated SMS and email to be generated and sent via the appropriate service. Notifications can also be stored in Redis for delivery only within certain hours. Emails can be templated, and sent externally with the Email Service.
-
Where batch input is required, the Batch Processing Service can be used to monitor directories for input and send the file contents for processing to other services.
-
The N2JSLEE Web Services Gateway supports HTTP-based REST or SOAP for both input and output to and from other services. Connections may be configured with both server and client SSL certificates for point-to-point encrypted communication.
Custom Applications
Where site-specific features that transcend the out-of-the-box functionality are required, the N2JSLEE platform provides options to implement them.
-
The N2JSLEE platform provides the Translator Service, a comprehensive JSON-based translation engine that supports message manipulation with no programming required, only knowledge of the message payload structure.
-
The N2JSLEE Script Engine allows dynamic building of Lua scripts that can be injected as a custom service into the message flow for full control over messages and their contents. These Lua scripts can process, send, and receive messages to and from other N2JSLEE services in order to provide the unique functions and processing for a given site, along with all of the native power and simplicity of Lua.
-
If performance is critical, N-Squared’s engineering team can assist in meeting high-performance custom requirements directly within the JVM core.
Ancillary Functions
The N2JSLEE supports key operational management features necessary for real-time high availability systems, including:
- Fully configurable High Availability features for control of message flow within the N2JSLEE platform, both within a node and across the cluster.
- Publishing statistics (e.g. number of client disconnection and connection requests, transactions per second, number of in-progress transactions, etc.), to external third-party monitoring tools.
- Production of Event Data Records by services for persistent records of important transactions in the system. EDRs produced by services can be loaded directly into Redis, written to files, or logged.
- A Manager Service that monitors the local running services and provides access to a web-based GUI for system management and runtime commands for operational control of the N2JSLEE, both locally and across the cluster.
- For telephony environments, Normalisation Rules can be defined for common manipulation of network data for use by services.
- Services that produce Notifications allow routing of the notifications to the appropriate service(s) for handling.