Its still in active development so there might be bugs. But this version is fully functional. Please feel free to report the bugs at [email protected]
QHTTP simply allow you to expose any DB2 for I stored procedure as a Restful service. It should take less then 5 minutes to setup and should not take more then couple of minutes to expose the stored procedure as service. Its specifically designed not to include any business logic. So, all the business logic should stay on IBM i.
- **Dont need to install the QHTTP jar file on IBM I.
- IBM I® of course.
- Java 8+.
- QHTTP uses Eclipse Jetty as the server.
- So it can be installed on any server (including IBM I) /pc that has java ® installed.
- Never got a change to install and test on IBM I.
- Simple setup and interface.
- Dont need any special code inside the DB2 for I stored procedure.
- It does not require any web server (like Apache) on IBM i.
- It can be used with any existing DB2 for I stored procedure.
- It uses JWT bearer token for auth.(please check system.properties for JWT config)
- It can be installed on NON IBM i systems(But not required). You can install it on your pc also.
- It can connect to mutiple IBM i systems.
- Auto log all request and response data.
- Auto convert stored procedure output to JSON.
- Integrated with Open API.
- Auto create Open API documentation at following levels
- Admin
- Server
- Service
- Group
- User
- Expose SQL queries as services.
- Download and unzip the zip file
- Click on QHTTP.JAR OR
- user this command from command line: java -jar QHTTP.JAR
Setup need 4 steps:
- Add an IBM I server.
- Configure a SP as webservice.
- Create a web services group.
- Assign the web services group to a user.
This is a sample SP with IN/INOUT and OUT parameters and 2 resultsets.
- User Name: Admin
- Password: AdminPass
- Add required details for server.
- Setup job libl if required.
- Server setup is done
- Long press on server item to check the server usages.
- Enter required details
- Click Test & Save
- It will load the stored procedure details from the server.
- After saving "Open Api specs" button will be enabled
- Enter test values for IN and INOUT paramters
- click "view IN/OUT" to check a sample.
- add webservice to the group.
- Give user access to the group. (One user can have multiple groups).
- Click save to generate a user token
- Click on token to copy.
- QHTTP uses Encrypted H2 Embedded Database
- db.properties files contains the default database setup.
- These propertis can be changed based on the requirement.
- http://www.h2database.com/html/features.html#file_encryption.
- A self signed SSL certificate is already included with qhttp.jks keystore.
- To enable SSL, change system.proerties "ssl=Y".
- For more details please refer: https://www.eclipse.org/jetty/documentation/current/configuring-ssl.html .
- for system level configurations Like JWT key and SSL.
- configuration related to OPEN API.
- You can define IN or INOUT parameter with following names to receive the request data
- http_request_method
- http_request_url
- http_request_endpoint
- http_request_ip
- http_request_port
- http_request_protocol
- http_request_username
- http_request_useragent