
Overview
Module Structure
The following diagram illustrates the Maven modules of group de.faktorzehn.fscd-adapter
along with their dependencies.
The module fscd-adapter-webapp
is not supposed to be used as dependency but serves as template for project-specific implementations.

Modules
jco-library
A library built on top of SAP JCo to facilitate executing Remote Function Calls (RFC), including
-
JcoConnection
that lazily connects to aJCoDestination
that is configurable viaJcoProperties
(a SpringConfigurationProperties
) instead of JCo.destination
files, -
JcoFunctionExecutor
andJCoFunctionExecutorFactory
to executeJCoFunctions
in a consistent way, -
JcoTransactionManager
, an implementation of Spring’sPlatformTransactionManager
to manage transactions across multiple RFCs, -
DomainValueSource
and itsPropertiesDomainValueSource
implementation using resource bundles (.properties
files) to resolve domain texts, -
JcoRecordReader
andJcoRecordWriter
to read and writeJCoRecords
, -
JcoTableIterable
to iterateJCoTables
, and -
JcoHelper
with various static utility methods.
jco-extapi
Contains general domain objects that are not specific to FS-CD, such as IdName
, CurrencyAmount
or Operation
.
fscd-adapter-extapi
Contains the adapter’s domain model, e.g. AccountBalance
and Posting
, used by module fscd-adapter-business
.
Additionally, the domain objects serve as the adapter’s external API (DTOs) utilized in the REST services of the extservices
module.
For details see the OpenAPI documentation.
You can also use IntelliJ’s diagram tool to visualize the domain model. |
fscd-adapter-business
Contains the core business logic of the adapter encapsulated in service interfaces, for instance FscdAccountBalanceService
and FscdPostingService
as well as implementations using SAP Java Connector
(JCo), for example JcoAccountBalanceService
and JcoPostingService
.
fscd-adapter-extservices
Contains REST services. Implemented with spring-web
.
For details see the OpenAPI documentation.
fscd-adapter-extapi-client
Provides FscdAdapterClient
, a Java client for the REST services of module extservices
implemented using WebClient
of spring-webflux
.
fscd-adapter-kafka
Contains the concepts for the publish-subscribe messaging integration using Apache Kafka. Implemented using spring-kafka
.
fscd-adapter-web
Contains components for the webapp. Implemented using linkki.
fscd-adapter-webapp
Bundles the modules into and configures the Spring Boot application. Its sources can serve as a template for project-specific implementations.
Bill of Material
The module de.faktorzehn.fscd-adapter:fscd-adapter-bom
provides a Maven bill of material (BOM) that can be imported into a project’s dependency management.