Introduction
The L20.05 RVU is a significant release for NonStop middleware. It carries one new product and a major version upgrade of an existing product along with appropriate enhancements in others to support these two. The new product is HPE NonStop HTTP Server 2.4, a new web server, ported from the open source Apache HTTPD Server. The major version upgrade in L20.05 RVU is that of the Ported Binaries on HPE NonStop Servers, Java SE 11, called in short as NSJ 11. Both products are delivered via the commercial and telco SUTs upon ordering the RVU.
This article describes the salient features and benefits of these products and provides a list of where to get more information.
HPE NonStop HTTP Server 2.4
NonStop has been offering the iTP Secure Web Server (referred to as iTP WS hereafter) in all types of SUT DVDs for more than 2 decades. It is the gateway into and out of the NonStop system for applications running on NonStop and communicating with remote applications on other NonStop systems or other platforms using the HTTP(S) protocol. It also serves as the front end for the NonStop Servlets for JavaServer Pages (NSJSP) and NonStop SOAP 4.
The NSHTTP Server 2.4 is a new product released in L20.05 to complement the iTP WS. Apache HTTPD Server 2.4.39 has been ported on to NonStop and bestowed with NonStop fundamentals of continuous availability and near linear scalability. It leverages the NonStop TS/MP subsystem to gain these fundamental qualities. Apache HTTPD Server has been at the forefront of the web server suite of products for several years. It hosts the most[1] number of web sites on the internet today, higher than other popular web servers such as Microsoft’s IIS and open source NGINX in the market. We decided to port it to NonStop because:
- It is a technology being used by the largest number of the top million websites.[2]
- It is being continually enhanced & supported by a very active community for the past approximately 20 years.
- It supports most modern web technology protocols and security functionalities.
- It has been adapting & growing, matching the fast pace of innovations in the worldwide web space.
- Continuous work on it by a significant community of developers has helped it to maintain its performance, quality and hence popularity.
In this release 2.4, the NSHTTP Server offers a subset of features that Apache HTTPD Server provides. They are briefly described in this article. Going forward, NSHTTP Server will be the main web server offering for NonStop and we plan to continuously enhance its functionalities.
Internally, the NSHTTP Server constitutes a “listener” whose function is to interface with the TCP/IP subsystem and receive connection requests coming in from remote clients. There is a configured number of “worker” threads that pick up the connection requests, extract the HTTP Request messages, interact with business applications deployed on NonStop as needed and send the HTTP Response back to the remote client. The worker threads operate and hence handle multiple requests in parallel.
Availability and Scalability of NSHTTP Server
NSHTTP Server is managed by the TS/MP ACS to keep it continuously available. And it uses the NSMEF (NonStop Middleware Elasticity Framework) module of the TS/MP subsystem for scalability. Figure 1 shows the schematic for achieving scalability according to the rate of incoming connection requests. As NSHTTP Server caters to increasing number of TCP connections the NonStop CIPMON subsystem increments the corresponding counter. The data collector module of NSMEF gathers the counter value periodically. The data converter changes the format of the collected connections-in-use information to plain java objects. NSMEF constitutes a configurable rules engine based on the open source Drools product. The number of TCP connections in use are processed using the configured rules. The outcomes of the evaluation are actions that either increase the number of NSHTTP Server instances or decrease it as decided by the number of TCP incoming connections requests. The feedback loop ensures that there are just enough number of running NSHTTP instances thus optimizing both the business application’s needs as well as the usage of NonStop system resources.
Features
The following features[3] are made available in this release NSHTTP Server 2.4.
- Authentication (basic and digest), Authorization and access control of user/administrator
- Web client authentication
- HTTP/1.0 and HTTP/1.1
- Transport Layer Security (TLS) 1.3, TLS 1.2, TLS 1.1 and TLS 1.0
- Secure Socket Layer 3.0 (SSL 3.0)
- Conventional Common Gateway Interface (CGI) 1.1
- Directory access, indexing, and automatic directory indexing
- Content negotiation
- Content caching
- Range byte protocol (aka supporting byte ranges)
- Clickable images
- Server-Side Include (SSI)
- URL rewriting
- Virtual hosts
- Access to OSS user directories
- Session tracking
- Gateway or reverse proxy server for business applications – in release 2.4 NSHTTP Server has been integrated with for the HPE NonStop Servlets for JavaServer Pages (NSJSP)
- Communication with TS/MP Serverclass applications via HPE NonStop PathSockets
As mentioned earlier NSHTTP Server is the go-forward web interface product for HPE NonStop. HPE will certify more functionalities from the Apache HTTPD Server on NonStop and offer them via NSHTTP Server. We encourage our customers and partners to use this new product and share their experiences to the author.
Ported Binaries on HPE NonStop Servers, Java SE 11 (NSJ 11)
The Java Standard Edition platform (Java SE) has been offered on HPE NonStop for many years starting from the NSJ 4 version. The current version of the Java Virtual Machine (JVM) & Java Development Kit (JDK) on NonStop i and NonStop X is NSJ 8. It is a deep ported version of Oracle Java SE 8. Now in the L20.05 RVU, HPE is bringing NSJ 11. It is based on Oracle Java SE 11 Update 03. As all the previous versions NSJ 11 is also a certified implementation of the headless Java SE 11 JDK APIs.
Oracle Java SE 11 is the next Long Term Supported (LTS) version after Java SE 8. The versions Java SE 9 and Java SE 10 were called short term releases and were only active for 6 months each after their respective release dates whereas the LTS versions will be active for 3 years after the date of release. On NonStop we are moving directly from NSJ 8 to NSJ 11.
Major differences from NSJ 8
NSJ 11 is significantly different from NSJ 8 in that NSJ 11 only provides a 64-bit Java Runtime Environment (JRE). Thus applications written for 32-bit JRE of the older Java versions must be changed / enhanced to work in NSJ 11.
The second significant difference is NSJ 11 is the packaging mechanism. NSJ 11 is named modular 64-bit Java because it brings the “Java Platform Module System” to applications packaging. It is intended to help make configuration & encapsulation of different program components of large applications reliable. It allows program components to declare which of their public types can be accessed by each other. It also allows them to explicitly declare dependencies upon one another.
Security related enhancements
On the network and end-to-end security front, NSJ 11 offers the latest standards for Transport Layer Security, namely TLS 1.3 protocol. It also provides Datagram Transport Layer Security DTLS 1.0 and 1.2. DTLS protocol helps protect User Datagram Protocol (UDP) packets. One more new security feature of NSJ 11 is the ability for applications to use Secure Hashing Algorithm 3 (SHA-3).
Other features
- Segmented code cache
- TLS Application Layer Protocol Negotiation (TLS APLN) APIs Support
- Online Certificate Status Protocol (OCSP) Stapling for TLS
- javadocs in HTML5 format. Searching over javadocs is more efficient
Developers migrating their applications from an earlier version of NSJ to NSJ 11 should refer Table 1 and Table 2 in the Ported Binaries on HPE NonStop Servers, Java SE 11 data sheet.
NSjmeter
NSJ 11 is accompanied by new version of NSjmeter. Old name of NSjmeter was HPjemeter. It has been renamed starting with the L20.05 RVU. The HPjmeter version 5.0 is released along with NSJ 11. Unlike the previous versions of HPjmeter this version 5.0 brings the console software also along with NSjmeter server. The console software needs to be extracted, transported to and installed in a Windows machine.
TZUpdater
New version 2.3.0 of TZUpdater is released in the L20.05 RVU. It contains the IANA time zone data version 2018g.
For brief description about all the NSHTTP Server 2.4 features and those of NSJ 11 you may refer to the data sheets listed below.
Refer also to the following User Manuals are available in the HPE Support Center to learn how to use all the features and other aspects of these products.
- NonStop HTTP Server 2.4 Reference Manual
- NSJ 11 Programmer’s Reference
- NSJ 11 Tools Reference Pages
- NSJ 11 API Reference
Figure 2 shows the bouquet of products and tools that are made available from HPE on Nonstop for the Java SE and JEE[4] domains.
HPE NonStop offers state-of-the-art technologies in addition to its mission-critical fundamentals of availability, scalability and data integrity. The middleware and Java-based products are designed to make NonStop as the first choice for customers and partners. We intend to offer more modern products and programming paradigms on NonStop in the years to come.
Java is a registered trademark of Oracle and/or its affiliates
[1] Reference: https://w3techs.com/technologies/overview/web_server dated 7th May 2020
[2] Reference: https://news.netcraft.com/archives/ category/web-server-survey/ dated April 2020
[3] Refer HPE NONSTOP HTTP SERVER datasheet for details
[4] JEE = Jakarta Enterprise Edition. Formerly called Java Enterprise Edition.
Be the first to comment