O'Reilly logo

Fundamentals of Software Architecture by Neal Ford, Mark Richards

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 11. Pipeline Architecture Style

One of the fundamental styles in software architecture that appears again and again is the Pipeline architecture (also known as the pipes and filters architecture). As soon as developers and architectures decided to split functionality into discrete parts, this pattern surely followed shortly after. Most developers know this architecture as this underlying principle behind Unix terminal shell languages such as Bash and zsh.

Developers in many functional programming languages will also see parallels between language constructs and elements of this architecture. In fact, many tools that utilize the Map/Reduce programming model follow this basic topology. While these examples show a low-level implementation of the pipeline architecture style, it can also be used for higher-level business applications as well.

Topology

The topology of the pipeline architecture consists of pipes and filters, illustrated in Figure 11-1.

Figure 11-1. Basic topology for pipeline architecture

Figure 11-1 illustrates that the two components of this architecture (pipes and filters) coordinate in a specific fashion, with pipes forming one-way communication between filters, usually in a point-to-point fashion.

Pipes

Pipes in this architecture form the communication channel between filters. Each pipe is typically uni-directional and point-to-point (rather than broadcast) ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required