OpenADS — Documentation (English)

OpenADS is a free, clean-room implementation of an ADS-compatible database engine. It is a drop-in replacement for the Advantage Client Engine (ace32.dll / ace64.dll / libace.so) — Harbour / Clipper applications that link against contrib/rddads keep working without recompilation.

What’s in here

  • Getting started — install, first build, smoke test.
  • Architecture — five-layer architecture (ABI / Session / SQL / Engine / Platform), where each module lives in the source tree.
  • Wire protocol — formal spec of the OpenADS-native TCP wire (frame layout, every opcode, payload format, error semantics, versioning).
  • Data Dictionary — clean-room .add text format + the engine::DataDict API + REST surface.
  • Studio (web console) — administer an OpenADS database from any browser through the embedded HTTP console hosted by openads_serverd.
  • Benchmarks — cross-platform SQL workload numbers (Windows MSVC / Linux clang -O3 / macOS AppleClang).
  • TLS deployment — terminate HTTPS in front of Studio with Caddy / nginx / stunnel / SSH tunnel.
  • Ordinal compatibility — fix the Windows “ordinal NNN not found” loader error when an app’s import table references SAP-style ordinals.

Other languages

Español · Português


Table of contents