Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Using Reactive Streams, Akka Streams, Akka HTTP, and Alpakka For Legacy Integrations

DZone's Guide to

Using Reactive Streams, Akka Streams, Akka HTTP, and Alpakka For Legacy Integrations

This handy getting-started kit will help you see how Reactive Streams and Akka can help bridge the gap between new services and legacy applications.

· Java Zone ·
Free Resource

How do you break a Monolith into Microservices at Scale? This ebook shows strategies and techniques for building scalable and resilient microservices.

Software is turning more and more into individual services that 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 be 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.

How do you break a Monolith into Microservices at Scale? This ebook shows strategies and techniques for building scalable and resilient microservices.

Topics:
java ,akka ,legacy applications ,integration ,reactive streams

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}