Features & Details

AceQL Product features

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.