Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.

Slides:



Advertisements
Similar presentations
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
Advertisements

Chapter 10: Designing Databases
Apache Struts Technology
Chapter 9: The Traditional Approach to Design Chapter 10 Systems Analysis and Design in a Changing World, 3 rd Edition.
Web Applications Development Using Coldbox Platform Eddie Johnston.
Objectives In this session, you will learn to:
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
8.
CSLA Presenter Sergey Barskiy, senior consultant at Magenic Technologies your questions Send an in order.
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
Model-View-Controller ("MVC") This is a architectural design pattern for interactive applications. This design pattern organizes an interactive application.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Software Architecture Patterns (2). what is architecture? (recap) o an overall blueprint/model describing the structures and properties of a "system"
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
Apache Struts Technology A MVC Framework for Java Web Applications.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
UNIT-V The MVC architecture and Struts Framework.
Architecture of Enterprise Systems: Domain Model and Database layer
Design I: Web Application Architecture and Patterns Peter Dolog dolog [at] cs [dot] aau [dot] dk Intelligent Web and Information Systems September.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
The Design Discipline.
Entity Framework Code First End to End
MVC and MVP. References enter.html enter.html
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
Todd Snyder Development Team Lead Infragistics Experience Design Group.
An Introduction to Software Architecture
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
1 Another group of Patterns Architectural Patterns.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Presentation. Recap A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate. Taken advantage of Spring’s multi layer.
DDI & Model-View-Controller: An Architectural Perspective Dennis Wegener, Matthäus Zloch, Thomas Bosch (GESIS) Dagstuhl,
Alcatel-Lucent CDC Workshop, Coaching & Knowledge Transfer Architecture.
1 Mapping to Relational Databases Presented by Ramona Su.
Pertemuan 10 Enterprise Application Patterns Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.
Core Indigo Patterns Ted Neward
Chapter 38 Persistence Framework with Patterns 1CS6359 Fall 2011 John Cole.
Overview Web Session 3 Matakuliah: Web Database Tahun: 2008.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Copyright © 2002 ProsoftTraining. All rights reserved. JavaServer Pages.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
SOEN 6011 Software Engineering Processes Section SS Fall 2007 Dr Greg Butler
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
IAD 2263: System Analysis and Design Chapter 7: Designing System Databases, Interfaces and Security.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Architectural Patterns Support Lecture Patterns Pattern: A representation of a proven solution. Problem Applicable Forces Solution Consequences Benefits.
SEA Side – Extreme Programming 1 SEA Side Software Engineering Annotations Architectural Patterns Professor Sara Stoecklin Director of Software Engineering-
CS223: Software Engineering
APACHE STRUTS ASHISH SINGH TOMAR ast2124. OUTLINE Introduction The Model-View-Controller Design Pattern Struts’ implementation of the MVC Pattern Additional.
Gerhard Dueck -- CS3013Architecture 1 Architecture-Centric Process  There is more to software development then going blindly through the workflows driven.
Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the Web presented by Kedar Desai Differential Technologies,
Apache Struts Technology A MVC Framework for Java Web Applications.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
Multi-Device UI Development for Task-Continuous Cross-Channel Web Applications Enes Yigitbas, Thomas Kern, Patrick Urban, Stefan Sauer
Introduction to .NET Florin Olariu
MVC Architecture, Symfony Framework for PHP Web Apps
MVC and other n-tier Architectures
OO Methodology OO Architecture.
Software Design and Architecture
Part 3 Design What does design mean in different fields?
Design and Maintenance of Web Applications in J2EE
Enterprise Architecture Patterns
Lecture 1: Multi-tier Architecture Overview
Analysis models and design models
Presentation transcript:

Architectural Patterns Support Lecture

Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture for this presentation is l The modules, processes, interconnections, and protocols which constitute the deployed software system. l Different from the behavioral architecture which describes how the business classes execute the business processes.

Architecture Specification l Document which defines in text and diagrams the design, flow and technologies of the design. l Shows how persistence, communication, and behavior are to be implemented in the system.

Architectural Layers - Patterns Presentation interactions with the user – HTML, thick client, MVC, web services Domain (Logic) Business rules, validations, calculations, verifications Data Storage database Environmental Session management, messaging

Presentation Architectural Patterns l Presentation interactions with the user l No Client l Thick Client (rich client) l Thin Client

Presentation Architectural Patterns l Model View Controller l Application Controller l Input Controller Page Controller Front Controller l View Controller Template View Transform View Two Step View

Model View Controller Separation of Presentation (View/Controller) from Domain (Model) Separation of View and Controller Model – Domain object View – Presentation object Controller – Controller object to handle user request/response

Application Controller A centralized point for handling screen navigation and flow of an application. Application Controller – determines which type of input is needed or which screen. Input Controller View Application Controller Domain Layer

Application Controller

l A single point of control to change program flow and navigation l May be in mediating layer between the presentation and the domain l May be reusable across various presentations l Testable outside the UI framework.

Front Controller

Page Controller

Front vs Page Controller l Front Controller Single point for adding behavior Can add behavior dynamically (filter pattern) Use with more complex applications l Page Controller Simple - Input controller per page Don’t put controller logic into scriplets – use separate classes More prone to duplicate code with this controller

Template View

Transform View

Example

Data Storage l Need mechanisms to allow RDBMS to communicate in the OO world. l With OO databases none of these patterns necessary. l Useful even if non-OO language wants to communicate with RDBMS to make the DB flexible to change in type and to make the data representation protected.

Data Storage Patterns l Table Data Gateway l Row Data Gateway l Active Record l Data Mapper l Structural Patterns Foreign Key Mapping, Identify Field Association, Table Mapping, Single Table Inheritance.

Table Data Gateway

Row Data Gateway

Row Data Gateway (2)

Active Record

Data Mapper

Distribution Patterns l Remote Façade l Data Transfer Object

Remote Facade

Data Transfer Object

Summary l No one patterns is an end all l Patterns are mechanisms to help decompose applications into reusable, maintainable, modules. l The layers of development help to define the needed patterns l No pattern is always correct -- fit the application.