# Java integration libraries

The Java integration libraries comprise the Java DataSource API and five extension libraries that provide trading, permissioning, blotter, notification, and charting functionality. A set of template Gradle projects for working with these libraries is available on Caplin’s GitHub repository: [Caplin Project Templates](https://github.com/caplin/project-templates#caplin-project-templates).

**Relationships between libraries in an integration adapter written using Caplin’s Java integration libraries**

![java-adapter-architecture-diagram](../../images/java-adapter-architecture-diagram.svg)

* **Java DataSource API**\
The [Java DataSource API](https://docs.caplin.com/developer/api/datasource_java/latest/) is the core library for any application that provides data to the Caplin Platform. This library is required by the trading, permissioning, blotter, notification, and charting extension libraries.

  This library can be used on its own to implement a Pricing Adapter that sends price updates for financial instruments to client applications connected to a [Liberator](../liberator/index.md).
* **Java Trading API**\
Use the [Trading](https://docs.caplin.com/developer/api/trading_java/latest/) library to implement an adapter that integrates with a trading system. The API handles the trade message flow between the Trading Adapter and Liberator. Requires the Java DataSource API.
* **Java Permissioning API**\
Use the [Permissioning](https://docs.caplin.com/developer/api/permissioning_java/latest/) library to implement an adapter that sends permissioning data to Liberator’s optional Permissioning Authentication Module. Requires the Java DataSource API.
* **Java Blotter API**\
Use the [Blotter](https://docs.caplin.com/developer/api/blotter_java/latest/) library to implement an adapter that serves data to front-end blotters. Requires DataSource for Java.
* **Java Notification API**\
Use the [Notification](https://docs.caplin.com/developer/api/notification_java/latest/) library to send system or enterprise wide alerts to client applications that are connected to a Liberator. Requires the Java DataSource API.
* **Java Charting API**\
Use the [Charting](https://docs.caplin.com/developer/api/charting_java/latest/) library to implement an adapter that caches and serves data to front-end graph components. Requires the Java DataSource API.

---

**See also:**

* [Caplin Platform System Requirements](../platform-architecture/platform-hardware-and-software-requirements.md)
* [Java Transformer Module Library (Transformer 7)](https://docs.caplin.com/developer/api/transformer_java_sdk_2/latest/)
* [Java Transformer Module Library (Transformer 6)](https://docs.caplin.com/developer/api/transformer_java_sdk/latest/)
