Skip to content

Commit 42fa477

Browse files
committed
DOCSP-34122: Integrations guide (#511)
* first draft * edits * page format, toc * edits, ownership * wording * rewording, edits * more wording changes * moving location on TOC * most CC feedback * wording * more wording * CC feedback pt 2 * edits * build * AM feedback * build log fix * Revert "build log fix" This reverts commit b52c017. (cherry picked from commit eafcda6)
1 parent ca9902b commit 42fa477

File tree

2 files changed

+151
-0
lines changed

2 files changed

+151
-0
lines changed

source/index.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ MongoDB Java Driver
2626
/api-documentation
2727
/faq
2828
/issues-and-help
29+
/integrations
2930
/compatibility
3031
/upgrade
3132
/legacy
@@ -126,6 +127,12 @@ Learn how to report bugs, contribute to the driver, and find
126127
additional resources for asking questions and receiving help in the
127128
:doc:`Issues & Help </issues-and-help>` section.
128129

130+
Driver Integrations
131+
-------------------
132+
133+
Learn more about tools and frameworks that you can use together
134+
with {+driver-short+} in the :ref:`java-integrations` section.
135+
129136
Compatibility
130137
-------------
131138

source/integrations.txt

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
.. _java-integrations:
2+
3+
===================
4+
Driver Integrations
5+
===================
6+
7+
.. facet::
8+
:name: genre
9+
:values: reference
10+
11+
.. meta::
12+
:keywords: java sync, third party, tools, frameworks
13+
14+
.. contents:: On this page
15+
:local:
16+
:backlinks: none
17+
:depth: 2
18+
:class: singlecol
19+
20+
Overview
21+
--------
22+
23+
On this page, you can learn about using tools and frameworks together
24+
with the {+driver-short+} to develop applications.
25+
26+
This page describes the following third-party integrations:
27+
28+
- :ref:`spring-framework`
29+
- :ref:`quarkus-framework`
30+
- :ref:`micronaut-framework`
31+
32+
.. TODO (add after JAVA-3580 is finished):
33+
- :ref:`graalvm-integration`
34+
35+
.. important::
36+
37+
The integrations on this page are not developed by official MongoDB
38+
partners.
39+
40+
.. _spring-framework:
41+
42+
Spring Data
43+
-----------
44+
45+
`Spring <https://spring.io/>`__ is a Java framework that provides infrastructure support
46+
for Java applications. Spring's modules enable aspect-oriented programming, authentication
47+
protocols, inversion of control, and other services to facilitate application development.
48+
49+
Spring offers the Spring Data sub-framework for database access. Spring Data's features include
50+
map-reduce frameworks, cloud-based data services, and an access layer for relational and
51+
non-relational databases. To learn more about the Spring Data project, see `Spring Data
52+
<https://spring.io/projects/spring-data>`__.
53+
54+
Using Spring Data and MongoDB
55+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56+
57+
Spring Data MongoDB enables you to access MongoDB databases by using a Spring-based programming
58+
model.
59+
60+
You can use Spring Data MongoDB's template API to perform the following actions:
61+
62+
- Run CRUD operations on MongoDB data
63+
- Map domain objects to MongoDB documents using the MongoDB converter
64+
- Perform Atlas Search queries using the ``$search`` aggregation pipeline stage
65+
- Enable Client-Side Field Level Encryption (CSFLE) to encrypt application data
66+
67+
For instructions on using Spring Data MongoDB to build an application and interact with MongoDB, see the
68+
`Getting Started <https://docs.spring.io/spring-data/mongodb/reference/mongodb/getting-started.html>`__ page
69+
in the Spring reference documentation.
70+
71+
.. tip::
72+
73+
To learn more about Spring Data MongoDB and its features, see the `Spring Data MongoDB
74+
<https://spring.io/projects/spring-data-mongodb/>`__ project overview.
75+
76+
.. _quarkus-framework:
77+
78+
Quarkus
79+
-------
80+
81+
The `Quarkus <https://quarkus.io/>`__ Java framework supports the development of microservices
82+
and serverless applications. Quarkus is native to `Kubernetes <https://kubernetes.io/>`__, a platform
83+
that manages the deployment of containerized applications.
84+
85+
Quarkus' features include an interactive developer interface, live coding, and container-first application
86+
development that reduces the memory usage of Java applications.
87+
88+
Using Quarkus and MongoDB
89+
~~~~~~~~~~~~~~~~~~~~~~~~~
90+
91+
Quarkus provides a MongoDB client for MongoDB data access.
92+
93+
You can use the MongoDB client extension to access the following features:
94+
95+
- CRUD operation methods, such as ``find()`` and ``insertOne()``
96+
- Automatic translation of domain objects to MongoDB documents by using the BSON Codec
97+
- Customized domain object mapping by using the POJO Codec
98+
99+
For instructions on how to use the ``quarkus-mongodb-client`` extension to connect to MongoDB,
100+
see the `Using the MongoDB Client <https://quarkus.io/guides/mongodb>`__ guide in the Quarkus
101+
documentation.
102+
103+
.. tip::
104+
105+
You can also install the ``quarkus-mongodb-panache`` extension to further simplify MongoDB
106+
database interactions. For details and instructions on using this extension, see the
107+
`Simplified MongoDB with Panache <https://quarkus.io/guides/mongodb-panache>`__ guide in the
108+
Quarkus documentation.
109+
110+
.. TODO (after JAVA-3580):
111+
.. _graalvm-integration:
112+
113+
.. _micronaut-framework:
114+
115+
Micronaut
116+
---------
117+
118+
`Micronaut <https://micronaut.io/>`__ is a framework that focuses on server-side microservice
119+
development. Micronaut reduces code reflection, enabling performance improvements such as
120+
decreased application startup time and memory usage.
121+
122+
Key features of the Micronaut framework include aspect-oriented programming, inversion
123+
of control, and automatic code configuration.
124+
125+
Using Micronaut and MongoDB
126+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
127+
128+
You can create a Micronaut application that interacts with MongoDB.
129+
130+
Micronaut provides a serialization library and BSON annotations to manage MongoDB data from your
131+
application. These features enable you to create POJOs that correspond to MongoDB documents,
132+
interfaces that map to MongoDB collections, and other custom mappings.
133+
134+
For instructions on using the ``data-mongodb`` or ``data-mongodb-async`` feature to create a MongoDB-backed
135+
Micronaut application, see the `Micronaut Data MongoDB <https://micronaut-projects.github.io/micronaut-data/latest/guide/#mongo>`__
136+
guide in the Micronaut documentation.
137+
138+
.. tip::
139+
140+
For a full list of Micronaut's available annotations, see the `io.micronaut.data.annotation
141+
<https://micronaut-projects.github.io/micronaut-data/latest/api/io/micronaut/data/annotation/package-summary.html>`__
142+
package API documentation.
143+
144+

0 commit comments

Comments
 (0)