Database Reference
In-Depth Information
The downside to embedding eXist within your own application
rather than connecting to it as a server is a lack of isolated con‐
cerns. When eXist is embedded in a developer application, it runs
within the same JVM instance, and thus the memory and resources
available to the JVM are shared between both eXist and the devel‐
oper's application. Should a fault or design error exist within the
developer's application, this could potentially easily exhaust the
resources or memory available to the JVM instance. This results in
a lockup of the application and unpredictable behavior that is
beyond the control of eXist. Such unpredictable behavior is not
desirable when you're operating a database system, as it can lead to
stability issues and possibly data corruptions.
Client/Server Database Architecture
There is no fixed pattern for running eXist as a database server, as eXist offers many
different options; however, for the purposes of illustration we will assume that the
database server architecture is akin to a classic client/server networked database. In
the client/server networked database, users typically connect to a database server with
a fat client application and/or communicate with the database server from custom
applications by opening connections to the database across the network. In this
architecture we will exclude the more web-oriented aspects of eXist, as they are more
applicable to the next section, “Web Application Platform Architecture” on page 70 .
In the client/server database architecture, eXist is deployed to a central server and
users are given access to the database by both the WebDAV and XML:DB Remote
APIs ( Figure 4-4 ). The WebDAV API allows users to directly manipulate documents
in the database from their operating system's file explorer, just as if the files were in
local folders on their computers (see “WebDAV” on page 305 ). The XML:DB Remote
API, on the other hand, allows users to connect to eXist from the Java Admin Client
GUI (see “XML:DB Remote API” on page 349 ), from which they can manage the data‐
base and perform queries upon it. If you enable the XML:DB Remote API, XML-RPC
(see “XML-RPC API” on page 342 ) also has to be enabled as a prerequisite, so applica‐
tion developers are free to develop applications that can talk to the database pro‐
grammatically using one or a combination of the WebDAV, XML:DB, or XML-RPC
protocols.
Search WWH ::




Custom Search