Dynamic PSP implements the concept of server pages (PL/SQL Server Pages).
It is an evolutionary extension of Oracle PSP technology.
Oracle works with '.psp' files stored on hard disk and uses pspload utility
to parse them, upload into the database and compile. Unfortunately, when client and server
computers are connected via Internet such approach is often impossible
for security reasons. In many cases direct connection via Net8 or Telnet
protocol (if '.psp' files are stored in server file system) cannot be established.
Contrastingly, Dynamic PSP requires only HTTP protocol on port 80,
which already exists since we are developing Web application.
Therefore Internet connection and web browser are enough;
even Oracle Client need not be installed.
In Dynamic PSP the source code is stored in CLOB objects in the database
and can be edited by a web-based editor, which is working in browser window.
Each source code object as well as the whole application can be executed
from the editor
immediately "on-the-fly" without compilation and any other intermediate steps.
Resulting page will be shown in another browser window.
By this approach two major goals are gained:
Another important consequence is that Dynamic PSP is an exciting learning tool.
You may begin with a very simple code and see the results of every small change
immediately. Try it online on our Live Demo page.
Application can be developed remotely by distant programmers,
working simultaneously in "real-time"
(that is what exactly happens in the case of our company).
Debugging time is greatly reduced.
Although Dynamic PSP is simple it is an extremely flexible tool for
creating complex business applications.
It supports and induces the division of a big project
into small modules, which are implemented as DPSP objects.
Each DPSP object can call any other DPSP object in the same application scope with
any number of run-time parameters.
This is another feature that distinguishes Dynamic PSP from Oracle PSP.
While developing with the help of Dynamic PSP you are not constrained to use
any modern web technologies like XML/XSLT, WAP and so on.
For example, XML documents can be embedded with PL/SQL code and created
dynamically using database data. It is the so-called XSP (XML Server Pages)
and they can be dynamically generated as well.
In comparison with others server side scripting solutions such as JSP or ASP,
Dynamic PSP have following advantages:
Dynamic PSP does not require compilation of source code or uploading,
it allows "on-the-fly" execution, that speed up the developing process;
there is no need for direct database access from developer's seat;
absolutely all features of Oracle SQL are available;
the performance is better than that of external server pages (and since Oracle9i,
PL/SQL code can even be compiled into native machine code).
no need to learn yet another programming language.
PL/SQL is Oracle's primary programming language and any Oracle developer is already
familiar with it.
the program code is very clear and transparent,
because PL/SQL is specially designed for database access;
low hardware requirements developer seat since only a web browser is required there.
Dynamic PSP takes just a little overhead for parsing and executing PSP pages
in interpretation mode, and almost no additional overhead on the final
stage of the project when all pages are compiled into PL/SQL packages
and there is no more overhead for parsing.
At the moment, PL/SQL stays the fastest language to do something in database.
Java code still works much slower in Oracle than PL/SQL.
Since Oracle9i can compile PL/SQL into native machine code, PL/SQL performance improved
even further on 9i.
Dynamic PSP imposes very modest requirements for hardware and software
configuration both server and client computers.
No need to buy additional software or hardware. If you have Oracle8i server
and a web browser then you have everything you need to use Dynamic PSP.
Not only Server Pages.
Because we designed and implemented Dynamic PSP from scratch,
it is not based on Oracle PSP engine; we could include some
additional functionality into it.
Dynamic PSP provides developer with a number of useful built-in functions
for PSP objects interaction, sending email, debugging,
code profiling and errors processing.