SlideShare ist ein Scribd-Unternehmen logo
1 von 28
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.
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.
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Web apps architecture
Web apps architectureWeb apps architecture
Web apps architectureTanmoy 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 technologiesJacinto Limjap
 
An Introduction to Multilayered Software Architecture
An Introduction to Multilayered Software ArchitectureAn Introduction to Multilayered Software Architecture
An Introduction to Multilayered Software ArchitectureAndrei Pîrjoleanu
 
Web engineering - MVC
Web engineering - MVCWeb engineering - MVC
Web engineering - MVCNosheen Qamar
 
Web architecture pocket guide
Web architecture pocket guideWeb architecture pocket guide
Web architecture pocket guidemeroooo
 
3 Tier Architecture
3  Tier Architecture3  Tier Architecture
3 Tier ArchitectureWebx
 
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 GuideMohammed Fazuluddin
 
Deep Dive: MVC Controller Architecture
Deep Dive: MVC Controller ArchitectureDeep Dive: MVC Controller Architecture
Deep Dive: MVC Controller ArchitectureChris Eargle
 
Layered architecture style
Layered architecture styleLayered architecture style
Layered architecture styleBegench 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 1stanbridge
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCAnton Krasnoshchok
 
Principles of MVC for Rails Developers
Principles of MVC for Rails DevelopersPrinciples of MVC for Rails Developers
Principles of MVC for Rails DevelopersEdureka!
 
two tier and three tier
two tier and three tiertwo tier and three tier
two tier and three tierKashafnaz2
 
[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 appsIvano Malavolta
 

Was ist angesagt? (20)

Web apps architecture
Web apps architectureWeb apps architecture
Web apps architecture
 
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
 
J2 ee archi
J2 ee archiJ2 ee archi
J2 ee archi
 
An Introduction to Multilayered Software Architecture
An Introduction to Multilayered Software ArchitectureAn Introduction to Multilayered Software Architecture
An Introduction to Multilayered Software Architecture
 
Web engineering - MVC
Web engineering - MVCWeb engineering - MVC
Web engineering - MVC
 
Web architecture pocket guide
Web architecture pocket guideWeb architecture pocket guide
Web architecture pocket guide
 
Model View Controller (MVC)
Model View Controller (MVC)Model View Controller (MVC)
Model View Controller (MVC)
 
3 Tier Architecture
3  Tier Architecture3  Tier Architecture
3 Tier Architecture
 
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
 
Deep Dive: MVC Controller Architecture
Deep Dive: MVC Controller ArchitectureDeep Dive: MVC Controller Architecture
Deep Dive: MVC Controller Architecture
 
Jsp with mvc
Jsp with mvcJsp with mvc
Jsp with mvc
 
Layered architecture style
Layered architecture styleLayered architecture style
Layered architecture style
 
2 tier and 3 tier architecture
2 tier and 3 tier architecture2 tier and 3 tier architecture
2 tier and 3 tier architecture
 
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
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVC
 
3 tier architecture
3 tier architecture3 tier architecture
3 tier architecture
 
Principles of MVC for Rails Developers
Principles of MVC for Rails DevelopersPrinciples of MVC for Rails Developers
Principles of MVC for Rails Developers
 
two tier and three tier
two tier and three tiertwo tier and three tier
two tier and three tier
 
Day1
Day1Day1
Day1
 
[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
 

Andere mochten auch

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 toolsAlan Roy
 
JavaScript and UI Architecture Best Practices
JavaScript and UI Architecture Best PracticesJavaScript and UI Architecture Best Practices
JavaScript and UI Architecture Best PracticesSiarhei Barysiuk
 
Its all about the domain honey
Its all about the domain honeyIts all about the domain honey
Its all about the domain honeyCarola Lilienthal
 
Große ziele kleine schritte
Große ziele kleine schritteGroße ziele kleine schritte
Große ziele kleine schritteCarola 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 ArchitectureWSO2
 
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 beseitigenCarola 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 ApplicationsDavid Mitzenmacher
 
29 Essential AngularJS Interview Questions
29 Essential AngularJS Interview Questions29 Essential AngularJS Interview Questions
29 Essential AngularJS Interview QuestionsArc & 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 overviewWinton Winton
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web Appscothis
 

Andere mochten auch (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
 
JavaScript and UI Architecture Best Practices
JavaScript and UI Architecture Best PracticesJavaScript and UI Architecture Best Practices
JavaScript and UI Architecture Best Practices
 
Its all about the domain honey
Its all about the domain honeyIts all about the domain honey
Its all about the domain honey
 
Große ziele kleine schritte
Große ziele kleine schritteGroße ziele kleine schritte
Große ziele kleine schritte
 
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
 
Langlebige architekturen
Langlebige architekturenLanglebige architekturen
Langlebige architekturen
 
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
 
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...
 
7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications
 
29 Essential AngularJS Interview Questions
29 Essential AngularJS Interview Questions29 Essential AngularJS Interview Questions
29 Essential AngularJS Interview Questions
 
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
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web App
 

Ähnlich wie Event-Driven Web App Architecture

Interaction-Oriented Architecture.pptx
Interaction-Oriented Architecture.pptxInteraction-Oriented Architecture.pptx
Interaction-Oriented Architecture.pptxGodwin 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 1stanbridge
 
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
 
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 EngineeringMeghaj Mallick
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part iBisrat 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 WorkingIRJET Journal
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitectureABDEL RAHMAN KARIM
 
Ppt slides 05
Ppt slides 05Ppt slides 05
Ppt slides 05locpx
 
Object oriented sad-5 part ii
Object oriented sad-5 part iiObject oriented sad-5 part ii
Object oriented sad-5 part iiBisrat Girma
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptxtaxegap762
 

Ähnlich wie Event-Driven Web App Architecture (20)

Design pattern
Design patternDesign pattern
Design pattern
 
Design Pattern
Design PatternDesign Pattern
Design Pattern
 
Interaction-Oriented Architecture.pptx
Interaction-Oriented Architecture.pptxInteraction-Oriented Architecture.pptx
Interaction-Oriented Architecture.pptx
 
MVC
MVCMVC
MVC
 
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
 
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)
 
06 fse design
06 fse design06 fse design
06 fse design
 
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
 
MVC.pptx
MVC.pptxMVC.pptx
MVC.pptx
 
MVC
MVCMVC
MVC
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part i
 
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
 
10.1.1.107.2618
10.1.1.107.261810.1.1.107.2618
10.1.1.107.2618
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitecture
 
Ppt slides 05
Ppt slides 05Ppt slides 05
Ppt slides 05
 
Object oriented sad-5 part ii
Object oriented sad-5 part iiObject oriented sad-5 part ii
Object oriented sad-5 part ii
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
 
Software design
Software designSoftware design
Software design
 
Software design
Software designSoftware design
Software design
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
 

Kürzlich hochgeladen

Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 

Kürzlich hochgeladen (20)

Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 

Event-Driven Web App 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.
  • 21.
  • 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.
  • 23.
  • 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.

Hinweis der Redaktion

  1. POJO Plain Old Java Object is an ordinary java object ,not bound by any special restrication .the term java object