Developing Applications in MarkLogic Server
- Last Updated: April 16, 2026
- 3 minute read
- MarkLogic Server
- Version 12.0
- Documentation
This chapter describes application development in MarkLogic Server in general terms, and includes the following sections:
- Overview of MarkLogic Server Application Development
- Skills Needed to Develop MarkLogic Server Applications
- Where to Find Specific Information
This Application Developer's Guide provides general information about creating applications using MarkLogic Server. For information about developing search application using the powerful XQuery search features of MarkLogic Server, see the Search Developer's Guide.
Overview of MarkLogic Server Application Development
MarkLogic Server provides a platform to build application that store all kinds of data, including content, geospatial data, numeric data, binary data, and so on. Developers build applications using XQuery and/or Server-Side JavaScript to search the content and as a programming language in which to develop the applications. The applications can integrate with other environments via client APIs (Java, Node.js, and REST), via other web services, or via an XCC interface from Java. It is possible to create entire applications using only MarkLogic Server, programmed entirely in XQuery or Server-Side JavaScript.
This Application Developer's Guide focuses primarily on techniques, design patterns, and concepts needed to use XQuery or Server-Side JavaScript to build content and search applications in MarkLogic Server. If you are using the Java Client API, Node.js Client API, or the REST APIs, some of the concepts in this guide might also be helpful, but see the guides about those APIs for more specific guidance. For information about developing applications with the Java Client API, see the Develop Using Java. For information about developing applications with the REST API, see Develop Using the REST API. For information about developing applications with the Node.js Client API, see Develop Using Node.js.
Skills Needed to Develop MarkLogic Server Applications
The following are skills and experience useful in developing applications with MarkLogic Server. You do not need to have all of these skills to get started, but these are skills that you can build over time as you gain MarkLogic application development experience.
- Web development skills (xHTML, HTTP, cross-browser issues, CSS, Javascript, and so on), especially if you are developing applications which run on an HTTP App Server.
- Overall understanding and knowledge of XML.
- XQuery skills. To get started with XQuery, see the XQuery and XSLT Reference Guide.
- JavaScript skills. For information about Server-Side JavaScript in MarkLogic, see the JavaScript Reference Guide.
- Understanding of search engines and full-text queries.
- Java, if you are using the Java Client API or XCC to develop applications. For details, see the Develop Using Java or the XCC Developer's Guide.
- Node.js, if you use the Node.js Client to develop applications. For more details, see the Develop Using Node.js.
- General application development techniques, such as solidifying application requirements, source code control, and so on.
- If you will be deploying large-scale applications, administration on operations techniques such as creating and managing large filesystems, managing multiple machines, network bandwidth issues, and so on.
Where to Find Specific Information
MarkLogic Server includes a full set of documentation, available at http://docs.marklogic.com. This Application Developer's Guide provides concepts and design patterns used in developing MarkLogic Server applications. The following is a list of pointers where you can find technical information:
- For information about installing and upgrading MarkLogic Server, see the Installation Guide. Additionally, for a list of new features and any known incompatibilities with other releases, see the Release Notes.
- For information about creating databases, forests, App Servers, users, privileges, and so on, see Administrate MarkLogic Server.
- For information on how to use security in MarkLogic Server, see Security Guide.
- For information on creating pipeline processes for document conversion and other purposes, see Content Processing Framework Guide.
- For syntax and usage information on individual XQuery functions, including the XQuery standard functions, the MarkLogic Server built-in extension functions for updates, search, HTTP server functionality, and other XQuery library functions, see the MarkLogic XQuery and XSLT Function Reference.
- For information about Server-Side JavaScript in MarkLogic, see the JavaScript Reference Guide.
- For information on using XCC to access content in MarkLogic Server from Java, see the XCC Developer's Guide.
- For information on how languages affect searches, see Language Support in MarkLogic Server in the Search Developer's Guide. It is important to understand how languages affect your searches regardless of the language of your content.
- For information about developing search applications, see the Search Developer's Guide.
- For information on what constitutes a transaction in MarkLogic Server, see Understanding Transactions in MarkLogic Server in this Application Developer's Guide.
- For other developer topics, review the contents for this Application Developer's Guide.
- For performance-related issues, see the Query Performance and Tuning Guide.