generated from SAP/repository-template
-
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
Merged
Merged
alesi documentation #2352
Changes from 32 commits
Commits
Show all changes
34 commits
Select commit
Hold shift + click to select a range
82bf818
start of the alesi documentation
rjayasinghe 62dab3c
messaging section WIP
rjayasinghe 28d0cdf
Update java/_menu.md
rjayasinghe 79747ba
messaging section
rjayasinghe cef7eda
add link to event hub plugin
rjayasinghe 4b3ab9e
rework first part and continue outbox
rjayasinghe 966b00b
updates for the outbox section
rjayasinghe 57598c5
rewriting introduction section
rjayasinghe 9f66d2d
smaller updates
rjayasinghe 2fcb58a
updated synopsis
rjayasinghe 4d46e52
rewrote the outbox section
rjayasinghe 5599382
move ucl docu to internal fragment
rjayasinghe c762399
Apply suggestions from code review
rjayasinghe 667fe0f
update introduction section
rjayasinghe 42e27f8
Merge remote-tracking branch 'origin/main' into alesi_java_docu
rjayasinghe 5d3012f
add links
rjayasinghe 2653ce0
fix link
rjayasinghe 7b1d0b1
fix links
rjayasinghe 2c13a7a
Merge branch 'main' into alesi_java_docu
rjayasinghe c8d2341
latest cap java version
rjayasinghe f5a5749
Merge branch 'main' into alesi_java_docu
rjayasinghe 7a875d9
Merge branch 'main' into alesi_java_docu
rjayasinghe 1d9f310
updates
rjayasinghe 923da7c
strip down the section and point to docu instead
rjayasinghe 00d75d2
shorten menu item
rjayasinghe 115e3ad
Merge remote-tracking branch 'origin/main' into alesi_java_docu
rjayasinghe 2068d95
try to fix links
rjayasinghe 3b7d16f
renamed headlines and stripped the guide
rjayasinghe e62735a
spelling
rjayasinghe 46a8b6c
Update java/cap-plugins-in-spring-boot-apps.md
rjayasinghe 5db8e72
dynamic version
rjayasinghe 3195b1b
Merge branch 'main' into alesi_java_docu
rjayasinghe 83cb6e0
editing
renejeglinsky e991bb4
shorter ToC title
renejeglinsky File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,75 @@ | ||
| --- | ||
| 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> | ||
|
|
||
| <script setup> | ||
| import { useData } from 'vitepress' | ||
| const { theme } = useData() | ||
| const { versions } = theme.value.capire | ||
| </script> | ||
|
|
||
| {{ $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 hard-coded 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> | ||
|
|
||
| ``` | ||
|
|
||
| Please also maintain a version property in your `<properties>` section: | ||
|
|
||
| ```xml-vue | ||
| <cds.services.version>{{ versions.java_services }}</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" /> | ||
|
|
||
| ## | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.