SlideShare a Scribd company logo
Abstract
• The web is being used for applications that contain
significant business logic complexity and have considerable
user interface requirements. Unfortunately, the limitations
of the existing web infrastructure mean that purely event-
based user interaction is unsuitable within web
applications. Nevertheless, we believe that integrating
event-based user interaction in certain parts of a large web
application will have positive effects if a suitable
architecture is used. In this paper, we explore an
architecture that accommodates a partial integration of an
event-driven user interface. We also suggest ways in which
the interaction of user is better using various Design and
Architectural Pattern.
Web Based Application Architecture
Three Layer Architecture
• Presentation layer
• Application or Business Layer
• Data Access Layer
Presentation Layer
For most business applications, a form metaphor
is used to structure the presentation layer. The
application consists of a series of forms (pages)
with which the user interacts. Each form contains
a number of fields that display output from lower
layers and collect user input.
Two types of components that implement forms-
based user interfaces are:
• User interface components
• User interface process components
Application/Business Layer
• Large enterprise applications are often
structured around the concepts of business
processes and business components. These
concepts are addressed through a number of
components, entities, agents, and interfaces in
the business layer.
– Business Components
– Business Workflows
– Business Entities
– Business Interface
Data Access Layer
• Data access components in this data layer are
responsible for exposing the data stored in
these databases to the business layer.
– Data Access Components
– Service Gateways
Why do we need these patterns
 If we can certainly build software applications without
using any of these patterns, but by using these
patterns we can achieve separation of concerns design
principle.
 These help in improving maintainability of the
application.
 Another important reason why these patterns became
popular is implementing these patterns improve the
testability of the application using automated unit
tests
Design Pattern Classification
• Creational Patterns
• Structural Patterns
• Behavioral Pattern
Separation on Concern(SoC)
• Separation of concerns (SoC) is a design principle for separating a
computer program into distinct sections, such that each section
addresses a separate concern. A concern is a set of information that
affects the code of a computer program. A concern can be as
general as the details of the hardware the code is being optimized
for, or as specific as the name of a class to instantiate. A program
that embodies SoC well is called a modular program. Modularity,
and hence separation of concerns, is achieved by encapsulating
information inside a section of code that has a well-defined
interface. Encapsulation is a means of information hiding. Layered
designs in information systems are another embodiment of
separation of concerns (e.g., presentation layer, business logic layer,
data access layer, persistence layer).
Model View Controller (MVC) architecture
Design patterns:
A design pattern describes a proven solution to a recurring design
problem, placing particular emphasis on the context and forces
surrounding the problem, and the consequences and impact of the
solution. There are many good reasons to use design patterns:
1. They are proven: You tap the experience, knowledge and
insights of developers who have used these patterns
successfully in their own work.
2. They are reusable: When a problem recurs, you don’t have to
invent a new solution; you
follow the pattern and adapt it as necessary.
3. They are expressive: Design patterns provide a common
vocabulary of solutions, which you can use to express
larger solutions succinctly.
It is important to remember, however, that design patterns do not
guarantee success
Cont..
• It is common to think of an application as having three
main layers: presentation (UI), application logic, and
resource management. In MVC, the presentation layer
is split into controller and view.
• MVC (Model, View, Controller) is a pattern for
organising code in an application to improve
maintainability.
Imagine a photographer with his camera in a
studio. A customer asks him to take a photo of a
box.
The box is the model, the photographer is
the controller and the camera is the view.
• Model View Controller or MVC as it is popularly called, is
a software design pattern for developing web
applications. A Model View Controller pattern is made up
of the following three parts.
 Model
 View
 Controller
Model - Model represents an object or JAVA POJO
carrying data. It can also have logic to update controller if
its data changes.
The model is responsible for managing the data of the
application. It responds to the request from the view and
it also responds to instructions from the controller to
update itself.
View - View represents the visualization of the data that
model contains.
MVC is often seen in web applications, where the view is
the HTML page and the
code which gathers dynamic data for the page
Controller - Controller acts on both model and view. It
controls the data flow into model object and updates the
view whenever data changes. It keeps view and model
separate.
The controller receives the input, it validates the input
and then performs the business operation that modifies
the state of the data model.
MVC Implementation
We are going to create a Student object acting as a
model.StudentView will be a view class which can
print student details on console and
StudentController is the controller class responsible
to store data in Student object and update view
StudentView accordingly.
MVCPatternDemo, our demo class, will use
StudentController to demonstrate use of MVC pattern
What is PAC?
• The Presentation-Abstraction-
Control pattern (PAC) defines a
structure for interactive software
systems in the form of a
hierarchy of cooperating agents.
Moreover…
• Every agent is responsible for a specific
aspect of the application's functionality and
consists of three components: presentation,
abstraction, and control. This subdivision
separates the human-computer interaction
aspects of the agent from its functional core
and its communication with other agents.
Class Diagram For PAC:
As the comparison
• The PAC abstraction component corresponds
roughly to the model component of MVC.
• The presentation component in PAC is a
combination of the view and control
components in MVC.
• The control component of PAC mediates
between agents and has no equivalent in
MVC.
Example
Context
• Interactive systems can often be viewed as a set of
cooperating agents.
– Agents specialized in human-computer interaction accept user
input and display data.
– Other agents maintain the data model of the system and offer
functionality that operates on this data.
– Additional agents are responsible for diverse tasks such as
error handling or communication with other software
systems.
• Besides this horizontal decomposition of system functionality,
we often encounter a vertical decomposition.
• In such an architecture of cooperating agents, each agent is
specialized for a specific task, and all agents together provide
the system functionality. This architecture captures both a
horizontal and vertical decomposition.
Pattern oriented architecture for web based architecture
How it works?
• The agent's presentation component provides
the visible behavior of the PAC agent.
• Its abstraction component maintains the data
model that underlies the agent, and provides
functionality that operates on this data.
• Its control component connects the
presentation and abstraction components,
and provides functionality that allows the
agent to communicate with other PAC agents.
Pattern oriented architecture for web based architecture
Top-Level
• The top-level PAC agent provides the
functional core of the system.
– The top-level PAC agent includes those parts of
the user interface that cannot be assigned to
particular subtasks, such as menu bars or a
dialog box displaying information about the
application.
– Most other PAC agents depend or operate on
this core.
Bottom-level
• Bottom-level PAC agents represent self-
contained concepts on which users of the
system can act, such as spreadsheets and
charts.
– The bottom-level agents present these concepts to the user and
support all operations that users can perform on these agents, such as
zooming or moving a chart.
Intermediate-level
• Intermediate-level PAC agents represent
either combinations of, or relationships
between, lower-level agents, e.g. a floor plan
and an external view of a house in a CAD
system for architecture.
PAC Benefits
• Support for change and extension.
– Changes within the presentation or abstraction
components of a PAC agent do not affect other
agents in the system.
– New agents are easily integrated into an existing
PAC architecture without major changes to
existing PAC agents.
• Support for multitasking.
– PAC agents can be distributed easily to different
threads, processes, or machines. Extending a PAC
agent with appropriate inter-process
communication functionality only affects its
control component.
Liability of PAC
• Increased system complexity.
• Complex control component.
• Efficiency.
• Applicability.
Ad

More Related Content

What's hot (20)

Web apps architecture
Web apps architectureWeb apps architecture
Web apps architecture
Tanmoy Barman
 
N-tier and oop - moving across technologies
N-tier and oop - moving across technologiesN-tier and oop - moving across technologies
N-tier and oop - moving across technologies
Jacinto Limjap
 
J2 ee archi
J2 ee archiJ2 ee archi
J2 ee archi
saurabhshertukde
 
An Introduction to Multilayered Software Architecture
An Introduction to Multilayered Software ArchitectureAn Introduction to Multilayered Software Architecture
An Introduction to Multilayered Software Architecture
Andrei Pîrjoleanu
 
Web engineering - MVC
Web engineering - MVCWeb engineering - MVC
Web engineering - MVC
Nosheen Qamar
 
Web architecture pocket guide
Web architecture pocket guideWeb architecture pocket guide
Web architecture pocket guide
meroooo
 
Model View Controller (MVC)
Model View Controller (MVC)Model View Controller (MVC)
Model View Controller (MVC)
Javier Antonio Humarán Peñuñuri
 
3 Tier Architecture
3  Tier Architecture3  Tier Architecture
3 Tier Architecture
Webx
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding Guide
Mohammed Fazuluddin
 
Deep Dive: MVC Controller Architecture
Deep Dive: MVC Controller ArchitectureDeep Dive: MVC Controller Architecture
Deep Dive: MVC Controller Architecture
Chris Eargle
 
Jsp with mvc
Jsp with mvcJsp with mvc
Jsp with mvc
vamsitricks
 
Layered architecture style
Layered architecture styleLayered architecture style
Layered architecture style
Begench Suhanov
 
2 tier and 3 tier architecture
2 tier and 3 tier architecture2 tier and 3 tier architecture
2 tier and 3 tier architecture
baabtra.com - No. 1 supplier of quality freshers
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
stanbridge
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVC
Anton Krasnoshchok
 
3 tier architecture
3 tier architecture3 tier architecture
3 tier architecture
baabtra.com - No. 1 supplier of quality freshers
 
Principles of MVC for Rails Developers
Principles of MVC for Rails DevelopersPrinciples of MVC for Rails Developers
Principles of MVC for Rails Developers
Edureka!
 
two tier and three tier
two tier and three tiertwo tier and three tier
two tier and three tier
Kashafnaz2
 
Day1
Day1Day1
Day1
madamewoolf
 
[2015/2016] User experience design of mobil apps
[2015/2016] User experience design of mobil apps[2015/2016] User experience design of mobil apps
[2015/2016] User experience design of mobil apps
Ivano Malavolta
 
Web apps architecture
Web apps architectureWeb apps architecture
Web apps architecture
Tanmoy Barman
 
N-tier and oop - moving across technologies
N-tier and oop - moving across technologiesN-tier and oop - moving across technologies
N-tier and oop - moving across technologies
Jacinto Limjap
 
An Introduction to Multilayered Software Architecture
An Introduction to Multilayered Software ArchitectureAn Introduction to Multilayered Software Architecture
An Introduction to Multilayered Software Architecture
Andrei Pîrjoleanu
 
Web engineering - MVC
Web engineering - MVCWeb engineering - MVC
Web engineering - MVC
Nosheen Qamar
 
Web architecture pocket guide
Web architecture pocket guideWeb architecture pocket guide
Web architecture pocket guide
meroooo
 
3 Tier Architecture
3  Tier Architecture3  Tier Architecture
3 Tier Architecture
Webx
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding Guide
Mohammed Fazuluddin
 
Deep Dive: MVC Controller Architecture
Deep Dive: MVC Controller ArchitectureDeep Dive: MVC Controller Architecture
Deep Dive: MVC Controller Architecture
Chris Eargle
 
Layered architecture style
Layered architecture styleLayered architecture style
Layered architecture style
Begench Suhanov
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
stanbridge
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVC
Anton Krasnoshchok
 
Principles of MVC for Rails Developers
Principles of MVC for Rails DevelopersPrinciples of MVC for Rails Developers
Principles of MVC for Rails Developers
Edureka!
 
two tier and three tier
two tier and three tiertwo tier and three tier
two tier and three tier
Kashafnaz2
 
[2015/2016] User experience design of mobil apps
[2015/2016] User experience design of mobil apps[2015/2016] User experience design of mobil apps
[2015/2016] User experience design of mobil apps
Ivano Malavolta
 

Viewers also liked (12)

Modern UX, UI, and front-end tools
Modern UX, UI, and front-end toolsModern UX, UI, and front-end tools
Modern UX, UI, and front-end tools
Alan Roy
 
JavaScript and UI Architecture Best Practices
JavaScript and UI Architecture Best PracticesJavaScript and UI Architecture Best Practices
JavaScript and UI Architecture Best Practices
Siarhei Barysiuk
 
Its all about the domain honey
Its all about the domain honeyIts all about the domain honey
Its all about the domain honey
Carola Lilienthal
 
Große ziele kleine schritte
Große ziele kleine schritteGroße ziele kleine schritte
Große ziele kleine schritte
Carola Lilienthal
 
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented ArchitectureWSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
WSO2
 
Langlebige architekturen
Langlebige architekturenLanglebige architekturen
Langlebige architekturen
Carola Lilienthal
 
Technische Schulden in Architekturen erkennen und beseitigen
Technische Schulden in Architekturen erkennen und beseitigenTechnische Schulden in Architekturen erkennen und beseitigen
Technische Schulden in Architekturen erkennen und beseitigen
Carola Lilienthal
 
High Scalability by Example – How can Web-Architecture scale like Facebook, T...
High Scalability by Example – How can Web-Architecture scale like Facebook, T...High Scalability by Example – How can Web-Architecture scale like Facebook, T...
High Scalability by Example – How can Web-Architecture scale like Facebook, T...
Robert Mederer
 
7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications
David Mitzenmacher
 
29 Essential AngularJS Interview Questions
29 Essential AngularJS Interview Questions29 Essential AngularJS Interview Questions
29 Essential AngularJS Interview Questions
Arc & Codementor
 
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overviewEnterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Winton Winton
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web App
scothis
 
Modern UX, UI, and front-end tools
Modern UX, UI, and front-end toolsModern UX, UI, and front-end tools
Modern UX, UI, and front-end tools
Alan Roy
 
JavaScript and UI Architecture Best Practices
JavaScript and UI Architecture Best PracticesJavaScript and UI Architecture Best Practices
JavaScript and UI Architecture Best Practices
Siarhei Barysiuk
 
Its all about the domain honey
Its all about the domain honeyIts all about the domain honey
Its all about the domain honey
Carola Lilienthal
 
Große ziele kleine schritte
Große ziele kleine schritteGroße ziele kleine schritte
Große ziele kleine schritte
Carola Lilienthal
 
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented ArchitectureWSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
WSO2
 
Technische Schulden in Architekturen erkennen und beseitigen
Technische Schulden in Architekturen erkennen und beseitigenTechnische Schulden in Architekturen erkennen und beseitigen
Technische Schulden in Architekturen erkennen und beseitigen
Carola Lilienthal
 
High Scalability by Example – How can Web-Architecture scale like Facebook, T...
High Scalability by Example – How can Web-Architecture scale like Facebook, T...High Scalability by Example – How can Web-Architecture scale like Facebook, T...
High Scalability by Example – How can Web-Architecture scale like Facebook, T...
Robert Mederer
 
7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications
David Mitzenmacher
 
29 Essential AngularJS Interview Questions
29 Essential AngularJS Interview Questions29 Essential AngularJS Interview Questions
29 Essential AngularJS Interview Questions
Arc & Codementor
 
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overviewEnterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Winton Winton
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web App
scothis
 
Ad

Similar to Pattern oriented architecture for web based architecture (20)

Design pattern
Design patternDesign pattern
Design pattern
Pawan Kumar Tiwari
 
Design Pattern
Design PatternDesign Pattern
Design Pattern
Pawan Kumar Tiwari
 
Interaction-Oriented Architecture.pptx
Interaction-Oriented Architecture.pptxInteraction-Oriented Architecture.pptx
Interaction-Oriented Architecture.pptx
Godwin Monserate
 
MVC
MVCMVC
MVC
Ravi Bansal
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
stanbridge
 
Task 2 - Educational Article – Model View Controller (MVC)
Task 2 - Educational Article – Model View Controller (MVC)Task 2 - Educational Article – Model View Controller (MVC)
Task 2 - Educational Article – Model View Controller (MVC)
Shubham Goenka
 
Final project presentation at arba minch university (3).pptx
Final project presentation at arba minch  university  (3).pptxFinal project presentation at arba minch  university  (3).pptx
Final project presentation at arba minch university (3).pptx
LiulAbera
 
06 fse design
06 fse design06 fse design
06 fse design
Mohesh Chandran
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software Engineering
Meghaj Mallick
 
software engineering unit-3 in software engineering
software engineering unit-3 in software engineeringsoftware engineering unit-3 in software engineering
software engineering unit-3 in software engineering
terala1
 
MVC.pptx
MVC.pptxMVC.pptx
MVC.pptx
HassanAliKhan36
 
MVC
MVCMVC
MVC
Iman Mehmandoust
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part i
Bisrat Girma
 
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and WorkingIRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET Journal
 
10.1.1.107.2618
10.1.1.107.261810.1.1.107.2618
10.1.1.107.2618
Jay van Zyl
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitecture
ABDEL RAHMAN KARIM
 
Company visitor management system projec report.pdf
Company visitor management system projec report.pdfCompany visitor management system projec report.pdf
Company visitor management system projec report.pdf
Kamal Acharya
 
Ppt slides 05
Ppt slides 05Ppt slides 05
Ppt slides 05
locpx
 
Object oriented sad-5 part ii
Object oriented sad-5 part iiObject oriented sad-5 part ii
Object oriented sad-5 part ii
Bisrat Girma
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
taxegap762
 
Interaction-Oriented Architecture.pptx
Interaction-Oriented Architecture.pptxInteraction-Oriented Architecture.pptx
Interaction-Oriented Architecture.pptx
Godwin Monserate
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
stanbridge
 
Task 2 - Educational Article – Model View Controller (MVC)
Task 2 - Educational Article – Model View Controller (MVC)Task 2 - Educational Article – Model View Controller (MVC)
Task 2 - Educational Article – Model View Controller (MVC)
Shubham Goenka
 
Final project presentation at arba minch university (3).pptx
Final project presentation at arba minch  university  (3).pptxFinal project presentation at arba minch  university  (3).pptx
Final project presentation at arba minch university (3).pptx
LiulAbera
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software Engineering
Meghaj Mallick
 
software engineering unit-3 in software engineering
software engineering unit-3 in software engineeringsoftware engineering unit-3 in software engineering
software engineering unit-3 in software engineering
terala1
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part i
Bisrat Girma
 
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and WorkingIRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET Journal
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitecture
ABDEL RAHMAN KARIM
 
Company visitor management system projec report.pdf
Company visitor management system projec report.pdfCompany visitor management system projec report.pdf
Company visitor management system projec report.pdf
Kamal Acharya
 
Ppt slides 05
Ppt slides 05Ppt slides 05
Ppt slides 05
locpx
 
Object oriented sad-5 part ii
Object oriented sad-5 part iiObject oriented sad-5 part ii
Object oriented sad-5 part ii
Bisrat Girma
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
taxegap762
 
Ad

Recently uploaded (20)

Chemotherapy of Malignancy -Anticancer.pptx
Chemotherapy of Malignancy -Anticancer.pptxChemotherapy of Malignancy -Anticancer.pptx
Chemotherapy of Malignancy -Anticancer.pptx
Mayuri Chavan
 
How To Maximize Sales Performance using Odoo 18 Diverse views in sales module
How To Maximize Sales Performance using Odoo 18 Diverse views in sales moduleHow To Maximize Sales Performance using Odoo 18 Diverse views in sales module
How To Maximize Sales Performance using Odoo 18 Diverse views in sales module
Celine George
 
Mental Health Assessment in 5th semester bsc. nursing and also used in 2nd ye...
Mental Health Assessment in 5th semester bsc. nursing and also used in 2nd ye...Mental Health Assessment in 5th semester bsc. nursing and also used in 2nd ye...
Mental Health Assessment in 5th semester bsc. nursing and also used in 2nd ye...
parmarjuli1412
 
spinal cord disorders (Myelopathies and radiculoapthies)
spinal cord disorders (Myelopathies and radiculoapthies)spinal cord disorders (Myelopathies and radiculoapthies)
spinal cord disorders (Myelopathies and radiculoapthies)
Mohamed Rizk Khodair
 
What is the Philosophy of Statistics? (and how I was drawn to it)
What is the Philosophy of Statistics? (and how I was drawn to it)What is the Philosophy of Statistics? (and how I was drawn to it)
What is the Philosophy of Statistics? (and how I was drawn to it)
jemille6
 
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Leonel Morgado
 
antiquity of writing in ancient India- literary & archaeological evidence
antiquity of writing in ancient India- literary & archaeological evidenceantiquity of writing in ancient India- literary & archaeological evidence
antiquity of writing in ancient India- literary & archaeological evidence
PrachiSontakke5
 
Botany Assignment Help Guide - Academic Excellence
Botany Assignment Help Guide - Academic ExcellenceBotany Assignment Help Guide - Academic Excellence
Botany Assignment Help Guide - Academic Excellence
online college homework help
 
All About the 990 Unlocking Its Mysteries and Its Power.pdf
All About the 990 Unlocking Its Mysteries and Its Power.pdfAll About the 990 Unlocking Its Mysteries and Its Power.pdf
All About the 990 Unlocking Its Mysteries and Its Power.pdf
TechSoup
 
MEDICAL BIOLOGY MCQS BY. DR NASIR MUSTAFA
MEDICAL BIOLOGY MCQS  BY. DR NASIR MUSTAFAMEDICAL BIOLOGY MCQS  BY. DR NASIR MUSTAFA
MEDICAL BIOLOGY MCQS BY. DR NASIR MUSTAFA
Dr. Nasir Mustafa
 
Ajanta Paintings: Study as a Source of History
Ajanta Paintings: Study as a Source of HistoryAjanta Paintings: Study as a Source of History
Ajanta Paintings: Study as a Source of History
Virag Sontakke
 
Module 1: Foundations of Research
Module 1: Foundations of ResearchModule 1: Foundations of Research
Module 1: Foundations of Research
drroxannekemp
 
Cultivation Practice of Turmeric in Nepal.pptx
Cultivation Practice of Turmeric in Nepal.pptxCultivation Practice of Turmeric in Nepal.pptx
Cultivation Practice of Turmeric in Nepal.pptx
UmeshTimilsina1
 
*"Sensing the World: Insect Sensory Systems"*
*"Sensing the World: Insect Sensory Systems"**"Sensing the World: Insect Sensory Systems"*
*"Sensing the World: Insect Sensory Systems"*
Arshad Shaikh
 
CNS infections (encephalitis, meningitis & Brain abscess
CNS infections (encephalitis, meningitis & Brain abscessCNS infections (encephalitis, meningitis & Brain abscess
CNS infections (encephalitis, meningitis & Brain abscess
Mohamed Rizk Khodair
 
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptxANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
Mayuri Chavan
 
The History of Kashmir Karkota Dynasty NEP.pptx
The History of Kashmir Karkota Dynasty NEP.pptxThe History of Kashmir Karkota Dynasty NEP.pptx
The History of Kashmir Karkota Dynasty NEP.pptx
Arya Mahila P. G. College, Banaras Hindu University, Varanasi, India.
 
How to Share Accounts Between Companies in Odoo 18
How to Share Accounts Between Companies in Odoo 18How to Share Accounts Between Companies in Odoo 18
How to Share Accounts Between Companies in Odoo 18
Celine George
 
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
Celine George
 
How to Configure Public Holidays & Mandatory Days in Odoo 18
How to Configure Public Holidays & Mandatory Days in Odoo 18How to Configure Public Holidays & Mandatory Days in Odoo 18
How to Configure Public Holidays & Mandatory Days in Odoo 18
Celine George
 
Chemotherapy of Malignancy -Anticancer.pptx
Chemotherapy of Malignancy -Anticancer.pptxChemotherapy of Malignancy -Anticancer.pptx
Chemotherapy of Malignancy -Anticancer.pptx
Mayuri Chavan
 
How To Maximize Sales Performance using Odoo 18 Diverse views in sales module
How To Maximize Sales Performance using Odoo 18 Diverse views in sales moduleHow To Maximize Sales Performance using Odoo 18 Diverse views in sales module
How To Maximize Sales Performance using Odoo 18 Diverse views in sales module
Celine George
 
Mental Health Assessment in 5th semester bsc. nursing and also used in 2nd ye...
Mental Health Assessment in 5th semester bsc. nursing and also used in 2nd ye...Mental Health Assessment in 5th semester bsc. nursing and also used in 2nd ye...
Mental Health Assessment in 5th semester bsc. nursing and also used in 2nd ye...
parmarjuli1412
 
spinal cord disorders (Myelopathies and radiculoapthies)
spinal cord disorders (Myelopathies and radiculoapthies)spinal cord disorders (Myelopathies and radiculoapthies)
spinal cord disorders (Myelopathies and radiculoapthies)
Mohamed Rizk Khodair
 
What is the Philosophy of Statistics? (and how I was drawn to it)
What is the Philosophy of Statistics? (and how I was drawn to it)What is the Philosophy of Statistics? (and how I was drawn to it)
What is the Philosophy of Statistics? (and how I was drawn to it)
jemille6
 
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Leonel Morgado
 
antiquity of writing in ancient India- literary & archaeological evidence
antiquity of writing in ancient India- literary & archaeological evidenceantiquity of writing in ancient India- literary & archaeological evidence
antiquity of writing in ancient India- literary & archaeological evidence
PrachiSontakke5
 
Botany Assignment Help Guide - Academic Excellence
Botany Assignment Help Guide - Academic ExcellenceBotany Assignment Help Guide - Academic Excellence
Botany Assignment Help Guide - Academic Excellence
online college homework help
 
All About the 990 Unlocking Its Mysteries and Its Power.pdf
All About the 990 Unlocking Its Mysteries and Its Power.pdfAll About the 990 Unlocking Its Mysteries and Its Power.pdf
All About the 990 Unlocking Its Mysteries and Its Power.pdf
TechSoup
 
MEDICAL BIOLOGY MCQS BY. DR NASIR MUSTAFA
MEDICAL BIOLOGY MCQS  BY. DR NASIR MUSTAFAMEDICAL BIOLOGY MCQS  BY. DR NASIR MUSTAFA
MEDICAL BIOLOGY MCQS BY. DR NASIR MUSTAFA
Dr. Nasir Mustafa
 
Ajanta Paintings: Study as a Source of History
Ajanta Paintings: Study as a Source of HistoryAjanta Paintings: Study as a Source of History
Ajanta Paintings: Study as a Source of History
Virag Sontakke
 
Module 1: Foundations of Research
Module 1: Foundations of ResearchModule 1: Foundations of Research
Module 1: Foundations of Research
drroxannekemp
 
Cultivation Practice of Turmeric in Nepal.pptx
Cultivation Practice of Turmeric in Nepal.pptxCultivation Practice of Turmeric in Nepal.pptx
Cultivation Practice of Turmeric in Nepal.pptx
UmeshTimilsina1
 
*"Sensing the World: Insect Sensory Systems"*
*"Sensing the World: Insect Sensory Systems"**"Sensing the World: Insect Sensory Systems"*
*"Sensing the World: Insect Sensory Systems"*
Arshad Shaikh
 
CNS infections (encephalitis, meningitis & Brain abscess
CNS infections (encephalitis, meningitis & Brain abscessCNS infections (encephalitis, meningitis & Brain abscess
CNS infections (encephalitis, meningitis & Brain abscess
Mohamed Rizk Khodair
 
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptxANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
Mayuri Chavan
 
How to Share Accounts Between Companies in Odoo 18
How to Share Accounts Between Companies in Odoo 18How to Share Accounts Between Companies in Odoo 18
How to Share Accounts Between Companies in Odoo 18
Celine George
 
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
Celine George
 
How to Configure Public Holidays & Mandatory Days in Odoo 18
How to Configure Public Holidays & Mandatory Days in Odoo 18How to Configure Public Holidays & Mandatory Days in Odoo 18
How to Configure Public Holidays & Mandatory Days in Odoo 18
Celine George
 

Pattern oriented architecture for web based architecture

  • 1. Abstract • The web is being used for applications that contain significant business logic complexity and have considerable user interface requirements. Unfortunately, the limitations of the existing web infrastructure mean that purely event- based user interaction is unsuitable within web applications. Nevertheless, we believe that integrating event-based user interaction in certain parts of a large web application will have positive effects if a suitable architecture is used. In this paper, we explore an architecture that accommodates a partial integration of an event-driven user interface. We also suggest ways in which the interaction of user is better using various Design and Architectural Pattern.
  • 2. Web Based Application Architecture
  • 3. Three Layer Architecture • Presentation layer • Application or Business Layer • Data Access Layer
  • 4. Presentation Layer For most business applications, a form metaphor is used to structure the presentation layer. The application consists of a series of forms (pages) with which the user interacts. Each form contains a number of fields that display output from lower layers and collect user input. Two types of components that implement forms- based user interfaces are: • User interface components • User interface process components
  • 5. Application/Business Layer • Large enterprise applications are often structured around the concepts of business processes and business components. These concepts are addressed through a number of components, entities, agents, and interfaces in the business layer. – Business Components – Business Workflows – Business Entities – Business Interface
  • 6. Data Access Layer • Data access components in this data layer are responsible for exposing the data stored in these databases to the business layer. – Data Access Components – Service Gateways
  • 7. Why do we need these patterns  If we can certainly build software applications without using any of these patterns, but by using these patterns we can achieve separation of concerns design principle.  These help in improving maintainability of the application.  Another important reason why these patterns became popular is implementing these patterns improve the testability of the application using automated unit tests
  • 8. Design Pattern Classification • Creational Patterns • Structural Patterns • Behavioral Pattern
  • 9. Separation on Concern(SoC) • Separation of concerns (SoC) is a design principle for separating a computer program into distinct sections, such that each section addresses a separate concern. A concern is a set of information that affects the code of a computer program. A concern can be as general as the details of the hardware the code is being optimized for, or as specific as the name of a class to instantiate. A program that embodies SoC well is called a modular program. Modularity, and hence separation of concerns, is achieved by encapsulating information inside a section of code that has a well-defined interface. Encapsulation is a means of information hiding. Layered designs in information systems are another embodiment of separation of concerns (e.g., presentation layer, business logic layer, data access layer, persistence layer).
  • 10. Model View Controller (MVC) architecture Design patterns: A design pattern describes a proven solution to a recurring design problem, placing particular emphasis on the context and forces surrounding the problem, and the consequences and impact of the solution. There are many good reasons to use design patterns: 1. They are proven: You tap the experience, knowledge and insights of developers who have used these patterns successfully in their own work. 2. They are reusable: When a problem recurs, you don’t have to invent a new solution; you follow the pattern and adapt it as necessary. 3. They are expressive: Design patterns provide a common vocabulary of solutions, which you can use to express larger solutions succinctly. It is important to remember, however, that design patterns do not guarantee success
  • 11. Cont.. • It is common to think of an application as having three main layers: presentation (UI), application logic, and resource management. In MVC, the presentation layer is split into controller and view. • MVC (Model, View, Controller) is a pattern for organising code in an application to improve maintainability. Imagine a photographer with his camera in a studio. A customer asks him to take a photo of a box. The box is the model, the photographer is the controller and the camera is the view.
  • 12. • Model View Controller or MVC as it is popularly called, is a software design pattern for developing web applications. A Model View Controller pattern is made up of the following three parts.  Model  View  Controller
  • 13. Model - Model represents an object or JAVA POJO carrying data. It can also have logic to update controller if its data changes. The model is responsible for managing the data of the application. It responds to the request from the view and it also responds to instructions from the controller to update itself. View - View represents the visualization of the data that model contains. MVC is often seen in web applications, where the view is the HTML page and the code which gathers dynamic data for the page Controller - Controller acts on both model and view. It controls the data flow into model object and updates the view whenever data changes. It keeps view and model separate. The controller receives the input, it validates the input and then performs the business operation that modifies the state of the data model.
  • 14. MVC Implementation We are going to create a Student object acting as a model.StudentView will be a view class which can print student details on console and StudentController is the controller class responsible to store data in Student object and update view StudentView accordingly.
  • 15. MVCPatternDemo, our demo class, will use StudentController to demonstrate use of MVC pattern
  • 16. What is PAC? • The Presentation-Abstraction- Control pattern (PAC) defines a structure for interactive software systems in the form of a hierarchy of cooperating agents.
  • 17. Moreover… • Every agent is responsible for a specific aspect of the application's functionality and consists of three components: presentation, abstraction, and control. This subdivision separates the human-computer interaction aspects of the agent from its functional core and its communication with other agents. Class Diagram For PAC:
  • 18. As the comparison • The PAC abstraction component corresponds roughly to the model component of MVC. • The presentation component in PAC is a combination of the view and control components in MVC. • The control component of PAC mediates between agents and has no equivalent in MVC.
  • 20. Context • Interactive systems can often be viewed as a set of cooperating agents. – Agents specialized in human-computer interaction accept user input and display data. – Other agents maintain the data model of the system and offer functionality that operates on this data. – Additional agents are responsible for diverse tasks such as error handling or communication with other software systems. • Besides this horizontal decomposition of system functionality, we often encounter a vertical decomposition. • In such an architecture of cooperating agents, each agent is specialized for a specific task, and all agents together provide the system functionality. This architecture captures both a horizontal and vertical decomposition.
  • 22. How it works? • The agent's presentation component provides the visible behavior of the PAC agent. • Its abstraction component maintains the data model that underlies the agent, and provides functionality that operates on this data. • Its control component connects the presentation and abstraction components, and provides functionality that allows the agent to communicate with other PAC agents.
  • 24. Top-Level • The top-level PAC agent provides the functional core of the system. – The top-level PAC agent includes those parts of the user interface that cannot be assigned to particular subtasks, such as menu bars or a dialog box displaying information about the application. – Most other PAC agents depend or operate on this core.
  • 25. Bottom-level • Bottom-level PAC agents represent self- contained concepts on which users of the system can act, such as spreadsheets and charts. – The bottom-level agents present these concepts to the user and support all operations that users can perform on these agents, such as zooming or moving a chart.
  • 26. Intermediate-level • Intermediate-level PAC agents represent either combinations of, or relationships between, lower-level agents, e.g. a floor plan and an external view of a house in a CAD system for architecture.
  • 27. PAC Benefits • Support for change and extension. – Changes within the presentation or abstraction components of a PAC agent do not affect other agents in the system. – New agents are easily integrated into an existing PAC architecture without major changes to existing PAC agents. • Support for multitasking. – PAC agents can be distributed easily to different threads, processes, or machines. Extending a PAC agent with appropriate inter-process communication functionality only affects its control component.
  • 28. Liability of PAC • Increased system complexity. • Complex control component. • Efficiency. • Applicability.

Editor's Notes

  • #14: POJO Plain Old Java Object is an ordinary java object ,not bound by any special restrication .the term java object
  翻译: