Use Reactive Streams, Akka Streams, Akka HTTP And Alpakka For Legacy Integrations
Connecting The New With The Existing
Software is turning more and more into individual services which provide value to individual consumers. It is a part of a greater whole, and in a typical enterprise we see that multiple generations of technologies must co-exist for systems to function properly as a whole.
In addition to that, the need to integrate with existing systems is increasing. The technologies used can be WebServices, HTTP APIs, databases, or even external devices such as sensors.
What this all means is that different sources and destinations of information need to be integrated. The challenges in the field of Enterprise Integration are plentiful and mastering them to achieve more scalable, composable, and functional architecture for interconnecting systems and applications can more effectively solved by adopting a Reactive and stream-based mindset and tools.
The goal of this post is to bring together several resources into a kind of “get started kit” to learn what’s going on with streaming technologies like Akka Streams, Akka HTTP and Alpakka (all based on the Reactive Streams initiative) and connecting with your legacy integration points as a starting point.
Step 1 - Why Streaming In The First Place?
Akka creator and Lightbend CTO/Co-Founder Jonas Bonér wrote an article for DZone titled “Why Developers Should Bet Big On Streaming”, which explains why developers should embrace streaming as a way to enable data in motion to serve applications that make real-time decisions, and how it connects to the most interesting AI and ML use cases today. To set the scene, this is a good place to start.
Step 2 - Grokking Reactive Streams In JDK 9+ And EE4J
Our expert James Roper recently penned a popular, in-depth article titled “What can Reactive Streams Offer EE4J?”. In it, he gives a high level overview about the potential for Reactive Streams in an Enterprise Java context, and how to begin applying these concepts to your existing Java codebase. To grok more of how Reactive Streams works with the JDK and EE4J, this is an article you shouldn’t miss.
Step 3 - Get Started With Reactive Integration Examples
If you’re feeling comfortable moving forward, then step 3 shows you how to do it. As a way to review the reality of reactive integrations explained in examples, I personally created some examples that showcase how to use Akka Streams together with Alpakka for integration. These two Github projects (Alpakka JDBC and Alpakka SSE) are the first of the series, and you can also re-watch my IBM Code webinar, which walks you through some of the why and how.
Of course, Lightbend is always here to support your enterprise needs for Reactive microservices, Fast Data and streaming applications, and more. Set up a time to chat with us if the time is right!