If you are using Oracle’s application development tools, such as Forms or Reports, you can use PL/SQL as the language in which you create an application’s graphical user interface and supporting logic. Technically, you don’t even have to connect to a database to use this feature. Also, with a little effort, you can even hook up client-side PL/SQL to databases other than Oracle. The normal arrangement, though, looks like Figure 20-10.
Figure 20-10. Oracle client-side runtime environment invoking a stored procedure
As illustrated, the client-side runtime environment—which may actually be running on a middle tier, such as an Oracle Forms “server”—communicates with both the server-side PL/SQL runtime and the server’s SQL processing components. The remote procedure calls don’t require the server to read the DIANA of any called programs in order to determine whether the referenced program has changed, as discussed earlier in Section 20.2.4 of this chapter.
One of the great things that Oracle has done with the application development tools is to provide a wide range of extended functionality via built-in packages. So, on the client computer, for example, you can use PL/SQL to do things like:
Define the behaviors of triggers that fire on events such as mouse clicks
Provide data entry assistance to the user by encoding automatic lookups and data validation