Autogenerated Stovepipe

AntiPattern Problem

This AntiPattern occurs when migrating an existing software system to a distributed infrastructure. An Autogenerated Stovepipe arises when converting the existing software interfaces to distributed interfaces. If the same design is used for distributed computing, a number of problems emerge.

For example, the existing interfaces may be using fine-grain operations to transfer information that may be inefficient in a distributed environment. Preexisting interfaces are usually implementation-specific, and will cause subsystem interdependencies when used in a larger-scale distributed system.

Local operations often make various assumptions about location, including address space and access to the local file system. Excess complexity can arise when multiple existing interfaces are exposed across a larger-scale distributed system.

Refactored Solution

When designing distributed interfaces for existing software, the interfaces should be reengineered. A separate, larger-grained object model should be considered for the distributed interfaces.

The interoperability functionality used by multiple subsystems should be the design center of the new interfaces. Design that is independent of particular subsystems can be achieved through architecture mining. The stability of the new interfaces is very important, given that separately compiled software will be dependent upon these new designs.

Read next

AntiPatterns: The Survival Guide

This article is taken from our book AntiPatterns: The Survival Guide.

We have gathered ALL AntiPatterns there. Moreover, the book is written in a simple and clear language that makes it easy to read and understand (just like this article).

We distribute it in PDF format, so you can get this book right now and it will be available for downloading in 10 seconds!

Learn more...