ScaleOut Java Project Configuration Guide
=========================================
This Java Project Configuration Guide demonstrates how to configure Java
projects to build applications which reference ScaleOut APIs in the
ScaleOut Product Suite.
All Java libraries (JARs) needed to interface with ScaleOut
StateServer®, ScaleOut StreamServer™, and the ScaleOut DigitalTwin
Builderâ„¢ for ScaleOut StreamServer are available in the ScaleOut API
Maven repository. These APIs are also available as part of the ScaleOut
Product Suite installer. As explained below, you can add these libraries
to your project using Gradle or Maven by including the ScaleOut API
repository and then adding ScaleOut artifacts as dependencies to your
project.
Alternatively, you can include the ScaleOut Product Suite libraries by
referencing them locally through the filesystem after installing the
product. They are always located in the installation directory, which is
by default, "/usr/local/soss/java\_api/" ("C:Files\_Software" on
Windows).
The following sections detail how to configure a Gradle or Maven project
to reference the ScaleOut Product Suite APIs.
Gradle
------
For Gradle, you can add the ScaleOut API Repository to your build.gradle
by adding the following under repositories:
::
repositories {
mavenCentral()
maven {
url "https://repo.scaleoutsoftware.com/repository/external"
}
}
...and then you can add the following JARs relative to your needs and
licenses:
APIs for ScaleOut StateServer:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
// Use the following for the Java NamedCache
compile group: 'com.scaleoutsoftware.client', name: "jnc", version: '5.8.18.349'
// Use the following for the JSR107 definition backed by ScaleOut StateServer
compile group: 'com.scaleoutsoftware.client', name: "jsr107", version: '1.2'
// Use the following for Spring Sessions backed by ScaleOut StateServer
compile group: 'com.scaleoutsoftware.spring', name: "session", version: '1.1'
APIs for ScaleOut StreamServer:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
// Use the following for streaming events with ScaleOut StreamServer
compile group: 'com.scaleoutsoftware.client', name: "eventpipeline", version: '5.8.18.349'
// Use the following for streaming events to/from a Kafka cluster
compile group: 'com.scaleoutsoftware.client', name: "kafkaclient", version: '5.8.18.349'
APIs for the ScaleOut DigitalTwin Builder for ScaleOut StreamServer:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
// Use the following to define a Digital Twin
compile group: 'com.scaleoutsoftware.digitaltwin', name: "core", version: '1.2.4'
// Use the following for an API driven deployment of a Digital Twin model
compile group: 'com.scaleoutsoftware.digitaltwin', name: "deployment", version: '1.2.4'
// Use the following for directing events from data sources to deployed Digital Twins
compile group: 'com.scaleoutsoftware.digitaltwin', name: "datasource", version: '1.2.4'
// Use the following for testing Digital Twin models against mocked out infrastructure
compile group: 'com.scaleoutsoftware.digitaltwin', name: "mock", version: '1.2.4'
Maven
-----
For Maven, you can add the ScaleOut API Repository to your pom.xml by
adding the following repository reference:
::
ScaleOut API Repository
https://repo.scaleoutsoftware.com/repository/external
...and then you can add the following JARs relative to your needs and
licenses:
APIs for ScaleOut StateServer:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
com.scaleoutsoftware.client
jnc
5.8.18.349
com.scaleoutsoftware.client
jrs107
1.2
com.scaleoutsoftware.spring
session
1.1
APIs for ScaleOut StreamServer:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
com.scaleoutsoftware.client
eventpipeline
5.8.18.349
com.scaleoutsoftware.client
kafkaclient
5.8.18.349
APIs for the ScaleOut DigitalTwin Builder for ScaleOut StreamServer:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
com.scaleoutsoftware.digitaltwin
core
1.2.4
com.scaleoutsoftware.digitaltwin
deployment
1.2.4
com.scaleoutsoftware.digitaltwin
datasource
1.2.4
com.scaleoutsoftware.digitaltwin
mock
1.2.4