1 Another group of Patterns Architectural Patterns.

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.
CS 432 Object-Oriented Analysis and Design
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
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.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Software Architecture Patterns (2). what is architecture? (recap) o an overall blueprint/model describing the structures and properties of a "system"
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
Apache Struts Technology A MVC Framework for Java Web Applications.
Design Patterns academy.zariba.com 1. Lecture Content 1.What are Design Patterns? 2.Creational 3.Structural 4.Behavioral 5.Architectural 6.Design Patterns.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Who am I? ● Catalin Comanici ● QA for 10 years, doing test automation for about 6 years ● fun guy and rock star wannabe.
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.
The Design Discipline.
Databases C HAPTER Chapter 10: Databases2 Databases and Structured Fields  A database is a collection of information –Typically stored as computer.
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.
POAD Distributed System Case Study: A Medical Informatics System Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 Architectural Design.
® 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.
Distributed Systems: Concepts and Design Chapter 1 Pages
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
SEA Side – Extreme Programming 1 SEA Side Software Engineering Annotations Annotation 1: Extreme Programming Professor Sara Stoecklin Director of Software.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l 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
Overview Web Session 3 Matakuliah: Web Database Tahun: 2008.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
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 ?
NOVA A Networked Object-Based EnVironment for Analysis “Framework Components for Distributed Computing” Pavel Nevski, Sasha Vanyashin, Torre Wenaus US.
SOEN 6011 Software Engineering Processes Section SS Fall 2007 Dr Greg Butler
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
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-
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
APACHE STRUTS ASHISH SINGH TOMAR ast2124. OUTLINE Introduction The Model-View-Controller Design Pattern Struts’ implementation of the MVC Pattern Additional.
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.
Building J2EE Applications Based on Design Patterns with Business Components for Java Olivier LE DIOURIS Principal Product Manager Oracle Corporation.
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.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
MVC and other n-tier Architectures
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
Systems Analysis and Design in a Changing World, 6th Edition
Analysis models and design models
Presentation transcript:

1 Another group of Patterns Architectural Patterns

2 Patterns Pattern: A representation of a proven solution. Problem Applicable Forces Solution Consequences Benefits

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

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

5 Types of Patterns Lowest Level – Programming Patterns –Iterator, if, while Design Level – Design Patterns –Factory, builder, --- gang of 4 Before Design – Architectural Patterns –Martin Fowler- presentation, domain, data storage, environment Analysis Patterns – –used in requirements analysis

6 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

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

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

9 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

10 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

11 Application Controller

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

13 Front Controller

14 Page Controller

15 Front vs Page Controller Front Controller –Single point for adding behavior –Can add behavior dynamically (filter pattern) –Use with more complex applications 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

16 Template View

17 Transform View

18 Template vs Transform vs Two Step Template View –Follows natural editing notions –Supports non=programmer editors of HTML –Needs discipline to avoid scriplets Transform View –Can test without server –Works well with XML Two Step View –Easy to make global appearance changes –Easy to support multiple appearances –Complex

19 Example

20 Data Storage Need mechanisms to allow RDBMS to communicate in the OO world. With OO databases none of these patterns necessary. 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.

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

22 Table Data Gateway

23 Row Data Gateway

24 Row Data Gateway (2)

25 Active Record

26 Data Mapper

27 Distribution Patterns Remote Façade Data Transfer Object

28 Remote Facade

29 Data Transfer Object

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

31 Computing Degrees at FSU-Panama City Math&Science Business Math&EE General Information System Degrees Scientific Degrees Management Information Systems (BS) Information Studies (Web – BS,MS) Computer Science (MS, Web-BS) Computer Engineering (BS, Web-MS)  Systems Analysis  IT Management  Computer Consulting  Application Programming  Web Development  Network Management  Information Systems  Management of Information Services  Social Informatics  Information and Communication Technologies  Embedded Systems  Image Processing  Electronics and Electromagnetics  Signals and Systems  Communications  Microprocessors  Computer Architecture  Operating Systems  Systems Programming  Applications Programming  Database Administration  Systems Administration. Degree Programs Advisor Jeanne Dexter – Advisor Alan Stromberg Advisor Kamran Imen Advisor Sara Stoecklin