Service – Oriented Architecture (SOA)

Introduction

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
  • UI Patterns

 

Components

 

Reference

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.

From: http://stackoverflow.com/questions/3488395/what-is-the-difference-between-n-tier-and-soa-architecture

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

From: https://msdn.microsoft.com/en-us/library/aa267045(v=vs.60).aspx

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