Chapter 28: Putting It All Together
Looking back over the previous chapters, it is obvious that Oracle has an extensive XML platform across all major Oracle development languages. In this chapter, we discuss design and application decisions that you must make when you approach the implementation of your solution on Oracle. First we take a look at the platform from a tier-to-tier functionality point of view and the issues associated with performing XML processing on each. Then we discuss XML support in the database and the various strategies, including their advantages and disadvantages. Next we focus on the individual language decision from a functionality and run-time point of view. Finally, we finish up by exploring how the Oracle XML platform can be extended.
The Oracle XML Platform
What has been learned at Oracle over the last five years and echoed by enterprise customers is that XML processing cannot be done in one place. Thus it is vitally important that XML processing functionality is available on all tiers, from the database through to the client. next section. Since this support is standards-based, you can move between Oracle’s XML platform and others such as IBM and Sun without having to migrate your code.
Figure 28-1: Oracle 10g XML platform
One thing to note is that Oracle XDK 10g serves as the foundation for XML functionality in all tiers. Therefore, there is a consistent level of functionality to develop against. In the case of the database tier, the XDK’s C libraries are linked into the RDBMS server and are used by Oracle XML DB as well as AQ Streams. The Oracle JVM provides Java functionality that enables the XDK’s Java libraries to be loaded and called from Java stored procedures. In the middle tier, the Oracle J2EE container includes the XDK’s Java libraries and the XSQL Servlet, along with Web Services. Even Oracle Web Cache has smart XML functionality, as it caches XML message responses and performs XSLT transformations using the XDK’s C libraries. Finally, rounding out the platform, all of the XDK’s C, C++, and Java libraries can be used for client application development.