SQLing Gateway
Your PL/SQL web pages, still running. Oracle not required.
Before APEX, there was the PL/SQL Web Toolkit: stored
procedures that print their pages with htp.p, served by
mod_plsql, the Oracle HTTP Server or the ORDS PL/SQL gateway.
SQLing Gateway serves those applications as written.
It uses the same /dad/procedure URLs, the same parameters
and the same pages. Underneath is the sqling
Engine on SQLite or Postgres, with no Oracle database involved.
What it serves
-
Pages that are stored procedures
HTPandHTF, the full classic tag set, including forms, tables and lists, with Oracle's parameter names, so calls likehtp.formText(cname => 'p_name')work. Also covered:OWA_UTILheaders, redirects and the CGI environment;OWA_COOKIE; andOWA.vc_arrcollection parameters. -
PL/SQL Server Pages too
If you kept your pages as
.pspfiles, the gateway compiles them the wayloadpspdid. It handles directives, declarations, code blocks, expressions,include,contentTypeanderrorPage. You keep editing the pages and skip the step that loaded them into Oracle. -
The gateway's own rules
These follow mod_plsql:
- Parameters bind by name, and repeated fields fill collections.
!procflexible parameters are supported.- A wrong call returns 404, and the exclusion list returns 403.
- Each request is one transaction, and package state resets between requests.
- File upload uses the document table, and
wpg_docloadhandles download.
Proven on a real application
One test was a public-sector class registration and administration system written in 2003. It has about 70 procedures and 45 pages over two schemas, with public sign-up on one side and a back office on the other: rosters, certificates, printable cards, instructor records and a clickable map of class locations. Its owners had it rewritten twice to get off Oracle.
We loaded the original DDL and PL/SQL, as written, and it ran. The one
change was in its login check, which had a bug the original carried
too. Its .psp sources compile to the same procedures that
were in production.
What is honestly not there yet
OWA_SECcustom authentication schemes, andOWA_OPT_LOCK. They are straightforward to add when an application needs them.OWA_PATTERN,OWA_TEXTandOWA_IMAGE.- Database access descriptors managed from an admin console. DADs live in a JSON file.
The PL/SQL in your procedures runs on the sqling Engine, so its coverage limits apply here too.
Try it
The sample HR application lets you list, edit, save and delete records, upload and download documents, and export CSV. It is plain Web Toolkit PL/SQL, served live.
On your own server, point the gateway at your database and your sources:
$ sqling-gateway --db app.zip --dad app --default-page app_web.home \
--install app_web.sql --install pages/register.psp
http://127.0.0.1:8800/app/
Have a Web Toolkit application you would rather not rewrite?
Send us a package or a page, and a count of what you have. We will tell you what runs today. Contact us.