troet.cafe ist Teil eines dezentralisierten sozialen Netzwerks, angetrieben von Mastodon.
Hallo im troet.cafe! Dies ist die derzeit größte deutschsprachige Mastodon Instanz zum tröten, neue Leute kennenlernen, sich auszutauschen und Spaß zu haben.

Verwaltet von:

Serverstatistik:

7,3 Tsd.
aktive Profile

Mehr erfahren

#btp

0 Beiträge0 Beteiligte0 Beiträge heute

bye bye 👋 #SAP #BTP #FreeTier
It was nice knowing you.
You were a very valuable tool for trying out real $stuff behind marketing fluff.
😢
PS: fun fact: I wasn't able to find _any_ of the IDs in the termination mail _anywhere_, not in the BTP Cockpit, not in me.sap.com. So eventually, someone else's account will be terminated?!? muahahaha 🙈

(72/..)
- Turquie 5ème procès de Pinar Selek helloasso.com/associations/kar + Istanbul : inflation foncière #btp + leader PKK chef indépendantiste kurde Abdullah Öcalan emprisonné (cf 1999) annonce dissolution mouvement -> appelle ses combattants à déposer les armes.
- Koweit rend apatride naturalisés/descendants de naturalisées, dont 2/3 ...

#ToxicTown

youtu.be/aJR5nsZ0X58?si=tN_u7r

photo via @ HypathieBlog@mamot.fr

#year2025#climat#climate

A Kotlin-based CAP Java Application (Part 1)

Introduction

I recently asked myself whether it is possible to develop a full-fledged cloud application using Kotlin and the SAP Cloud Application Programming Model for Java (CAP Java). Instead of only thinking about it, I decided to start a project to check this.

I'm developing the application in several steps, each step is accompanied by a small blog article. I won't go into every detail when it comes to CAP Java, so knowledge in this area is beneficial to follow the steps.

The application will be a link aggregator where users can add URLs to interesting information on the web. Links can be marked as private, mutual (only visible for other logged-in users), and public (visible for all).

Creating and Adjusting the Project

The first step is to create a CAP Java project as described in CAPire. I'm not going to go into depth here but only show what needs to be changed to use Kotlin for developing the microservice. Make sure that you have a model and database for local development. I chose SQLite to be on the safe side when it comes to integration of multi-tenancy in a later step.

Let's start with the required changes in the parent pom file.

1. Add a property for the Kotlin version in the <properties>:

<kotlin.version>2.1.0</kotlin.version>

2. Add the dependency for the Kotlin standard library to the dependency management:

<!-- KOTLIN -->  
<dependency>  
    <groupId>org.jetbrains.kotlin</groupId>  
    <artifactId>kotlin-stdlib</artifactId>  
    <version>${kotlin.version}</version>  
</dependency>

3. Add the Kotlin compiler plugin:

<!-- KOTLIN PLUGIN -->
<plugin>
	<groupId>org.jetbrains.kotlin</groupId>
	<artifactId>kotlin-maven-plugin</artifactId>
	<version>${kotlin.version}</version>
	<executions>
		<execution>
			<id>compile</id>
			<goals>
				<goal>compile</goal>
			</goals>
			<configuration>
				<sourceDirs>
				<sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
				<sourceDir>${project.basedir}/src/main/java</sourceDir>
				</sourceDirs>
			</configuration>
		</execution>
		<execution>
			<id>test-compile</id>
			<goals>
				<goal>test-compile</goal>
			</goals>
			<configuration>
				<sourceDirs>
				<sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
				<sourceDir>${project.basedir}/src/test/java</sourceDir>
				</sourceDirs>
			</configuration>
		</execution>
	</executions>
</plugin>

4. Adjust the Java compiler plugin:

As we still need Java compilation of the POJOs generated by the CDS compiler we have to adjust the settings of the Java compiler plugin. This is the change entry:

<!-- JAVA COMPILER -->
<plugin>
	<artifactId>maven-compiler-plugin</artifactId>
	<version>3.13.0</version>
	<configuration>
		<release>${jdk.version}</release>
		<encoding>UTF-8</encoding>
	</configuration>
	<executions>
		<execution>
			<id>default-compile</id>
			<phase>none</phase>
		</execution>
		<execution>
			<id>default-testCompile</id>
			<phase>none</phase>
		</execution>
		<execution>
			<id>java-compile</id>
			<phase>compile</phase>
			<goals>
				<goal>compile</goal>
			</goals>
		</execution>
		<execution>
			<id>java-test-compile</id>
			<phase>test-compile</phase>
			<goals>
				<goal>testCompile</goal>
			</goals>
		</execution>
	</executions>
</plugin>

As the perent pom is now complete, some changes need to done in the srv/ directory.

1. Add the dependency for the Kotlin standard library:

<!-- KOTLIN -->  
<dependency>  
    <groupId>org.jetbrains.kotlin</groupId>  
    <artifactId>kotlin-stdlib</artifactId>  
</dependency>

2. Create Kotlin source directory:

Create the directory srv/src/main/kotlin, create the base package for your project and add the Kotlin class Application in the base package with the following content:

package io.github.linkaggregator  
  
import org.springframework.boot.SpringApplication  
import org.springframework.boot.autoconfigure.SpringBootApplication  
  
@SpringBootApplication  
open class LinkAggregatorApplication  
  
fun main(args: Array<String>) {  
    SpringApplication.run(LinkAggregatorApplication::class.java, *args)  
}

3. Delete the Java source directory:

As we want to develop the service in Java, the directory srv/src/main/java can be deleted now.

Now you can build and run the service!

That's it for the first part of this series. You can find the sources for this part on Github.

In the next part we're going to switch to Groovy and Spock to develop unit tests. So stay tuned!

@sap @sapcap #sapcap #cap #capjava #java #kotlin #cloud #sapbtp #btp

cap.cloud.sapGetting Started | capireDocumentation for SAP Cloud Application Programming Model

(23/..)
- France Mayotte destructions cyclone -> habitants démunis conflits camps migrants venus pour opportunités travail reconstruction île #btp + #inondations Herminia (Rennes).
- artificialisation des sols + 'tempête' Éowyn (Irlande, UK, France)
- Inondations Sicile
- Incendies Chili (janvier) + sécheresse depuis 3 ans Pyrennée Atlantique avec arrêt de la pluie.
- Espagne effondrement nombre de coquillages

Why are #SAP #BTP trial accounts still expiring after 90 days? Genius move if the goal is to frustrate users.

My master’s students will see their semester's work disappear within the next two weeks—right before the examination phase. And that’s after they already rebuilt everything in the Integration Suite because that trial lasts only 30 days. My guess? They won’t be choosing SAP tools for their next projects. (1/2)

Large amount of #cable nicked from overhead line equipment for #railways in Northern #England, causing line closures and disruption - #BTP are investigating - this seems like serious #crime verging on stochastic #terrorism - it requires significant insider knowledge of the network and someone willing to buy the cable, maybe overseas? (I doubt local scrapyards would take it in, as they are increasingly audited by the authorities)

bbc.co.uk/news/articles/cy0916

BBC NewsRail disruption after £100K worth of cable stolenPassengers have been warned to expect disruption between Chorley and Bolton following the theft.

A #railway #worker on the #ElizabethLine in #London has died following an #assault - a suspect has been #arrested by #BTP ( #British #Transport #Police ) and remanded in custody.

This is yet another reason why I still end up #driving to my relatives in SE England, I don't feel safe on the #PublicTransport networks (if the angry man will attack a rail worker, he might just as likely target a stranger)

#crime #safety

bbc.co.uk/news/articles/cy7kkp

#introduction Ma bio n'est peut-être pas suffisante. Je suis un ingénieur conseil indépendant, depuis plus de 15 ans dans le #BTP. Mission : confort ↗️ , consommations ↘️, externalités environnementales ↘️. Je fais aussi des calculs réglementaires #RTEx #RT2012 #E+C- #RE2020. Je suis sans doute un des seuls thermiciens de France à tourner sous #linux (#qemu inside). 😅
#simulationsdynamiques #thermique #énergétique #QEB #biosourcés #constructionpaille #réchauffementclimatique et pleins de trucs…