Skip to content

Repository files navigation

Tridion OData v4 Framework

Maven Central

This is the Tridion Open Data Framework based on the OData standard fully implemented in Java. The framework provides a Java implementation of the OData Service and Java Client Libraries, aligned to the OData v4 OASIS standard.

Starting the Service

The OData service comes with a set of prepared scripts to run and install the service:

  • Linux/macOS:./bin/start.sh / ./bin/stop.sh
  • Windows:.\bin\start.bat

Make sure shell scripts are executable first: chmod +x bin/start.sh bin/stop.sh

This can be done from a prebuilt distribution or using the output artifacts in the odata_assembly Maven module.

Full Documentation

Once Started

The following URLs are available by default:

The standard framework ships with no entities, so results will be empty until a DataSource is configured.

HTTPS

HTTPS is disabled by default and can be enabled via command-line arguments:

--https.enabled=true
--https.port=8084
--https.keystore-path=config/keystore
--https.key-alias=tomcat
--https.keystore-passwd=changeit
--https.truststore-passwd=changeit

Building your own Service

Provide data models and datasources for the framework to pick up. See the demo repository for a full walkthrough: https://github.com/sdl/odata-example

DataSources

The OData framework is built around a well-defined EDM (Entity Data Model) — a registry of entities, their properties, and relations. To serve data, a datasource must be configured. The framework allows any datasource to be plugged in.

JPA DataSource

A JPA DataSource extension is available for using JPA-annotated entities with minimal effort. See: https://github.com/sdl/odata-jpa-datasource

Building the OData Framework

Prerequisites:

  • Maven 3.x or higher
  • JDK 25 or higher
  • Scala SDK 2.12.x (downloaded automatically by the Scala Maven plugin if missing)
mvn clean install

Maven Artifacts

<dependencies>
<dependency>
<groupId>com.sdl</groupId>
<artifactId>odata_service</artifactId>
<version>2.14</version>
</dependency>
<dependency>
<groupId>com.sdl</groupId>
<artifactId>odata_common</artifactId>
<version>2.14</version>
</dependency>
</dependencies>

Components

ModuleDescription
odata_apiFramework APIs
odata_assemblyAssembly structure for standalone distribution
odata_checkstyleCheckstyle configuration
odata_clientOData Java Client library
odata_client_apiOData Java Client API
odata_commonCommon packages and utilities
odata_controllerSpring Boot REST controller
odata_edmOData EDM metadata (Entity Data Model)
odata_parserOData URI parser
odata_processorHandlers for processing requests
odata_rendererRenderers for Atom and JSON output
odata_serviceCore OData service and Pekko-based processing engine
odata_testTest components
odata_warOData WAR distribution artifact
odata_webserviceSpring Boot based OData HTTP webservice container

License

Copyright (c) 2014-2026 All Rights Reserved by the RWS Group for and on behalf of its affiliates and subsidiaries.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

Tridion Delivery OData Framework

Resources

Stars

142 stars

Watchers

23 watching

Forks

Releases

Packages

Used by

Contributors

Languages