IBM Support

Introducing IWS 3.0

News


Abstract

Introducing IWS 3.0, Jakarta EE-based server

Content

 

What is it?

The Java execution environment (EE), originally known as J2EE, was Sun/Oracle's framework for building enterprise-level applications with a standardized set of APIs. In 2017, Oracle transferred Java EE to the Eclipse Foundation, and due to trademark issues, the platform was renamed Jakarta EE.
 
The IWS 2.6 server runs under Java EE.  The IWS 3.0 server will run under Jakarta EE, allowing IWS to make use of the latest technologies and introduce new enhancements in IWS server based on Jakarta EE. 
 
To create an IWS 3.0 server from the Web Administration GUI, ensure you have PTFs listed at bottom of page.  When you bring up the IWS server creation wizard, you will have the option to create a Jakarta EE server as shown in the figure below:
 
Create web services server wizard
 
You can also create an IWS 3.0 server using the Qshell script createWebServicesServer.sh with the –version option.  For example:
 
createWebServicesServer.sh  -server jakarta -startingport 41000 -version *CURRENT
You can update an existing server to IWS 3.0 by using the new updateWebServicesServer.sh script with the -version option.  For example:
 
updateWebServicesServer.sh -server myserver  -version *CURRENT
 
Notes:
  1. IWS Qshell scripts are located in directory /QIBM/ProdData/OS/WebServices/bin.
  2. Before updating your server from IWS 2.6 to IWS 3.0, it is highly recommended that you save your server using the Qshell script saveWebServicesServer.sh.  In the unlikely event a problem occurs during the upgrade, you can delete existing server and restore original server using the restoreWebServicesServer.sh script.
  3. When upgrading a server from IWS 2.6 to 3.0, the deployed web services will also be upgraded.  Depending on the number of web services deployed in the server, the script may take some time to run to completion.  If you end the command before completion, the server will be in an inconsistent state.  If this occurs, you will need to start over or use the updateWebServices.sh script to update the web services.
  4. Testing has shown that web services request/response payloads are unchanged when you go from IWS 2.6 to IWS 3.0.  But there are no guarantees.  You should test your web services to ensure things work as expected in IWS 3.0.
  5. In order to create or upgrade to IWS 3.0, you must have Java 17 or higher installed on the system.

Why use it?

There are many benefits to moving to IWS 3.0.  For starters, any future enhancements to IWS server will be based on Jakarta EE. Thus, you will need IWS 3.0. 
 
Secondly, for REST APIs, with IWS 3.0 you get:
  • OpenAPI, an open API specification (OAS) that defines a standard, language-agnostic interface to RESTful APIs, which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection. When properly defined, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. The following figure shows the OpenAPI UI:

    image-20251016210053-1

    For IWS 3.0 REST, OpenAPI UI enabled by default. The OpenAPI UI is accessed using the following URL: http://<host>:<port>/openapi/ui/ or https://<host>:<port>/openapi/ui/ if TLS is enabled.  In addition, the OpenAPI supports aggregation of multiple OpenAPI files by combining individual API definitions into a single, consolidated OpenAPI specification in YAML format.  The specification is accessed using the following URL: http://<host>:<port>/openapi/ or https://<host>:<port>/openapi/ if TLS is enabled.  Note that in the URL examples, the host and port is the IWS server host and port. 

    In the OpenAPI UI, users have the ability to update various properties on the page, such as title, version, description and the last line on the page such as terms of server and contact information.  For more information on how this can be done, see Enhancements to setWebServicesServerProperties.sh Qshell command.
  • JSON requests that contain unknown properties are ignored.  In IWS 2.6, the server would throw an exception. 
 
Finally, in future releases of IBM i, you will not be able to create IWS 2.6 servers.  It is best to get a head start with a move to IWS 3.0. 
 
 

Availability

The support is enabled in the following PTFs:

V7R6M0 HTTP Group PTF SF99962 Level 6 or later, SJ07853
V7R5M0 HTTP Group PTF SF99952 Level 25 or later, SJ07854
V7R4M0 HTTP Group PTF SF99662 Level 47 or later, SJ07855

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"HW1A1","label":"IBM Power Systems"},"Component":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

Document Information

Modified date:
11 November 2025

UID

ibm17248102