close

Filter

loading table of contents...

Release Notes / Version 13.2512.0

Table Of Contents

gRPC as an Alternative to CORBA Communication

For internal communication between CoreMedia CMCC components, gRPC has been added as an alternative to CORBA. Communication via CORBA is still available and the default. As long as you plan to stick with CORBA, no changes to your code or operations procedures are required. Should you want to switch to gRPC as your communications protocol between CMCC components, the following sections will provide information and pointer for additional details to do so.

In the course of adding gRPC as a communications protocol, however, breaking changes were introduced:

  • The old workflow client API and its implementations have been removed. They were actually unused after removing the Site Manager. This API was deprecated with 2406.2.2 and 2506.0.2. This affects the classes in the following packages:

    • com.coremedia.workflow

    • com.coremedia.workflow.common.util

    • com.coremedia.workflow.worklist

  • Public workflow server API has been moved. The Java packages of the affected classes didn’t change, but they are now contained in Java artifact com.coremedia.cms:cap-workflow-server instead of com.coremedia.cms:cap-workflow. Consequently, they cannot be used in extensions other than for the workflow server anymore. For clients, please use the Unified API. Documentation for the moved classes used to be at CoreMedia Shared Common API [ |https://documentation.coremedia.com/cmcc-12/artifacts/2506.0.0/javadoc/common/com/coremedia/workflow/package-summary.html] and can now be found at CoreMedia Workflow Server API .

Upgrade Information

With release 2512.0 of the CoreMedia system, the Workflow Server does not yet offer gRPC services to its clients. Activating gRPC on clients (e.g., Studio Server or command line tools) won't do any harm as long as these are of release 2512.0, too. Future clients, though, will fail to connect to that Workflow Server if gRPC is active on them.

Keep this in mind when operating a mixed-release CoreMedia system setup. In such scenarios (e.g., during upgrades), it is recommended to leave clients in their default protocol mode which is CORBA.

While servers always offer both protocols for clients to connect, clients can be configured to use either gRPC or CORBA. The protocol can be chosen freely on each start of a component. Currently, CORBA is the default protocol.

Note that Content Servers and the Workflow Server also contain client parts for internal communication, e.g., for internal repository access, publication, replication, etc. Choosing a protocol on a server therefore does make a difference although services offered by the servers to their clients always cover both protocols.

Information for Developers

See Blueprint Developer Manual, sections 3.2.2 Docker Compose Setup / Docker Compose Configuration and 4.3 Build and Run the Applications / Internal Communication Protocol on how to activate gRPC in a development setup. Refer to Unified API Developer Manual, section 4.1.1 Creating a Connection for details on connection parameters for gRPC.

Information for Operations Engineers

See Operations Basics, section 4.4 Communication between the System Applications for details on how to configure and secure gRPC communication in your environment.

Replicator and Publisher require specific configuration for gRPC.

For the Publisher, refer to Deployment Manual, section 3.2.3 Properties for the Publisher.

For the Replicator, refer to Deployment Manual, section 3.2.5 Properties for Replicator Configuration.

In a Nutshell

Adjust hostnames and ports in the following variables to your setup where necessary. Mind that there is no scheme to the gRPC addresses as those are not URIs.

To enable gRPC communication for a client or the Workflow Server, set the following environment variables on the respective process (command line tool, local start via Maven, Docker container, etc):

  • REPOSITORY_USEGRPC=true

  • SPRING_GRPC_CLIENT_CHANNELS_CAP_ADDRESS=content-management-server:40165

  • SPRING_GRPC_CLIENT_CHANNELS_WF_ADDRESS=workflow-server:40365 (not for Workflow Server; this setting is not in effect yet but may be added without harm)

  • REPOSITORY_HTTPBASEURI=http://content-management-server:40180

To enable gRPC communication for the Content Management Server, set the following environment variables on the Content Management Server process:

  • REPOSITORY_USEGRPC=true

  • PUBLISHER_TARGET_0_GRPC_ENDPOINT=master-live-server:40265 (repeat for each publication target)

  • PUBLISHER_TARGET_0_HTTP_BASE_URI=http://master-live-server:40280 (repeat for each publication target)

To enable gRPC communication for a Replication Live Server, set the following environment variables on the Replication Live Server process:

  • REPOSITORY_USEGRPC=true

  • SPRING_GRPC_CLIENT_CHANNELS_CAP_ADDRESS=master-live-server:40165

  • REPLICATOR_PUBLICATION_HTTP_BASE_URI=http://master-live-server:40280

To enable gRPC communication for a Master Live Server, just set

  • REPOSITORY_USEGRPC=true

To enable gRPC communication for command line tool publishall, see new command line options in Content Server Manual, section 3.13.3.5 Publishall .

(CMS-28689)

Search Results

Table Of Contents
warning

Your Internet Explorer is no longer supported.

Please use Mozilla Firefox, Google Chrome, or Microsoft Edge.