Now: self-contained systems map the user journey

'Self-contained systems' typically apply to black boxes. A wide open, service-oriented form is emerging to help shatter monolithic applications.
Written by Joe McKendrick, Contributing Writer

"Self-contained system" is a term that gets applied to a lot of things, from International Space Station components to nanosensors. In the information technology services space, it could also apply to the plethora of hardware/software appliances that have been available for some time -- such as data warehouse, security or storage appliances which handle everything within pluggable, highly contained environments.

Photo: Joe McKendrick

There is a new breed of self-contained system now emerging within the service-oriented context of IT. And it's all very open -- not hidden away in a black box. Its elements were recently explored by Eberhard Wolff in a recent Infoq post, which suggests there is a lot of common ground with microservices -- but are not exactly the same thing.

To be brief, self-contained systems, as the term suggests, are completely autonomous. They are web applications that include their own web UI, logic and databases that function independently of other systems or services. The self-contained system may also have an API to expose its functionality. So, theoretically, they are about as loosely coupled as it can get.

So what's new and different about a self-contained system that already hasn't been seen before in the world of loosely-coupled systems and services? Wolff points to some distinctions: for starters: they are "defined much more precisely," he observes. While "microservices might use any type of communication, they might or might not provide a UI," self-contained systems "are much more restrictive."

Self-contained systems are "rather coarse-grained," and are intended to "ensure that each business requirement will be implemented in one SCS." Fine-grained microservices may also be part of this system.

So the big question is where the business value is to be found. Wolff suggests self-contained systems may help break up larger, monolithic applications and can be mapped along the lines of a customer or user journey. As Wolff explains it:

"The steps a customer takes while interacting with the system e.g. search for products, check-out or registration. Each of these steps could be a candidate for a SCS. Usually these steps have little dependencies. Oftentimes there is a hand-over between these steps: The shopping cart is handed over to the checkout where it becomes an order, and is then handed over to fulfillment."

A list of self-contained systems resources can be found here at the SCS architecture site.

Editorial standards