O'Reilly logo
live online training icon Live Online training

Enterprise Integration - from Spring Integration to Spring Cloud Dataflow

Topic: Software Development
Oleg Zhurakousky

Applications, especially today, in the age of cloud-based microservices more than ever need to communicate and integrate with one another. They need to be able to do it synchronously and asynchronously while dealing with partial failures, incompatible data, outages and more. Such integration and interaction is rarely easy unless you employ a different strategy, different way of thinking and most importantly different vocabulary. This workshop will introduce you to the concept and value of Enterprise Integration Patterns and its core pattern of “pipes-and-filters” as well as Spring Integration framework as one its reference implementation while finishing with building a fully distributed pipeline with Spring Cloud Dataflow.

What you'll learn-and how you can apply it

The most important take-away from this workshop is to walk away with the ability to compartmentalize and learn how to think and model a problem in terms of pipes-and-filters.

You will also learn:

  • The value of Message Channel abstraction, different types of channels and how to manage them.
  • How to send/receive Messages and interpret its contents.
  • How to convert Messages to various representations of data in your application.
  • How to build and test complex pipelines.
  • How to apply what you learn in the world of cloud and microservices.
  • Spring Technologies such as Spring Integration and Spring Cloud Dataflow.

This training course is for you because...

  • You want to learn the integration vocabulary that will assist you with solving complex enterprise problems before you get into the design/code.
  • You want to learn about enterprise integration using messaging.
  • You want to understand the advantages as well as limitations of integration using messaging compared to other techniques.
  • You want to learn Spring Integration framework
  • You want to get started with Spring Cloud Dataflow.


  • Java developers with basic understanding of Spring core concepts (i.e., managed bean)
  • Java developers with basic Spring Boot knowledge
  • Java developers having familiarity with start.spring.io (Spring Initializr)

Course Set-up

  • Attendees should have a Maven capable development environment configured on their machines. This could be Eclipse, IntelliJ, etc. The instructor will use Eclipse and some command line utilities.

Recommended Preparation

Recommended Follow-up

  • Live Online Training: Spring and Functions, by Oleg Zhurakousky (Search the O’Reilly Learning Platform for an upcoming date)

About your instructor

  • Oleg is an open source practitioner with over 18 years of experience in software engineering across multiple disciplines including software architecture and design, consulting, business analysis and application development. Speaker who presented seminars at dozens of conferences worldwide (i.e. SpringOne, JavaZone, Hadoop Summit,, JavaOne, Scala Days, Oredev etc.), Oleg is currently the tech lead for Spring Cloud Function and Spring Cloud Stream projects of Spring Cloud portfolio.


The timeframes are only estimates and may vary according to how the class is progressing

Segment 1: Enterprise Integration Patterns (EIP) Length (30 min)

In this section we will:

  • Provide a quick overview of enterprise integration and difficulties that come with it
  • Discuss the fundamental pattern that enables enterprise integration - Pipes-and-Filters uncovering its great power.
  • Learn common vocabulary to help efficiently discuss enterprise integration designs.

Break (5 mins)

Segment 2: Enterprise Integration with Spring Integration Length (55 min)

In this section we will:

  • Provide an overview of Spring Integration framework as one of the reference implementation of EIP
  • Discuss some of the core abstractions such as Message, Message Channel etc.
  • Cover some of the core Messaging Endpoints (e.g., filter, splitter, aggregator)
  • Demonstrate how to connect to the outside world with Integration Adapters
  • Discuss various configuration options (annotation, DSL, XML)

Break (5 mins)

Segment 3: Enterprise Integration with Spring Integration (continued) Length (80 min)

In this section we will:

  • Build a sample and somewhat realistic application utilising what we have learned in the previous sections.

Break (5 mins)

Segment 4: Building distributed pipelines with Spring Cloud Dataflow Length (60 min)

Based on concepts, patterns and ideas we have learned in previous segments, this segment will introduce you to the world of building distributed pipelines with Spring Cloud Dataflow framework. We will:

  • Provide a quick overview of Spring Cloud Dataflow framework (SCDF)
  • Discuss some of the core concepts as well as differences between SCDF and Spring Integration.
  • Build a distributed version of the same sample application we have built in the previous segment.