Blended - a Scala based Integration framework
Blended provides a Scala based integration framework to easily develop component based applications on top of Akka, AkkaHttp, JMS and other communication libraries.
The Blended runtime components provide a well defined environment for the user defined components and provides common services for component configuration, security services standard integrations to an enterprise level infrastructure, such as messaging services or authentication and authorization servers.
The Blended management framework allows to monitor and manage a large number of distributed framework containers without sacrificing the stability of the environment when the management infrastructure is unavailable.
The Blended test framework allows to execute functional cross-component tests mimicking the final container environment with minimal effort.
The Blended integration test framework uses docker to create and deploy docker images from within the build process and supports the developer in creating integration tests for the final container.
Blended is the backend for a distributed retail communication software. All components and services not directly related to the actual business components are licensed under the Apache 2.0 license.
Currently blended is in it’s 3rd generation and in production since ~2014.
Build from source
We use Mill build tool to build blended.
As we have some shared modules between Scala and Scala.Js,
yarn is also required on the developer machine.
After cloning the repository, simply navigate to the checkout directory and use the bundled mill script
./mill, which is a copy of lefou/millw.
We currently target Java 8 and Java 11 with Scala 2.13 and Scala.js 1.
Selected build targets / commands
Build and publish all publishable artifacts into a local ivy2 repository.
Build and publish all publishable artifacts into a local Maven2 repository.
Build all OSGi bundles for Scala 2.13.2
Run all tests for Scala 2.13.2
Run all unit test in parallel and keep mill going even a test failure occured
Generate a HTML Coverage report based on previously ran tests
We use IntelliJ in our project. You can generate IntelliJ IDEA project files with mill with the following commandline:
Download artifacts from Maven Central
You can download released artifacts including binary and source JARs from Maven Central.
Blended ist published under the Apache License, Version 2.0
Why not just clone our repo, dig around and send us some pull requests ….
JetBrains is kindly supporting our project with full developer licenses of their product stack.
We are keen to know what you think about Blended. What are your use cases, your wishes?
If you spot something that makes you want to pull your hair, let us know ;)