Expense Tracking System Advisor : Dr. Ali Arsanjani Members: Ebe Pubudu Viduranga (12-05-2008)

Slides:



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

RNG – RSS News Generator Team Evensteven Phil LightBecky Vanderhoff Carol CoonLars Avery Madura MahenthiranChris Mamorella.
Application Architecture T H E S O C R A T E S G R O U P, I N C.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Integrating SOA and the Application Development Framework Shaun O’Brien Principal Product Manager – Oracle JDeveloper / ADF.
Technical Architectures
Applying Architectural Styles and Patterns. Outline  Defining Architectural Patterns and Style The activation model Styles and Quality Attributes  Common.
Model-View-Controller ("MVC") This is a architectural design pattern for interactive applications. This design pattern organizes an interactive application.
The Architecture Design Process
Chapter 9: Moving to Design
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Structure of a web application1 Dr Jim Briggs. MVC Structure of a web application2.
Session-01. Layers Struts 2 Framework The struts 2 framework is used to develop MVC-based web application. Struts 1.0 was released in June The.
Session-01. Hibernate Framework ? Why we use Hibernate ?
Nilesh Mandani Competencies include: Volume Licensing Enterprise Resource Planning Customer Relationship Management Business Intelligence Proposal for.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
N-Tier Architecture.
Money Tracking Project Seminar on Software Architecture Design Money Tracking Project Date: Dec 05, 2008 Group 2 Adviser: Dr. Ali Arsanjani Student group:
Object Oriented Databases by Adam Stevenson. Object Databases Became commercially popular in mid 1990’s Became commercially popular in mid 1990’s You.
31 January 2007Craig E. Ward1 Large-Scale Simulation Experimentation and Analysis Database Programming Using Java.
1 INTRO TO BUSINESS COMPONENTS FOR JAVA (BC4J) Matt Fierst Computer Resource Team OracleWorld Session
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
Traditional Web Based Application Structure Frameworks define how the application is designed, organised and deployed across various tiers.
Lecture On Database Analysis and Design By- Jesmin Akhter Lecturer, IIT, Jahangirnagar University.
COMP 410 & Sky.NET May 2 nd, What is COMP 410? Forming an independent company The customer The planning Learning teamwork.
Fundamentals of Database Chapter 7 Database Technologies.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
 Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2.
National Center for Supercomputing Applications NCSA OPIE Presentation November 2000.
Fall CIS 764 Database Systems Design L8. Web ….
Presentation. Recap A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate. Taken advantage of Spring’s multi layer.
Introduction to the Adapter Server Rob Mace June, 2008.
Team Members Team Members Tim Geiger Joe Hunsaker Kevin Kocher David May Advisor Dr. Juliet Hurtig November 8, 2001.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
Personal Computer - Stand- Alone Database  Database (or files) reside on a PC - on the hard disk.  Applications run on the same PC and directly access.
Database Architectures Database System Architectures Considerations – Data storage: Where do the data and DBMS reside? – Processing: Where.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
3-Tier Client/Server Internet Example. TIER 1 - User interface and navigation Labeled Tier 1 in the following graphic, this layer comprises the entire.
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
.  A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate.  Taken advantage of Spring’s multi layer injection.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Cheap N Fast Web Service Sandeep Anantharaman Mahim Lakhani.
Team S07. Agenda Scope of project Global use case diagram Analysis use cases High Level design (Software Architecture) Prototype challenges faced and.
How I spend my money Software architecture course Mohan, Maxim.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
JDBC Chapter 1 JDBC Introduction
Expense Tracking System Developed by: Ardhita Maharindra Muskan Regmi Nir Gurung Sudeep Karki Tikaprem Gurung Date: December 05 th, 2008.
Submitted by: Moran Mishan. Instructed by: Osnat (Ossi) Mokryn, Dr.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
PROJECT SECME Carthik A. Sharma Juan Carlos Vivanco Majid Khan Santhosh Kumar Grandai. Software Engineering Fall 2002.
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
Profound.js: The future of open source development on IBM i
Structure of a web application
File System Implementation
N-Tier Architecture.
Field of Dreams An Online Sporting Goods Marketplace
Software Design and Architecture
The Client/Server Database Environment
Unit 6-Chapter 2 Struts.
Sakai WebApp Structure
Design and Maintenance of Web Applications in J2EE
Interpreter Style Examples
ISE 390 Dynamic Web Development
Introduction to Databases Transparencies
Proposal Presentation
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

Expense Tracking System Advisor : Dr. Ali Arsanjani Members: Ebe Pubudu Viduranga ( )

Purpose To track independent user’s expenditure and generate monthly, filtered and categorical report.

Non-Functional-Requirements The service must have high availability and less probability of failure The service must be deployed through secure channel. User name and password information should be encrypted. System should be able to be accessed from internet. Minimum level of DB locking, due to other systems The system should be capable for load balancing and fail over.

Functional-Requirements Items must include name, description, price and categories. Users must not share categories. Users must have one account, and account must include balance. Users should be able to see monthly, periodical and categorical reports There should be a way of knowing balance before adding item. Categories should be structured in hierarchy.

Assumptions Ability to use two clustered servers may imply ability to use multiple clustered servers. Ability to use one encryption method may imply ability to use multiple encryption methods Three levels of categories may imply multiple levels of categories. One user has one account

Use Cases

Page Navigations

Architectural Styles Forced Dynamically Reconfigurable Architectural Style Multi-Tier Architectural Style Blackboard/Repository Pipes and Filters

Architectural Styles Implicitly Used Object oriented and data encapsulation Event based and implicit invocation, through their action listener and action events MVC Layered

Architectural Styles Optional 1. REST · Advantage- Simplifies communication of the tiers in heterogeneous environment and decouples tiers. · Disadvantage-Tomcat, which is specifically specified in non functional requirement, has very limited support for it. Also team does not have required expertise on the subject. 2. Service Oriented Architecture (SOA) · Advantage-Allows communication of the tiers in heterogeneous environment and decouples tiers. · Disadvantage- Tomcat, which is specifically specified in non functional requirement, has support through additional package, which may be incompatible in common deployment environment.

Architectural Styles Optional (cont..) 3. Rich Internet Application Advantage- Gives smooth, natural, fast (responsive) rich interface Disadvantage- Requires more client side JavaScript expertise, where needs more research and training. Also, it needs more time to implement. 4, Grammar Oriented Object Design Advantage- Highly configurable and expandable. Disadvantage- Team doesn’t have expertise in the field and also it needs grammar translation engine to be developed.

Block-Diagram Single Server Scenario

Block Diagram Multi Server Scenario

Pattern Used Problem: As specified reporter should collect all the items satisfying certain conditions from database and give monthly, filtered and categorical reports. Solution Options: Here we could have used State Pattern, Strategy Pattern and Visitor Pattern. –State Pattern –Strategy –Visitor Pattern Problem: They are static utility functions, needs to be bundled such as common java.util.Math class. Solution: Therefore we have used Singleton pattern.

Pattern Used (cont..) Problem : In our application we have to model to decrease complexity between data access layer and business layer and decouple these two layers as possible. Solution : Faced pattern Problem: Data in database needs to be structured into object in order to be used in objec oriented manner and needs to be accessed in object oriented ways. Solution Options: Auto generated Data Access Objects POJO + Serializes Hibernate

Pattern Used (cont..) Problem : In this application we have to design interactive web application. Solution : ICE Faces implicitly contain this MVC model and integrated Ajax application framework that enables Java EE application to easily create and deploy thin-client rich Internet applications (RIA) in pure Java. Problem: We needed to control application flow centrally. Solution: Current frameworks all use Front Controller design pattern. Problem: We needed to change format of the object. For example we get Category object from data access layer, but presentation layer is expecting SelectItem element. Solution Options: We need to put Filters at the middle, or adapter.

Implementation Decision (DAL) Using plain java connection and write java commands. Creating stored procedures at the database side and call them through prepared statement Through data access objects Using EJB EJB 3 or JPA Hibernate

Implementation Decision (LBC) 1.mod_proxy- it is slow, and supports only one backend tomcat, which doesn't give us load balancing functionality. 2. mod_proxy-aip- it is the newest, fastest one, but haven't yet tested thoroughly. Since it is first time for most of our team, therefore probability of bug might slow us down. 3. mod_jk- this is thoroughly tested, able to support multiple Tomcat at the back, therefore it was our choice.

Rich Client Layer XmlHttpRequest-which asks us huge development DWR- simplify server call easily, but still have to write javascript code Scriptaculous, Google WTK...--the provide functionality to javascript, not java. IceFaces- no need to write client javascript, and integrated with jsf

Implementation Decision (DB) 1. MySQL- Development environment is not so familiar, and not as good as MS SSMS. 2. Sybase- No one in the team has experience with. Therefore ruled out. 3. MS SQL Server- We have to use express edition, since the other editions are not free. Development environment is really developer friendly.

Class Diagram

Login

Create Users

Add Transaction

Add Category

Reports