AceQL Product features

Features & Details
SQL Databases
Open source databases: MariaDb, MySQL, PostgreSQL
Oracle Database
Microsoft SQL Server
IBM DB2
SQL Types
Main SQL types: Boolean, Integer, Short, Double, Float, BigDecimal, Long, String, Date, Time, Timestamp
Array type
BLOB & CLOB types
SQL Operations
DML operations (DELETE, INSERT, SELECT, UPDATE, …)
TCL operations (COMMIT, ROLLBACK, SAVEPOINT)
Batch commands
DCL operations (GRANT, REVOKE, ...)
DDL operations (CREATE, ALTER, DROP, RENAME, …)
JDBC API metadata calls from client-side

All JDBC metadata APIs are callable from the client side, allowing you to use database viewers with the AceQL Client JDBC Driver: DBeaver, DbVisualizer, etc.

Connections Management
Tomcat JDBC Connection Pooling
Support any JDBC Pooling Connection framework (DBCP, HikariCP, C3P0, etc.)
Full control of Connection release in the pool

Allows you to trigger Java events before and after the release of the Connection to the Pool

Unlimited simultaneous JDBC Connections per database
SQL Data
Unlimited SELECT result set size
Limiting maximum size of SELECT result
Stored Procedures
SQL stored procedures
Java AceQL stored procedures

Call from client-side Java programs that directly return a formatted, ready-to-use ResultSet created on the server side.

User Authentication
Windows, SSH, JDBC Query, LDAP, Web Service

Provides ready-to-use classes for authenticating against a Windows server, a Linux server, a SQL table, a LDAP server or a Web service.

External authentication without a password

Some working environments (Intranet, etc.) require the client user to authenticate themself without a password. This feature allows for client authentication with a session ID.

Request headers analysis for validation on server

The request headers may be intercepted on the server side by the validate() method of a Java interface. This feature eases authentication against Cloud services that use request headers, such as AWS.

SQL Firewalling
Firewall rules creation using Java Dependency Injection
Ready-to-use firewall chained rules set

Easily build firewall rules by chaining provided, ready-to-use classes.

Firewall rules set definition using a CSV file

Define complex firewall rules using only a CSV file loaded at server startup. Each SQL query is performed against the content of the CSV file.

Trigger code/action if attack is detected
Running Options
Java ThreadPoolExecutor fine tuning

Allows you to define all the parameters of the java.util.concurrent.ThreadPoolExecutor instance used to execute all servlet requests in async mode.

Update listeners

Allows defining Java code to execute after a successful SQL database update is done. Update Listeners can be viewed as a kind of Java "trigger" executed on the completion of SQL updates. Much easier to code and use than SQL database vendors specific listeners.

JDBC Connection pool monitoring servlet

Allows you to define servlets that can interact with AceQL Web Server (in order to query info about JDBC pools in use, or modify a pool size, etc.)

Controlling the AceQL Web Server from a program

Allows you to start and stop the AceQL Web Server from a Java program.

HTTP/2 Support
Running AceQL directly in a Servlet container (Tomcat, JBoss, etc.)
Cryptography
Properties file encryption

In order to protect configuration passwords and other confidential values from eavesdropping, each property value may be replaced by an encrypted value in the main properties file.

Support
Professional Support