Chapter 13. Integration
eXist provides many APIs, each of which allow you to integrate or interact with eXist in a different manner. Multiple APIs are provided in the hope that at least one of them is already supported fin the system or application that the developer or user wishes to integrate with eXist.
eXist provides two classes of API:
- Local APIs
These are intended for when a developer wishes to embed eXist as a library within his own application running on the JVM.
- Remote APIs
These are intended for when eXist is run as a server and a user or application wishes to make requests to eXist. All of the remote APIs are developed as layers atop HTTP. There is nothing to stop you from using a remote API from the same machine that eXist is running on.
We have found that the majority of eXist users are interested in the remote class of API, as they wish to use eXist as a database server and/or a web application server, so we will focus on the remote APIs first.
Choosing an API
As you are about to see, eXist offers many options for integration with existing systems and programming languages. Choosing the right one can be confusing, so we have produced the flowchart in Figure 13-1 to help you with your decision.
The last choice in this flowchart—battle-worn or state-of-the-art?—may need some clarification. By way of explanation, the ...