|Oracle8i Application Developer's Guide - XML
Release 3 (8.1.7)
Part Number A86030-01
Introduction to Oracle XML, 10 of 27
Normally, the database provides a set of services - for example, a basic storage service, a query processing service, services for indexing, query optimization, and so on.
In Oracle8i, these services are made extensible so that data cartridges can provide their own implementations. When some aspect of a native service provided by the database is not adequate for a specific domain, a developer can build a domain-specific implementation.
For example, if you build a Spatial data cartridge for Geographical Information Systems, you may need the capability to create spatial indexes. To do this, you would implement routines that create a spatial index, insert an entry into the index, update the index, delete from it, and so on. The server would then automatically invoke your implementation every time indexing functionality was needed for spatial data. In effect, you would have extended the Indexing Service of the server to handle spatial data.
Extensibility enables special indexing on XML (including Text indexes for section searching), special operators to process XML, aggregation of XML, and special optimization of queries involving XML.
An example of the extensibility infrastructure is interMedia Text searching. The text kept in LOBs is indexed using the extensibility indexing interface. interMedia text provides operators such as CONTAINS which you can use to search within the text for substring matches.
The Oracle8i extensibility framework provides the infrastructure for specialized XML cartridges to be built, where indexing and optimization access to XML is accomplished by the cartridge.
Oracle8i provides native support for Java in the DBMS, by providing a native Java VM that is closely integrated with the database for high performance and scalability. In addition, the database system natively supports JDBC, SQLJ, an ORB and the EJB framework. In addition, Oracle8i also comes with a HTTP listener, which means that it can act as a web server as well.
The object-relational framework provides a more natural way to maintain a consistent structure between a set of Java classes at the application level and the data model at the data storage level. In Oracle8i, the object-relational facilities have been tightly integrated with the Java environment in the following ways:
Support for Java within the database is vital, since a lot of the XML infrastructure, such as parsers etc. are available in Java and can be readily used inside the server. Also, the components for XML built in Java can be run inside the server or outside in the application tier.