Enterprise Architecture is about understanding all of the different elements that go to make up the enterprise and how those elements interrelate
-[The Open Group]-
Without Architecture
- Unpredictable Solutions
- Poor quality and reduced user experience
- Stunted evolution
- Rigid system - Hard to reuse
There are many types of software architectures.
- Layered Architecture
- MVC Architecture
- Component Based Architecture
- Service Oriented Architecture
- Enterprise Architecture
In this article we only discus about the layered architecture and MVC architecture.
Layered Architecture
One of the most common architecture pattern is layered architecture that stand for most Java EE applications. Most of the time layered content four major layers namely presentation, business, persistence and database. But it is not specify special number of layers. These layers are organized as horizontal layers. In small applications there are only 3 layers and in complex application there are five or more layers. In an component it does not worry about other components’ logic.
Presentation layer – Responsible for
handle the browser communication logic and user interfaces.
Business layer- According to the
request this layer execute specific business logics.
Persistence layer – Contain the
classes that responsible for technical stuffs.
Database – Represent data in the
application and provide an interface to a database.
Fig.1.Layered Architecture
Applications of layered Architecture
- World wide web
- Web application development
- Mobile application development
Advantages
- Developer can work pararllelly in the
application.
- Increase the scalability, maintainability,
and flexibility.
- Have different levels of security.
- Each component can work independently.
- Can reuse the components by multiple
applications.
Disadvantages
- Add complexity to small applications. Not
suitable for small applications.
- Can decrease the performance because the
data passing through components instead of directly call for the components.
- Sometimes difficult to decide the number
of layers.
- Chance of various improper stability
issues if not handled correctly.
MVC Architecture
MVC architecture is mostly use software architecture to develop applications. MVC stand for Model, View, Controller.
Model – All the logic
related data that user work with is handle by Model. This can represent the
data that transfer between the View and the Controller Components. This is like
the database in your application.
View – All the UI
applications that customer finally interact with are include in this component
Controller – This is act
as an interface between Model and View. This process all the business logics.
Fig.2.MVC Architecture
Applications of MVC Architecture
- Development of mobile application
- This is first desktop application and now mostly use in web applications.
Advantages
- Can create multiple Views of a Model.
- Multiple users can access an do the
development process. One can work in View while other work with Controller. So
the process is faster.
- Support asynchronous techniques.
- Can use for develop large web applications.
- For the return of data, no need of
formatting.
- If we do a modification in a component it
does not affect to whole architecture.
Disadvantages
- Not suitable for small applications.
- The complexity is high when develop
applications.
- Increase the cost because of frequent
updates.
- Required knowledge of multiple
technologies.
- Multiple developers need for parallel
development.
Written by : Pramodi Samarathunga
Madhusanka Edirimanna
Undergraduates - University of Moratuwa



No comments:
Post a Comment