This repository houses system-agnostic Scala types, concepts, and patterns used to support Akka-based applications.
For the purposes of this document, the term "bundle" is used both in its OSGi definition and as an informal description of a Java JAR.
The "model" bundles can be used in an OSGi container or in non-OSGi deployments.
The only bundle which requires an OSGi container is "services-osgi" due to it being specifically designed for use in an OSGi container.
This is the "lowest level" bundle and also the one with the most features. All other Foundation bundles require it.
It provides abstractions for supporting:
As well as a bunch of other things which may be of interest.
This bundle contains types related to application-level security concerns. It does not address deployment security (such as network, OS, or JVM/container) nor management of same. Instead, concerns ranging from being able to Vault
Scala types when interacting with external systems to creating random ConfirmationCode
s are defined here.
This bundle reifies concepts related to producing notifications, such as sending email. It requires both models-core
and models-security
.
Of the three "models" bundles, this one is the most specialized for its task. However, the EmailAddress
type may be of interest even if the notification workflow is not needed.
Only those using an OSGi container will be interested in this bundle. In it are supporting types useful for defining and deploying bundles. It uses the excellent Domino library (which is highly recommended even if you do not want to use services-osgi
).