Service – Oriented Architecture (SOA)


A service-oriented architecture (SOA) is a style of software design where services are provided to other components by application components through a communication protocol over a network.

There are no industry standards relating to the exact composition of a service-oriented architecture. There basic principles of serivce oriented architecture whould be independent of vendors, products and technologies.

  • Logically represents a business activity with a specified outcome
  • Selt-contained
  • Black Box for its consumers


Microservice Architecture

Miroservice Architecture is a kind of SOA. Microservices must be independently deployable. In SOA component can belong to same application whereas Microservice component are independently deployable services.

Image 073
Microservice Architecture


Image 14
Traditional Web Application Architecture


Drawback of Traditional Web Application Architecture

  • Large code base
  • Overloaded IDE
  • Overloaded Web Container
  • Difficult Continuous Deployment
  • Difficult to Scale in different dimension
  • Difficult to Scale Development
  • Stick to a Technology Stack


Advantage of Traditional Web Application Architecture

  • Simple to Develop
  • Simple to Deploy
  • Simple to Scale


Microservice Design Pattern

  • Core Patterns
  • Decomposition
  • Deployment Pattern
  • Cross Cutting Concerns
  • Communication Style
  • External API
  • Service Discovery
  • Reliability
  • Data Management
  • Security
  • Observability





Difference SOA and N-Tier Architecture

Service-oriented Architecture (SOA)

Application components provide services to other components via a communications protocol.

Multi Tier Architecture (N-Tiers)

It is software architecture in which presentation, application processing, and data management functions are physically separated.


Comparison of SOA and N-tiers

SOA N-Tiers
System Architecture Application Architecture
Multi Business Layers Single Business Layer
Multi Processing Tiers Multi Processing Tiers

Enterprise Design and Architecture


What is Enterprise Application?

It is big business application. In short, It is a highly complex system.


Enterprise Application Model

It is summation of all requirements that contribute to implementing every enterprise application.


Enterprise Development Teams and Process

There are many difference development and project management strategy .


A Model for Enterprise Teams 

Six Team Roles 

Example of Sharing project roles

Project Reporting Structure