Skip to main content
Release: CX-Jupiter (current)

CX-0054 Application Service Release v1.0.1

ABSTRACT

This section is non-normative

This document defines the release process for applications and services within the Catena-X marketplaces. It provides guidance and requirements for participants who develop, deploy, and maintain applications and services. The document covers the release process for both new and updated applications and services, including versioning, testing, and deployment procedures. It also includes information on the conformance criteria and proof of conformity requirements. This document is intended for participants in the Catena-X network who are involved in the development, deployment, and maintenance of applications and services. It is also relevant for organizations that provide tools and services that support the Catena-X network.

1. INTRODUCTION

This section is non-normative

Catena-X Marketplace is a digital platform that aims to connect businesses with Catena-X certified applications and services and provide a seamless exchange of data and services. To ensure the platform's quality and stability, it's crucial to have a well-defined and documented process for releasing applications and services onto the platform.

This document specifies the Application and Service Release Process for a Catena-X Marketplace. It outlines the steps and requirements that must be followed by service providers and application developers when submitting new or updated applications or services to the marketplace.

The scope of this document is limited to the Application and Service Release Process and does not cover other aspects of the Catena-X Marketplace, such as user management, security, or data exchange protocols. An example service, namely "Auto-Setup", and its release and deployment process can be found under 3.3 REFERENCE IMPLEMENTATIONS.

This document is intended for core service providers, business application providers, and any other stakeholders involved in the release of applications and services on the Catena-X Marketplace. It provides guidance on the required steps and best practices for ensuring the quality and reliability of the Catena-X marketplaces with preparation of enabling the coexistence of multiple federated marketplaces of Catena-X by following Catena-X standards.

1.1 AUDIENCE & SCOPE

This section is non-normative

The following roles are relevant to the Application and Service Release Process specification for the Catena-X Marketplace:

Core Service Provider: The Core Service Provider is responsible for developing and maintaining the core services and components of the Catena-X Marketplace. This includes defining the release process and requirements for application and service releases.

Business Application Provider: The Business Application Provider is responsible for developing and maintaining the applications and services that run on top of the core services of the Catena-X Marketplace. This includes following the release process and requirements defined by the Core Service Provider.

Enablement Service Provider: The Enablement Service Provider is responsible for providing services that enable the integration of external systems with the Catena-X Marketplace. This includes following the release process and requirements defined by the Core Service Provider when releasing their services.

1.2 CONTEXT

This section is non-normative

The Application and Service Release Process APIs are key components of the Catena-X Marketplace, enabling core service providers, business application providers and enablement service providers to release new or updated services onto the marketplace. These APIs allows for the submission of new application and service offerings, updates to existing applications or services, and management of application or service subscriptions. The Service Release Process API is built on the Org.Eclipse.TractusX.Portal.Backend.Services.Service v2 specification and is accessible via the /api/services/ServiceRelease endpoints. The Application Release Process API is built on Org.Eclipse.TractusX.Portal.Backend.Apps.Service v2 specification and is accessible via the /api/apps/AppReleaseProcess endpoints.

Through these APIs, providers can perform a range of actions, such as retrieving agreement data, retrieving details on services or apps in review, and managing status updates. Providers can also add, subscribe to, and update apps or services, as well as manage agreements and consent statuses. Additionally, providers can retrieve information on active applications in the marketplace, view subscription details, and auto-setup services.

The Application and Service Release Process APIs are essential for enabling a smooth and efficient process for managing service and application releases and updates in the Catena-X Marketplace. Its comprehensive set of endpoints allows providers to easily manage their offerings and subscriptions while ensuring compliance with authorization requirements and role-based access controls.

1.3 ARCHITECTURE OVERVIEW

This section is non-normative

1.3.1 OVERVIEW OF RELEASE PROCESS API

Note : As Application Release Process API (found under: /api/apps/AppReleaseProcess/) is more detailed than and is a superset of the Service Release Process API (found under: /api/services/servicerelease/) only Application Release Process API is described in this chapter.

The portal backend service provides a list of API endpoints that can be accessed with various HTTP methods such as GET, POST, PUT, and DELETE. The APIs are categorized under three different titles, which are Apps, AppReleaseProcess, and AppChange.

The AppReleaseProcess category contains APIs related to app management and release processes. For instance, the /api/apps/AppReleaseProcess/createapp endpoint creates an app according to the provided request model, and the /api/apps/AppReleaseProcess/updateapp/{appId} endpoint updates the details of a newly created owned app under the app release/publishing process. Some other endpoints such as /api/apps/AppReleaseProcess/{appId}/appStatus and /api/apps/AppReleaseProcess/{appId}/approveApp provide additional functionality such as retrieving the app detail with status and approving the app to change the status from IN_REVIEW to Active and create notification.

The Apps category includes APIs that allow Catena-X dataspace participants to access and retrieve information related to apps. For instance, the /api/Apps/active endpoint retrieves all active apps in the marketplace, and the /api/Apps/{appId} endpoint retrieves app details for an app referenced by ID. The /api/Apps/favourites endpoint retrieves the IDs of all favorite apps of the current user, while the /api/Apps/{appId}/subscribe endpoint adds an app to the current user's company's subscriptions.

Each API endpoint requires authorization and access permission to be accessed. The permission level required for each API is specified in the description of the respective API endpoint. The authorization requirement ranges from view_apps to edit_apps and add_apps.

1.4 CONFORMANCE

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words MAY, MUST, MUST NOT, OPTIONAL, RECOMMENDED, REQUIRED, SHOULD and SHOULD NOT in this document document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

1.5 PROOF OF CONFORMITY

This section is non-normative

All participants and their solutions will need to prove that they conform with the Catena-X standards. To validate that the standards are applied correctly, Catena-X employs Conformity Assessment Bodies (CABs).

To prove conformity with the Application and Service Release Process standard, you MUST provide the following assets to a conformity assessment body:

For Application Release Process:

  • Release process documentation of the marketplace implementation that is to be certified SHOULD match to the Application Release Process documentation and workflows
  • Documentation of API responses of the marketplace implementation that is to be certified SHOULD match to the Application Release Process API responses listed under 2.1.1 APPLICATION RELEASE PROCESS API

For Service Release Process:

  • Release process documentation of the marketplace implementation that is to be certified SHOULD match to the Service Release Process Documentation and workflows
  • Documentation of API responses of the marketplace implementation that is to be certified SHOULD match to the Service Release Process API responses listed under 2.2.1 SERVICE RELEASE PROCESS API

1.6 EXAMPLES

Examples and further information can be found in the Tractus-X Github Repository > Portal > Application Release Process and in the Tractus-X Github Repository > Portal > Service Release Process and in the Tractus-X Github Repository > Auto-Setup Backend > Documentation

1.7 TERMINOLOGY

This section is non-normative

Catena-X Marketplace : A Marketplace in Catena-X Core Services context is a digital platform where businesses can provide, list and find applications and services that are certified to be used in Catena-X network and ecosystem

Additional terminology used in this standard can be looked up in the glossary on the association homepage.

2 APPLICATION AND SERVICE RELEASE PROCESS

This section is normative

The Application and Service Release Process standardization should act as an enabler for interoperability between different Catena-X application or service marketplace offerings.

2.1 APPLICATION RELEASE PROCESS

If a Catena-X Marketplace which is listing Catena-X Applications is to be certified, it:

  • MUST provide public access to the documentation of its own Application Release Process
  • MUST provide API access to Application Release Process Workflow and public access to the API documentation
  • MUST fulfill the service and app release process standards defined by the Catena-X association {reference to the respective chapters useful}

A Catena-X Marketplace Application Release Process:

  • MUST enable app provider to request the release of their business application under their company name
  • MUST enable app provider to access and agree to the terms and conditions of the CX marketplace per app release request
  • MUST enable app provider to upload their app roles which enables on a later state the SSO connection between the portal and the provider app
  • MUST collect all defined app attributes as per the list below
    • app name
    • linked use case
    • supported language
    • pricing
    • lead image
    • long description (en & de)
    • App Data Privacy/Collection Information
    • App Conformity Certificate
    • App Roles
  • SHOULD collect all defined app attributes as per the list below
    • short description (en & de)
    • sales manager (optional)
    • detail images (minimum one)
    • Data Pre-requisits (pdf) - optional
    • Technical Guide (pdf) - optional
    • App Contract (pdf) - optional
    • Provider Details - optional (Homepage, Contact, Number)
  • SHOULD provide a GUI and an API to allow application publishers to publish following information in particular, but not limited to: see all attributes mentioned above
  • MUST enable the app provider to store the app data in a draft state and submit the app for the marketplace publishing later
  • MUST implement a process to validate the app publishing request before approving and publishing the app on the marketplace
  • SHOULD implement a process to decline/cancel an app publishing request
  • MUST store the documents (incl. the conformity certificate)
  • SHOULD enable the app provider to deactivate an app from the marketplace
  • SHOULD enable the app provider to change the app details (such as description, documents, roles etc.)

2.1.1 APPLICATION RELEASE PROCESS API

If a Catena-X Marketplace which is listing Catena-X Applications is to be certified, it MUST implement and give access to following API endpoints:

EndpointDescriptionAuthorization RequiredRoles
GET: /api/apps/activeRetrieves all active apps in the marketplace.Yesview_apps
GET: /api/apps/businessRetrieves all apps that the currently logged in user has been assigned roles in.Yesview_apps
GET: /api/apps/{appId}Retrieves app details for an app referenced by ID.Yesview_apps
GET: /api/apps/subscribed/subscription-statusRetrieves subscription statuses of subscribed apps of the currently logged in user's company.Yesview_subscription
GET: /api/apps/provided/subscription-statusRetrieves subscription statuses of provided apps of the currently logged in user's company.Yesview_app_subscription
POST: /api/apps/{appId}/subscribeAdds an app to the current user's company's subscriptions.Yessubscribe_apps
GET: /api/apps/appAgreementData/{appId}Gets all agreements.Yessubscribe_apps
GET: /api/apps/providedRetrieves all company-owned apps.Yesapp_management
POST: /api/apps/autoSetupAuto setup the app obsolete .Yesactivate_subscription
POST: /api/Apps/start-autoSetupAuto setup the app per process worker.Yesactivate_subscription
POST: /api/apps/appreleaseprocess/{appId}/roleCreates a new role for a given app.Yesedit_roles
GET: /api/apps/appreleaseprocess/agreementDataRetrieves app agreement data.Yesview_apps
GET: /api/apps/appreleaseprocess/consent/{appId}Retrieves consent data for a given app.Yesview_apps
POST: /api/apps/appreleaseprocess/consent/{appId}/agreementConsentsCreates a new consent agreement for a given app.Yesedit_apps
GET: /api/apps/appreleaseprocess/{appId}/appStatusRetrieves status information for a given app.Yesview_apps
DELETE: /api/apps/appreleaseprocess/{appId}/role/{roleId}Deletes a given role for a given app.Yesedit_roles
POST: /api/apps/appreleaseprocess/createappCreates a new app.Yesadd_apps
PUT: /api/apps/appreleaseprocess/{appId}Updates an existing app.Yesedit_apps
PUT: /api/apps/appreleaseprocess/{appId}/submitSubmits an app for release.Yesedit_apps
PUT: /api/apps/appreleaseprocess/{appId}/approveAppApproves a pending app release.Yesapprove_apps
PUT: /api/apps/appreleaseprocess/{appId}/declineAppDeclines a pending app release.Yesapprove_apps
GET: /api/apps/appreleaseprocess/privacyPoliciesRetrieves privacy policy data.Yesview_apps

2.2 SERVICE RELEASE PROCESS

If a Catena-X Marketplace which is listing Catena-X Services is to be certified,

  • MUST provide public access to the documentation of its own Application Release Process
  • MUST provide API access to Application Release Process Workflow and public access to the API documentation
  • MUST fulfill the service and app release process standards defined by the Catena-X association {reference to the respective chapters useful}

A Catena-X Marketplace Service Release Process:

  • MUST enable service provider to request the release of their service under their company name
  • MUST enable service provider to access and agree to the terms and conditions of the CX marketplace per service release request
  • MUST collect all defined service attributes as per the list below
    • service name
    • short description (en & de)
    • pricing
    • long description (en & de)
  • SHOULD collect all defined app attributes as per the list below
    • lead image
    • sales manager - optional
    • Supporting Material (pdf) - optional
    • Provider Details - optional (Homepage, Contact, Number)
  • SHOULD provide a GUI and an API to allow service publishers to publish following information in particular, but not limited to: see all attributes mentioned above
  • MUST enable the service provider to store the service data in a draft state and submit the serice for the marketplace publishing later
  • MUST implement a process to validate the service publishing request before approving and publishing the app on the marketplace
  • SHOULD implement a process to decline/cancel an service publishing request
  • SHOULD enable the service provider to deactivate an service from the marketplace
  • SHOULD enable the service provider to change the service details (such as description, documents, etc.)

2.2.1 SERVICE RELEASE PROCESS API

If a Catena-X Marketplace which is listing Catena-X Services is to be certified, it MUST implement and give access to following API endpoints:

EndpointDescriptionAuthorization RequiredRoles
GET: /api/Services/activeRetrieves all active services in the marketplace.Yesview_service_offering
GET: /api/Services/{serviceId}Retrieves service offer details for the respective service id.Yesview_service_offering
PUT: /api/services/{serviceId}Updates the service inside the service release process.Yesupdate_service_offering
POST: /api/Services/{serviceId}/subscribeAdds a new service subscription.Yessubscribe_service
PUT: /api/Services/{serviceId}/submitSubmit an Service for release.Yesadd_service_offering
PUT: /api/Services/{serviceId}/approveServiceApprove Service to change status from IN_REVIEW to Active and create notification.Yesapprove_service_release
PUT: /api/Services/{serviceId}/declineServiceDeclines the service request.Yesdecline_service_release
GET: /api/Services/providedRetrieves all in review status service in the marketplace.Yesadd_service_offering
POST: /api/Services/autoSetupAuto setup the service.Yesactivate_subscription
GET: /api/Services/provided/subscription-statusRetrieves subscription statuses of provided services of the currently logged in user's company.Yesview_service_subscriptions
GET: /api/Services/serviceAgreementData/{serviceId}Gets all agreements.Yessubscribe_service_offering
GET: /api/services/ServiceRelease/agreementDataReturn Agreement Data for offer_type_id Service.Yesadd_service_offering
GET: /api/services/ServiceRelease/{serviceId}/serviceStatusReturn app detail with status.Yesadd_service_offering
GET: /api/services/ServiceRelease/inReviewRetrieves all in review status service in the marketplace.Yesapprove_service_release, decline_service_release
GET: /api/services/ServiceRelease/inReview/{serviceId}Retrieves service details for an offer referenced by id.Yesapprove_service_release, decline_service_release
GET: /api/services/ServiceRelease/serviceTypesRetrieve Service Type Data.Yesadd_service_offering
GET: /api/services/ServiceRelease/consent/{serviceId}Gets the agreement consent status for the given service id.Yesadd_service_offering
POST: /api/services/ServiceRelease/consent/{serviceId}/agreementConsentsUpdate or Insert Consent.Yesadd_service_offering

3 REFERENCES

3.1 NORMATIVE REFERENCES

3.2 NON-NORMATIVE REFERENCES

This section is non-normative

  • CX-0006 REGISTRATION AND INITIAL ONBOARDING
  • CX-0009 CATENA-X REGISTRATION API
  • CX-0010 BUSINESS PARTNER NUMBER (BPN)
  • CX-0011 ISSUING AGENCY
  • CX-0013 IDENTITY OF MEMBER COMPANIES

3.3 REFERENCE IMPLEMENTATIONS

This section is non-normative

The code found at following locations present reference implementations that implement this standard:

The code found at following location presents a reference implementation that implements a service that uses a service release process:

ANNEXES

FIGURES

This section is non-normative

The image found below depicts an example Application Release Process that implements this standard.

Application Release Process

The image found below depicts an example Application Creation Page that implements this standard.

Application Creation Page

The image found below depicts an example Application Detail Input Page that implements this standard.

Application Detail Page

The image found below depicts an example Service Detail Input Page that implements this standard.

Service Detail Page

TABLES

This section is non-normative

The json api description found in openpi json file presents a reference API that implements this standard.

Copyright © 2024 Catena-X Automotive Network e.V. All rights reserved. For more information, please visit here.