Studio Developer Manual / Version 2406.0
Table Of ContentsThe app manifests of the previous section provide the basis for integrating apps with each other. For more advanced interactions, an app needs the ability to trigger an action in another app. For example, when working with the Workflow App, this app cannot display individual content items. But of course the Content App can. So clicking on a content item in the Workflow App should open the content item in the Content App. The basic mechanism is sketched in Figure Figure 9.27, “Different Studio Apps Connected Via Service Layer”.
To allow such interactions between apps running on different frontend technologies and in different browser windows,
the Studio Apps framework comes with a service layer: Apps offer services to other apps
and use services from other apps. The communication to allow these services is based on the browser's
BroadcastChannel API. However, the developer does not need to concern itself with that.
Instead, a higher-level API is provided on top, the Service Agent API. It is described
in this section. The Service Agent is accessible via the NPM package
@coremedia/service-agent
. Its public API is exposed via its index.ts
file and
all types can be imported from the packages top-level.
The top-level method getServiceAgent()
of @coremedia/service-agent
provides
global access to a Service Agent singleton instance. Typically,
it is sufficient for an app to use this instance without the need to set up an own instance.