Software Architecture styles

  • Component based architecture. – Example, JEE.
  • Layered architecture. – Example, JEE.
  • Pipe & filter (or pipeline) – Output of one feeds into another component. Buffering may be required in between. – Example, Analytics ETL, data pipeline.
  • Data centric (or database centric) – Database plays a key role in connecting different sub-systems. Lots of logic goes into the database stored procedure.
  • Blackboard architecture – Different components provides different knowledge solutions to solve the specific problem.
  • Rule based architecture. – Diagnostic applications.
  • Event driven architecture.
  • Publish subscribe model – Example, JMS
  • MOM- Message Oriented Middleware, Asynchronous messaging – Example, JMS
  • Plug-in model – Example, Eclipse RCP, OSGi
  • Client server.- Example, web server & browser.
  • SN- Shared nothing architecture – In a cluster, each machine is independent of its own.
  • Peer to peer systems. Example – Cassandra ring.
  • REST based.
  • SOA.
  • Broker based – Introducing a broker component between two systems.
  • Space based architecture. Achieves scalability. Example – Cloud
  • Interpreter – Parses the command one by one & changes the state.
  • Master Slave — Applied to database most of the times.
  • Stream processing – Processing streams (continuous ordered messages).
  • Computing farm – Identical instances serving the request. Machines in the farm do not talk to each other.
  • Distributed systems – Group of machine coordinate to deliver throughput.
  • Micro services – Modular business logic (following business concern) hosted (scaled) independently and orchestrated to deliver the end functionality.
  • Serverless – Computing chassis in the cloud hosting user code, often a small function.

Leave a Reply

Your email address will not be published. Required fields are marked *