Expose RESTful Web Services: Overview
Introduction
Goal
Expose Bloomreach Experience Manager's content and content management capabilities over RESTful web services.
Background
When integrating with a CMS application such as Bloomreach Experience Manager, RESTful web services are a sensible choice to access the content stored in its repository and the content management capabilities it provides. Bloomreach Experience Manager offers several different mechanisms to expose RESTful services, of which this page provides an overview.
Overview of Available Mechanisms
- Content REST API
This is a generic REST API running on top of the delivery tier, automatically exposing all published content in the content repository based on the document types. - Custom JAX-RS Services
If the generic Content REST API does not meet your requirements, it is possible to create your own custom services using the delivery tier's support for JAX-RS. These services come in two flavors:- Context-aware JAX-RS services are used to dynamically expose site content mapped on content type.
- Plain JAX-RS services are used to expose preconfigured functionality within a site, not directly mapped to content, but can make use of it.
- Repository JAX-RS services
These are used for exposing REST APIs to interact with CMS internal components such as repository-managed daemon modules. - SPA++
SPA++ exposes channel manager functionality and the HST page model though JSON REST APIs, enabling seamless integration with SPA frameworks.
Features
Provided by | Page Context | Channel Context | Document Context | Access Unpublished Content | Customizable | |
Content REST API | Delivery |
no
|
yes
|
yes
|
no
|
no
|
Context-aware services | Delivery |
no
|
yes
|
yes
|
yes
|
yes
|
Plain JAX-RS services | Delivery |
no
|
yes
|
yes
|
yes
|
yes
|
Repository JAX-RS services | Repository |
no
|
no
|
no
|
no
|
yes
|
SPA++ | Delivery |
yes
|
yes
|
yes
|
yes
|
no
|
The Essentials setup application provides a REST Services Setup tool which enables easy setup of the Content REST API and custom plain JAX-RS services.