-
Notifications
You must be signed in to change notification settings - Fork 149
alesi documentation #2352
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
alesi documentation #2352
Changes from 29 commits
82bf818
62dab3c
28d0cdf
79747ba
cef7eda
4b3ab9e
966b00b
57598c5
9f66d2d
2fcb58a
4d46e52
5599382
c762399
667fe0f
42e27f8
5d3012f
2653ce0
7b1d0b1
2c13a7a
c8d2341
f5a5749
7a875d9
1d9f310
923da7c
00d75d2
115e3ad
2068d95
3b7d16f
e62735a
46a8b6c
5db8e72
3195b1b
83cb6e0
e991bb4
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,69 @@ | ||
| --- | ||
| synopsis: > | ||
| This guide shows how Spring Boot applications running without a CDS model can integrate themselves with service offerings of SAP BTP using different CAP plugins without the need to completely migrate to CAP Java. | ||
| status: released | ||
| --- | ||
|
|
||
| # Use CAP Plugins in Spring Boot Apps without a CDS Model | ||
|
|
||
| <style scoped> | ||
| h1:before { | ||
| content: "Java"; display: block; font-size: 60%; margin: 0 0 .2em; | ||
| } | ||
| </style> | ||
|
|
||
| {{ $frontmatter.synopsis }} | ||
|
|
||
| One of the strengths of CAP Java is that it offers a [variety of plugins integrating with SAP BTP services](../plugins/) while keeping applications free of technical dependencies to such services. In the CAP ecosystem, we call this approach [Calesi (CAP level service integration)](../get-started/concepts#the-calesi-pattern). Most of those Calesi plugins expose themselves as a CAP service which also can be injected as a Spring Boot component. Take this together with the fact that the CAP runtime can run alongside a Spring Boot application without any CDS model and you have robust and proven service integration (via CAP plugins) with a growing set of BTP platform services. | ||
|
|
||
| In general, adding a CAP Java plugin to your existing Spring Boot application is just adding one or more dependencies to the application's `pom.xml` as well as adding configuration to the application.yaml (or other mechanisms for [Spring Boot configuration](https://docs.spring.io/spring-boot/reference/features/external-config.html)). In the following sections we will discuss several examples on how to use the core CAP Java runtime and CAP plugin to integrate a Spring Boot application with different SAP BTP services. | ||
|
|
||
| The basic prerequisite for all CAP Java plugins to be used within a Spring Boot application is to include 2 Maven dependencies. The first one is the core CAP Java runtime together with it's integration into the Spring Boot framework: | ||
|
|
||
| ```xml | ||
| <dependency> | ||
| <groupId>com.sap.cds</groupId> | ||
| <artifactId>cds-framework-spring-boot</artifactId> | ||
| <version>${cds.services.version}</version> | ||
| <scope>runtime</scope> | ||
| </dependency> | ||
| ``` | ||
| With that, the CAP Java runtime is bootstrapped during the start of the Spring Boot application. In order to interact with CAP and it's plugins you need an additional dependency to the API artifact of CAP Java: | ||
|
|
||
| ```xml | ||
| <dependency> | ||
| <groupId>com.sap.cds</groupId> | ||
| <artifactId>cds-services-api</artifactId> | ||
| <version>${cds.services.version}</version> | ||
| </dependency> | ||
beckermarc marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| ``` | ||
|
|
||
| Please also maintain a version property in your `<properties>` section: | ||
|
|
||
| ```xml | ||
| <cds.services.version>4.6.2</cds.services.version> | ||
|
||
| ``` | ||
|
|
||
| ## SAP Audit Log Service | ||
| The CAP audit log support enables applications to write audit log messages for relevant operations. The audit log APIs and the local default implementation are already part of the basic dependencies you already included. | ||
|
|
||
| The implementation for the SAP Audit Log service on BTP integrates with the CAP Java audit log APIs and can be added as an additional plugin. Read more about that in the [plugin's documentation](https://github.com/cap-java/cds-feature-auditlog-ng). | ||
|
|
||
| For more information on how to use the audit log APIs in your application's code lease read our [Auditlog documentation](./auditlog). | ||
|
|
||
| ## CAP Messaging | ||
|
|
||
| The CAP framework offers an abstraction layer for messaging services. CAP applications can emit events and messages to a `MessagingService` regardless of the target messaging infrastructure. The local default implementation for messaging is already part of the above mentioned basic dependencies and uses the filesystem as the communication layer. Thus, no dedicated message broker is needed for local development. | ||
|
|
||
| With the 2 dependencies included you just need to activate the file-based messaging in the application's configuration: | ||
|
|
||
| ```yaml | ||
| cds.messaging.services.messaging.kind: file-based-messaging | ||
| ``` | ||
|
|
||
| Once this is done, you can the CAP messaging feature in your application. Please read our documentation on [Messaging](./messaging) for more details. | ||
|
|
||
| <div id="alesi-cds-feature-ucl" /> | ||
|
|
||
| ## | ||
Uh oh!
There was an error while loading. Please reload this page.