Single Process Architecture

Jakob Jenkov
Last update: 2024-01-17

A software system consisting of a single running process is said to have a single process architecture. Or simply that it is a single process. You could also call this a 1-tier architecture. Single process applications are also often referred to as standalone applications.

Common examples of single process applications are:

  • Command line programs.
  • Desktop applications without network communication.
  • Mobile applications without network communication.

Is Network Communication Allowed in a Single Process Application?

In today's world more and more applications are open for communication in one way or another. Command line applications might be able to work on the output of another command line application. Desktop applications can update themselves over the internet, and report errors to remote error databases. Mobile applications can communicate with other mobile applications installed on the same phone via intents (Android) etc.

Could you call an application that has network communication a single process architecture?

Well, I guess that depends on whether the application needs that network communication to do its work, or whether the network communication is more optional in nature.

For instance, a desktop application that is able to update itself over the Internet - I would probably still characterize as a single process architecture. Also, if it was sending usage statistics or error reports over the network to the creator of the application. Those two use cases are not central to its function, so I would probably not include them in the architectural classification.

Are P2P Applications Single Process Applications?

A good question is - if P2P applications are to be considered single process architectures or not.

Again, I think that would depend on how central the P2P communication part was to the functionality of the application. If it was merely an optional way to do something it would otherwise do without P2P communication, maybe it could be classified as a single process architecture. In most cases though, I think I would classify P2P applications as using a P2P architecture.

Jakob Jenkov

Featured Videos

Java ForkJoinPool

P2P Networks Introduction




















Advertisements

High-Performance
Java Persistence
Close TOC
All Tutorial Trails
All Trails
Table of contents (TOC) for this tutorial trail
Trail TOC
Table of contents (TOC) for this tutorial
Page TOC
Previous tutorial in this tutorial trail
Previous
Next tutorial in this tutorial trail
Next