An OSGI container framework in Scala with focus on testing and integration testing.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.mvn Version bump to polyglot-scala 0.3.1, adapted to new version Jun 27, 2018
blended.activemq.brokerstarter/src Refactoring config to use timeunits rather than numbers Nov 20, 2018
blended.activemq.client/src/main/scala/blended/activemq/client/internal Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.akka.http.jmsqueue/src Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.akka.http.proxy/src Adding DefaultHeader Section in configuration & specs Oct 14, 2018
blended.akka.http.restjms/src WIP: Camel upgrade Oct 4, 2018
blended.akka.http/src Merge branch 'streams' Nov 12, 2018
blended.akka/src Refactoring Specs Nov 8, 2018
blended.camel.utils/src/main Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.container.context.api/src Creating sample configs to make travis work again Oct 26, 2018
blended.container.context.impl Adding DefaultHeader Section in configuration & specs Oct 14, 2018
blended.domino/src/main/scala/blended/domino Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.file/src Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.hawtio.login/src/main/resources Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.jetty.boot/src/main/scala/blended/jetty/boot Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.jms.bridge/src Fixing Bridge inbound flow with optional header configurations Nov 18, 2018
blended.jms.sampler/src/main/scala/blended/jms/sampler/internal Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.jms.utils/src Refactoring config to use timeunits rather than numbers Nov 20, 2018
blended.jmx/src/main/scala/blended/jmx/internal Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.jolokia/src Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.launcher Added Fork Per Spec to sbt settings and refactored tests. Nov 10, 2018
blended.mgmt.agent/src/main/scala/blended/mgmt/agent/internal Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.mgmt.base/src/main/scala/blended/mgmt/base Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.mgmt.mock/src Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.mgmt.repo.rest/src/main/scala/blended/mgmt/repo/rest/internal Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.mgmt.repo/src Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.mgmt.rest/src Fixing test Nov 12, 2018
blended.mgmt.service.jmx/src Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.mgmt.ws/src More dispatcher specs Nov 12, 2018
blended.persistence.h2/src Merge branch 'streams' Nov 12, 2018
blended.persistence/src/main/scala/blended/persistence Working on tests Oct 22, 2018
blended.prickle.akka.http/src Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.samples Removed obsolete pom file Oct 1, 2018
blended.security.akka.http/src Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.security.boot/src/main/scala/blended/security/boot Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.security.login.api Added Fork Per Spec to sbt settings and refactored tests. Nov 10, 2018
blended.security.login.impl/src Added Fork Per Spec to sbt settings and refactored tests. Nov 10, 2018
blended.security.login.rest/src Added Fork Per Spec to sbt settings and refactored tests. Nov 10, 2018
blended.security.scep.standalone Removed obsolete Makefiles Oct 1, 2018
blended.security.scep/src Removed obsolete Makefiles Oct 1, 2018
blended.security.ssl/src Added Fork Per Spec to sbt settings and refactored tests. Nov 10, 2018
blended.security.test/src/test Added Fork Per Spec to sbt settings and refactored tests. Nov 10, 2018
blended.security Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.streams.dispatcher Refactoring Dispatcher Outbound to support generic request / reply in… Nov 19, 2018
blended.streams.testsupport/src Fixing FlowMessageAssertion Expected Bodies Nov 17, 2018
blended.streams Refactoring Dispatcher Outbound to support generic request / reply in… Nov 19, 2018
blended.testsupport.pojosr/src/main/scala Added Fork Per Spec to sbt settings and refactored tests. Nov 10, 2018
blended.testsupport/src Refactoring for better testability. Nov 15, 2018
blended.updater.config Fixed test for ScalaJS Oct 24, 2018
blended.updater.remote More log messages Oct 26, 2018
blended.updater.tools/src Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.updater Reviewed some projects and deleted maven files in them Sep 19, 2018
blended.util.logging/src/main/scala/blended/util/logging First cut of DispatcherActivatorSpec Nov 11, 2018
blended.util/src Refactoring config to use timeunits rather than numbers Nov 20, 2018
doc Removing obsolete file Nov 10, 2018
project Fixing Bridge inbound flow with optional header configurations Nov 18, 2018
.dropbox_uploader.enc Uploading test results to dropbox after failure Nov 5, 2018
.editorconfig Added editorconfig Jul 30, 2018
.gitignore updating travis Nov 5, 2018
.scalariform.com Adding Scalariform plugin to sbt (with manual formatting only) Sep 10, 2018
.travis.yml Updating .travis.yml Nov 19, 2018
LICENSE Refactoring for Spray integration. Apr 30, 2014
README.adoc Updated Readme Nov 12, 2018
_config.yml Set theme jekyll-theme-cayman Oct 17, 2018
build-akka.sh Refactoring config to use timeunits rather than numbers Nov 20, 2018
build.sbt Added Fork Per Spec to sbt settings and refactored tests. Nov 10, 2018
buildSite.sh Basic sbt / jbake integration going to prepare automated deploy of bl… Oct 31, 2018
dropbox_uploader.sh Uploading test results to dropbox after failure Nov 5, 2018
package.json Integrating bootstrap theming Nov 3, 2018
runPublish.sh Removing old polyglot build helper files. Sep 24, 2018
scalastyle-config.xml Some code cleanup Sep 2, 2018
upload-results.sh updating travis Nov 5, 2018
verifyPublish.sh Fine tuning build and release scripts. Sep 24, 2018
version.txt Bumping version number Oct 2, 2018
yarn.lock Basic sbt / jbake integration going to prepare automated deploy of bl… Oct 31, 2018

README.adoc

Blended - a Scala based Integration framework

Project Mission

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.

The next upcoming release will complete the migration to Scala 2.12 and finalize the migration from maven to sbt.

Blended Integration Test Framework

The Blended Integration Test Framework to create docker based integration tests.

Blended Management UI

A web front end the Blended Management Framework built with Scala.Js.

Blended example container and integration tests

Some packaging examples and simple integration flows complete with packaging and integration tests.

Build from source

We use sbt 1.2.6 to build blended.

The build files are not compatible with sbt versions 0.13.x as they intensively use the new unified syntax to reference properties.

As we have some shared modules between Scala and Scala.Js, node and yarn is also required on the developer machine.

After cloning the repository, simply navigate to the checkout directory and start sbt with a bit more memory (2GB or more):

sbt -mem 2048

The first start might take a moment as sbt needs to download the required dependencies.

For convenience we have defined some command aliases for sbt:

cleanPublish

; clean ; coverageOff ; publishM2

cleanCoverage

; clean ; coverage ; test ; coverageReport ; coverageAggregate ; coverageOff

IDE support

We use IntelliJ in our project and the project opens well enough in IntelliJ, though the import of the sbt file can take a moment.

There is an experimental support for the Scala Compile Server, bloop. Currently we cannot use it as there seems to be an issue with loading mixed JVM / JS projects. Once that is solved, the bloop support should give a very good performance loading / refreshing and compiling the project.

Download artifacts from Maven Central

You can download released artifacts including binary and source JARs from Maven Central.

License

Blended ist published under the Apache License, Version 2.0

Contribute

Why not just clone our repo, dig around and send us some pull requests …​.

Supporters

JetBrains is kindly supporting our project with full developer licenses of their product stack.

Feedback

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 ;)