DBPrism is an open source framework to generate dynamic XML from a database.
Unlike other technologies, such as Apache XSP
or Oracle XSQL servlet
DBPrism generates the dynamic XML inside the database, transforming it
into an active database.
An active database means that you use the database engine not only to
execute SQL statements, but to directly return a complex XML
representation of the data stored inside as well.
|Oracle XSQL and Apache XSP, can call Stored Procedures with <xsql:include-owa> tag
or with the stored procedure taglib, but his primary design suggest to write the application
logic in the middle tier. 99% of the applications made with these technologies do not use stored
DBPrism is a servlet engine that works in two different modes:
as a standalone servlet, or plugged into the Cocoon publishing framework.
In the first mode, DBPrism works like the PLSQL Cartridge of Oracle Web Server
Plugged into the Cocoon framework
DBPrism works as a DB Generator, generating dynamic XML from a database.
|Backward compatibilty for Oracle Applications
The main motivation to work like the PLSQL Cartridge of Oracle Web Server
is to allow old technologies to coexist with new ones, helping in the
migration path. Using DBPrism it is possible to run applications made
to work with Oracle Web Server
in the same box or the latest Oracle
Internet Application Server
without any modifications.
This kind of application includes applications designed with Oracle Designer - Web Server Generator
or Oracle Web DB
and standalone applications
made using the PLSQL HTP toolkit (Html Toolkit Procedures is group of
related procedures or functions written in PLSQL to make application for
the Oracle Web Server architecture). For further information on how
these applications work, refer to the developer's manuals of these
DBPrism plugged into the Apache Cocoon framework is a new way for
making Internet applications with technologies as XML and XSLT.
Cocoon is a presentation framework based on servlet technology,
so it can run in any web server supporting servlet technology.
As a presentation framework it has the responsibility for serving pages
requested by the user, applying first styles as the page needs and
transforming static or dynamic XML content into HTML.
Cocoon is also able to perform more sophisticated formatting, such as XSL:FO
rendering on PDF, WML formatting for WAP-enabled devices, or
direct XML serving to XML and XSL aware clients.
The Cocoon project aims to change the way web information is created,
rendered, and served by completely separating document content, style,
DBPrism is plugged into the Cocoon framework for the XML creation step.
It then moves the logic to the database, closely allied to the data
itself. The most important characteristic of DBPrism is that unlike in
other technologies, the logic of the application resides in the database
as a stored procedure.
The stored procedure could be written in the proprietary language or in
Writing stored procedure in Java with a JDBC or SQLJ call guarantees
portability across different database vendors because there is a
standard defined for this purpose.
DBPrism already includes support for Oracle databases, but its design
allows developers to write adapters to plug into many other kinds of
|Why everyone should use Cocoon with DBPrism for XML Web Development
a PLSQL or Java stored procedure is scalable up to 1000
or more concurrent sessions without problems of memory leaks, or deadlock.
Better separation of concerns,
logic in database side, presentation
in a middle tier (web server).
when the user executes a stored procedure, then s/he passes
to the security level of the database. This security assets are declarative not
programmatically, and then safer.
if the programmer writes, for example, a Java stored
procedure, s/he could use an integrated development tool to online debug the
if a programmer makes a change in any table of the
application, the integrated dependency manager of the database automatically
invalidates the stored procedures depending on this table.
in a big application a deployment stage tends to be
difficult, with stored procedures it is very easy. You only have to make an
export and import of the application schema.
Automatic development tools,
like Oracle Designer/Web Server generator.
With little work it is possible to make an automated generator that takes logic
information from a central repository and generates the stored procedures code.
Reuse of developer skills,
many companies have developers with a lot
of experience in Oracle PLSQL. With little training these people will be able
to develop an application using DBPrism and the XTP toolkit (similar to htp
toolkit of OWS).
|Why everyone should upgrade to DBPrism from OWS, OAS, Web DB or mod_plsql
- It's free.
- It's J2EE compliant.
- Parameters order is not relevant.
- Supports UTF-8 database encoding.
- Supports Oracle 7, 8, 8i and Lite.
- You don't need to change the code of your packages.
- You can simply set character encoding of html output from PL/SQL procedure.
- Go to the XML world, with dynamic content generation using DB Generator for
the Cocoon Framework of XML Apache Project.
- Tested with OWS 3.x, OAS 4.x, Web DB and IAS 1.0 toolkits
- Support for Java Stored Procedures which permits write XML Application
with sameless integreation between Oracle 8i and Oracle Lite 4.0.
- Includes Content Management System, based on Oracle CMS. CMS is the software that built this site.
|".. one of the most astonishing success stories of Java, Oracle and Open Source co-operation. This is DBPrism (or the
project formerly known as OWSKiller). Originally created by Marcelo F. Ochoa to ride upon the Apache JServ web server system (before iAS itself got there), DBPrism is a
Java servlet system which can be used to emulate the old Oracle Web Application Server PL/SQL Cartridge, as well as now tackling the latest Oracle Internet Application
Server products, in conjunction with mod_plsql.
DBPrism is also a fully open-sourced project, with Apache style licensing. Primarily interacting with Oracle PL/SQL to drive web output, DBPrism also enables Oracle8i
Java Stored Procedures for web output. The most exciting avenue for DBPrism is perhaps the Oracle database support it provides for the XML-based Cocoon CMS (Content
Management System). Cocoon is another Open Source project from the Java Apache Project.
DBPrism is a triumph..."
Chapter 8 of the book Oracle & Open Source
by Andy Duncan & Sean Hull
|Discussions: Peer-to-Peer Support