Monolithic/Multi-tier Architecture

Monolithic Applications are single code base containing multiple modules. The modules can be divided based on technology or functionality.  It mostly contains single build system and might be deployed as a huge WAR file.

Enterprise Applications have been architect-ed based on this model. Generally an enterprise applications would be based on layered architecture consisting of following modules/layers

  • Presentation Layer-  Mostly UI handling request and response
  • Business Layer- Contains Application logic
  • Database Layer – Data access layer
  • Application Integration Layer – Mostly messaging layer

Dis-advantages  of Monolithic Architectural approach

  • Application Container/WebContainer stressed – As application grows it adds stress on the container causing poor performance.
  • Complete deployment only –  Does not support partial deployment . Even for small changes the entire application has to be deployed
  • Complexity of the code base of huge enterprise applications demand a huge learning curve
  • Scaling  and High Availability is challenging as multiple instances of same application to be executed across the cluster
  • Frequent deployment/integration is not trivial. Need dedicated resource for build and deployment
  • Development is challenging as developers and IDE to deal with huge code base leading to low productivity
  • Difficult to migrate to different technology.  Mostly would lead to rewriting

What is trending now ….

At present the focus has moved from desktop-browser to mobile/smart-phone/tab  browser.  Enterprise application need to provide data to these devices rather to desktop-browser. We need a light weight solution . Need for  REST/SOAP API for data exposure than the legacy enterprise mechanism.  This can be achieved by Microservice architecture. Lets see in detail about Microservice applications in my next post.


2 thoughts on “Monolithic/Multi-tier Architecture”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Cheat Sheet To JAVA Latest Technology

%d bloggers like this: