How I spend my money Software architecture course Mohan, Maxim.

Slides:



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

Expense Tracking System Advisor : Dr. Ali Arsanjani Members: Ebe Pubudu Viduranga ( )
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
From Class Diagrams to Databases. So far we have considered “objects” Objects have attributes Objects have operations Attributes are the things you record.
INTRODUCTION The Group WEB BROWSER FOR RELATION Goals.
Collaborative Picture Gallery Project Presentation Amos Hersch Aviad Barzilai Supervisor Maxim Gurevitch Lab Chief Eng. Ilana David.
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"
GREEN CORP’S Blue Team Stock Trading System Fall 2000 Software Engineering I.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Collaboration Suite Business Process Management
Course Instructor: Aisha Azeem
SE-2840 Dr. Mark L. Hornick1 Java Servlet-based web apps Servlet Architecture.
Web 2.0 with AJAX Students : LASC Ioana KELEMEN Csilla POP Dan Adrian CIOBANU Dumitru Daniel Project leader : Ahmed RHIAT.
UNIT-V The MVC architecture and Struts Framework.
Lecture 2 - Struts ENTERPRISE JAVA. 2 Contents  Servlet Deployment  Servlet Filters  Model View Controllers  Struts  Dependency Injection.
Login Screen This is the Sign In page for the Dashboard Enter Id and Password to sign In New User Registration.
Money Tracking Project Seminar on Software Architecture Design Money Tracking Project Date: Dec 05, 2008 Group 2 Adviser: Dr. Ali Arsanjani Student group:
Enterprise Object Framework. What is EOF? Enterprise Objects Framework is a set of tools and resources that help you create applications that work with.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Software Architecture
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
JDBC Session 5 Tonight: Data Access Patterns 1.J2EE Architecture & Design Patterns 2.The Data Access Tier 3.Data Access Patterns –DataAccessObject (DAO)
NMS1.0(c) Copyright Final Year Project Demonstration Dublin City University 29 th May 2003 Team Members : David ReadeTimothy Kelly
Login Screen This is the Sign In page for the Dashboard New User Registration Enter Id and Password to sign In.
K. Jamroendararasame*, T. Matsuzaki, T. Suzuki, and T. Tokuda Department of Computer Science, Tokyo Institute of Technology, JAPAN Two Generators of Secure.
1 CHAPTER 1 OVERVIEW of JDEVELOPER. 2 Overview of JDeveloper Oracle’s JDeveloper 10g (JDeveloper) is an integrated development environment for Java programming.
Java Omar Rana University of South Asia. Course Overview JAVA  C/C++ and JAVA Comparison  OOP in JAVA  Exception Handling  Streams  Graphics User.
WaveMaker Visual AJAX Studio 4.0 Training Authentication.
Module 14: WCF Send Adapters. Overview Lesson 1: Introduction to WCF Send Adapters Lesson 2: Consuming a Web Service Lesson 3: Consuming Services from.
Design Patterns Phil Smith 28 th November Design Patterns There are many ways to produce content via Servlets and JSPs Understanding the good, the.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
J2EE Structure & Definitions Catie Welsh CSE 432
COMP3121 E-Commerce Technologies Richard Henson University of Worcester November 2011.
Oracle Application Express Security. © 2009 Oracle Corporation Authentication Out-of-the-Box Pre-Configured Schemes LDAP Directory credentials Oracle.
CEN Advanced Software Engineering
10/25/20151 Single Sign-On Web Service Supervisors: Viktor Kulikov Alexander Sherman Liana Lipstov Pavel Bilenko.
Design Patterns CSCI 5801: Software Engineering. Design Patterns.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
Amir Bishara and Dorin Danial Supervisors: Roiy Zysman Dr. Ilana David.
 Registry itself is easy and straightforward in implementation  The objects of registry are actually complicated to store and manage  Objects of Registry.
Servlet Filters JAVA Enterprise Edition. Servlet Filters Servlet Filters are Java classes that can be used in Servlet Programming for the following purposes:
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Spring MVC Essentials Getting started.
SOEN 6011 Software Engineering Processes Section SS Fall 2007 Dr Greg Butler
©2012 MasterCard. Proprietary and Confidential MASTERCARD PERSONAL EXPENSE MANAGEMENT SYSTEM – (MPEMS) Analysis and Design Phase Presented by team 2S.
© 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 State and Session Management HTTP is a stateless protocol – it has no memory of prior connections and cannot distinguish one request from another. The.
UOFS Information System Version 0.9 Yaodong Bi Copyright 2009, Yaodong Bi.
IS2803 Developing Multimedia Applications for Business (Part 2) Lecture 1: Introduction to IS2803 Rob Gleasure
Chapter 9 Web Application Design. Objectives Describe the MVC design pattern as used with Web applications Explain the role and responsibilities of each.
Architecture Overview Server Database (can be on the server or separate ) Client1 Client2 Client3 HTTP  View ppt notes pages for discussion!
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
Expense Tracking System Developed by: Ardhita Maharindra Muskan Regmi Nir Gurung Sudeep Karki Tikaprem Gurung Date: December 05 th, 2008.
SDJ INFOSOFT PVT. LTD. 2 BROWSERBROWSER JSP JavaBean DB Req Res Application Layer Enterprise server/Data Sources.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Session 29 Design of a Web Application Written by Thomas A. Pender Published by Wiley Publishing, Inc. November 2, 2011 Presented by Hyewon Kim.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
ORACLE ADF ONLINE TRAINING COURSE
Field of Dreams An Online Sporting Goods Marketplace
Use Case Model.
Server Concepts Dr. Charles W. Kann.
Sarang Nazari California State University, Los Angeles
Design and Maintenance of Web Applications in J2EE
The Model Layer What is Model?
The Islamia University Bahawalpur
This is the Sign In page for the Dashboard
Feed Order System Manual
Establish, configure and maintain a website/system
Presentation transcript:

How I spend my money Software architecture course Mohan, Maxim

Architecture UI/PL SQL Server DBAL Pipes and Filters Events Cascade Filters Intercepting Filters AJAX HTML, Javascript AL/BL JSP, Servlet; Business Logic Tom Cat DBL

Architecture detailed

Application architecture

Deployment Architecture

Use cases diagram Register User Login user Create categoryCreate transactionChange balanceGenerate Report

Design 1. Intercepting Filter Problem How do you implement common pre- and post-processing steps around Web page requests?

Intercepting Filter When the Web server receives a page request, Request Handler passes control to the FilterChain object first. This object maintains a list of all filters and calls each filter in sequence. FilterChain can read the sequence of filters from a configuration file to achieve deployment- time composability. Each filter has the chance to modify the incoming request. For example, it can modify the URL or add header fields to be used by the application. After all filters have been executed, Request Handler passes control to the controller, which executes the application functionality.

Intercepting filter implementation

Design Composite filter

Composite Pattern Use a Composite pattern to design the filtering system and provide explicit support for filter pipelines. To implement the design of the Composite Filter, you will need to design the filtering subsystem such that the filtering mechanism is encapsulated behind an interface and use the design structure of the Composite pattern to provide support for complex hierarchical and pipelined filters. The Composite pattern provides support for combining filters in a hierarchical fashion. Composite will allow you to model complex multilevel tree structure of filters but the explicit representation of pipelines is not visible in its design. Therefore, you will add first-class support for the pipeline roles in the design structure of Composite.

Cascading Filter Pattern Basic schema : Filter Pipe Filter manager

Cascading Filter Pattern Sequence diagram

Cascading Filter usage example

Other patterns Façade : Database Access Layer

Other patterns

Factory Method: Database Access Layer

Other patterns Template method: part of the composite method.

Other patterns Predicate: filters customization

JSP – Servlet Graph

Filters Used Filters List: Functional requirements: Create user. Create account. Create withdraw account transaction. Create deposit account transaction. Create items transaction. Create category. Get transaction by date, account, and user. Get items by date, name, and price. Get items by category. Create report. Non-functional requirements: Validate account number format. Validate user name format. Validate password format. Validate category name format. Validate transaction date format. Validate item name format. Validate item price format. Check user name exists. Insert user class instance into the session. Check if user instance class is present in the session. Log out. Delete user from the session

Filters used Cascading filters managers: Login user – Validate base user data Validate user name format.(Ruled Validate field filter) Validate password format.(Ruled Validate field filter) – Get user (DB level). – Insert user class instance into the session. Create user. – Validate user data Validate base user data. Validate confirm password format(Ruled Validate field filter) Check password and confirm password for quality. – Check user name exists. – Create user. (Business logic level, DB level). – Insert user class instance into the session. Get categories – Check if user instance class is present in the session. (Optional) – Get categories list (DB level). Generate categories report – Generate html report. Generate categories report Create category – Check if user instance class is present in the session. – Validate category name format.(Ruled Validate field filter) – Create category (Business logic level, DB level). – Get categories.

Filters used Create withdraw account transaction. – Check if user instance class is present in the session. – Validate transaction date format.(Ruled Validate field filter) – Validate money amount format.(Ruled Validate field filter) – Create withdraw transaction. (Business logic level) – Perform transaction. (Business logic level, DB level) Create deposit account transaction – Check if user instance class is present in the session. – Validate money amount.(Ruled Validate field filter) – Create deposit transaction. (Business logic level) – Perform transaction. (Business logic level, DB level) Create items transaction – Check if user instance class is present in the session. – Validate transaction date format.(Ruled Validate field filter) – Create items. Create item. – Validate item name format.(Ruled Validate field filter) – Validate item price format.(Ruled Validate field filter) – Check category id exists. – Create item (Business logic level). – Create transaction (Business logic level). – Perform transaction (DB logic level). Generate transaction report. – Check if user instance class is present in the session. – Validate transaction start date if exists.(Ruled Validate field filter) – Validate transaction end date if exists.(Ruled Validate field filter) – Get transaction (DB Level). – Generate html report. Get items by category report. – Check if user instance class is present in the session. – Get items by category (DB level). – Generate html report. Log out user. – Check if user instance class is present in the session. Delete user from the session

Servlets – Filters mapping

Subsystem design

Business subsystem

DBAccess Subsystem

Filters Subsystem

Onjava Subsystem

Predicate subsystem