Client Libraries
There are two Java clients for directly using the data lake from JVM applications. Instead of connecting to each storage engine separately, you query through a single gateway or push events to the CEP engine.
| Library | What it does | Server |
|---|---|---|
| Data Gateway Client | Four query languages (PQL · CQL · SQL · TQL) and cache lookups | plantpulse-data-gateway (5501) |
| CEP Client | EQL rule deployment · event transmission · matching callbacks | plantpulse-cep (7401) |
Where to Get Them
Both libraries are available from the internal Maven repository without authentication.
repositories {
maven { url "https://maven.kopens.io/releases/" }
}
dependencies {
implementation "plantpulse-platform:plantpulse-data-gateway-client:2026.09"
implementation "plantpulse-platform:plantpulse-cep-client:2026.09"
}
<repository>
<id>kopens</id>
<url>https://maven.kopens.io/releases/</url>
</repository>
Which Version to Pin
Each release publishes two coordinates. On the day the release is cut, they have the same bytes, but after that they diverge.
| Coordinate | Character |
|---|---|
2026.09 | Moving pointer. Fixes released within that month are published again under the same version — the trailing bytes change. Choose this if you want the latest fixes of the month. |
2026.09-20260904 | Pinned and immutable. Points to the release cut on 2026-09-04 and is never rewritten. Choose this if you need the same bytes tomorrow. |
Use Date-Pinned Coordinates for Production Deployments
The moving pointer is convenient during development, but if a production build picks up different bytes than yesterday, reproducibility suffers. In CI, pin to the date-stamped coordinate.
Common Notes
- Java 21 or later (the Data Gateway Client also works on 11 or later).
- Both clients implement
AutoCloseable— close them with try-with-resources. - HTTPS relaxes certificate trust and hostname verification. Self-signed certificates are the norm on the internal network, so this follows the same fixed policy as the platform's other internal HTTP clients. Do not use the clients across the internet.
- Don't hard-code credentials; read them from environment variables or a sidecar → Passwords · API Keys