Japanese | English
 
 

 

 

 

Nextra Logo


Nextra Catalogue

Nextra is a distributed application server that actualizes 3 tiered architecture model comprising 3 entities:Presentation, Functionality and Data. Disturbed Application Server sits in the functionality tier and plays 2 major rules: 1) bridging between presentation and data tires and 2) load balancing among application server processes.

Nextra is a software infrastructure which bridges application components running on various systems in enterprise. It is embodied in so called Mission Critical Applications serving for massive users simultaneously and 24 by 365.

Nextra has been adopted in various mission critical applications irrespective of industries.

Nextra assists you to build 3 tiered architecture based applications and has been served in mission critical systems over 20 years. Nextra is adopted in

  • Large scale deployment required to deal with massive simultaneous user requests
  • Applications required to scale quickly, easily and safely
  • Mission Critical Systems aimed to meet business continuity requirements
 
Page Top

 

Technologies

  1. Application Clustering
  2. Load Balancing
  3. Naming Server
  4. Application Monitoring
  5. Communication Interface Auto Generation
  6. Fast RPC
  7. Message Queueing(C, C#.NET, VB.NET, Java)
  8. Service monitoring with Icinga
  9. Rest server (nextra-rest-server)

 

 
 
Page Top

MQ (Message Queuing) solution with Nextra

Over 20 years proven technology served in the mission critical applications provides you a robust solution in MQ within the distributed application framework.

There are 2 ways handling application requests in queues.

  1. Queuing at TCP/IP layer in Nextra/RPC; each Nextra server can queue up the requests up to 200.
  2. Controlling the number of queues at the client side harnessing our cutting edge technologies in async communication, request distribution and threading at library level.

We here explain #2 above the client side of the queue control from head to toe, bird's eye view to code level.

Overview of MQ control

MQ overview

Async Thread
Code snippets of Async Thread (Callback) ...

public void queueClientImpl(boolean async, int inputData) {

    CallBack callBack = new QueueClientCallBack(); // Create callback object

    Queue_c _stub = new Queue_c(); // Create stub object

    _stub.fChaNStr(sIn, tag, callBack); // Invoke RPC method

}

 

private class QueueClientCallBack extends CallBackBase {

    public void callBack() {

        RPCTable table = null;

        try {

            table = this.getRPCTable();

            out = table.getString(tag); // Return as its argument

            ret = table.getIntReturn(); // Return value

        } catch (DceException e) {

        } finally {

            noOfQueue = noOfQueue - 1; //Decrease Queue

        }

    }

}

Hide snippets.

Queue controller
Code snippets of Queue controller ...

if (qt.getQueue() < maxNoOfQueue)

    qt.queueClientImpl(_ASYNC_, iloop);

else {

    while (true) {

        if (qt.getQueue() < maxNoOfQueue) {

            qt.queueClientImpl(_ASYNC_, iloop);

            break;

        } else {

            try { Thread.sleep(10* 1000); } catch (InterruptedException e) { e.printStackTrace(); }

        }

    }

}

Hide snippets.

Message Distribution with Broker
No coding is required.
Message is delivered within Nextra/RPC to one of its servers dynamically recommended by Nextra/Broker(Naming Server) so to disperse the requests equally to the registered servers.

Worker Thread
No coding is required.
Nextra/librpc built-in feature. Increase or decrease the number of the work thread is adjustable with DCE_THREADED environment file attribute. The default value is 1024, up to 1024 java thread to be created in max.

MQ composition

MQ components

 

You need to write 1) IDL File, 2) Client user logic and 3) Business logic.

Preparation

 

All source code files comprising Queue sample in Java

1. Files which developers need to write
Your preparation File name
IDL file Queue.def
Client user logic QueueClient.java
QueueClientImpl.java
Business logic QueueImple.java

 

2. Files generated by RPCMake utility out of Queue.def
Auto generated files File name
Client stub Queue_c.java
Server interface Queue.java

 

3. Files provided with this sample program
Environment/Batch files File name
Build batch file build.bat/build.sh
Environment file for Broker broker.env
Environment file for Server server.env
Environment file for Client client.env
Broker/Server startup batch file startServer.bat/startServer.sh
Client startup batch file startClient.bat/startClient.sh

 

Queue sample demo

 

You can try the same sample bundled in CentOS7 Docker.
Please click here to following the instructions.

 

Page Top

Naming server plugin for open source Alive Monitoring

broker, the Nextra naming server, is now able to handle REST API. This means any client program is now able to register any network services to broker using REST API.

Naming server plugin for Icinga overview

Additionally, we developed the naming server plugin for Icinga that monitors any registered network services in real time whether they are alive or not. Plus send the log to the specified syslog server if a registered service is down.

Miezou Overview

Please see the demo video(2mins 38secs) on YouTube.

Please visit the Github project, download the Docker components from the site and try now.

Even more good news for existing Nextra customers is this plugin works with Nextra servers registered to the broker. In other words, you can bring Icinga as the prime monitoring tool for Nextra servers.

Please also read white papers for further information.

Page Top

Nextra REST server (nextra-rest-server)

Nextra REST server(nextra-rest-server) is a REST server interfacing Nextra servers seamlessly. It is like a REST proxy server for Nextra servers. nextra-rest-server maps JSON object into Nextra/RPC and vice versa.

Nextra REST server overview

Features

  • Making Nextra servers REST API ready on the fly with no change in the existing Nextra servers; you only need to develop REST client.
  • Required Nextra/Definition file(.def) only to start with; no compilation required with existing programs.
  • Simple, but powerful REST API documentation utility called swagger is built in so you can not only refer the API documentation, but also test Nextra servers on the fly.

It also comes with REST API for Broker(Nextra naming server) so users can operate on Broker using REST API through nextra-rest-server.

swagger

Please visit the Github project, download the Docker components from the site and try now.

Page Top