Expense Tracking System Developed by: Ardhita Maharindra Muskan Regmi Nir Gurung Sudeep Karki Tikaprem Gurung Date: December 05 th, 2008.

Slides:



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

Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
Technical Architectures
1 SWE Introduction to Software Engineering Lecture 22 – Architectural Design (Chapter 13)
Vending Machine FSM Benjamin Welton 03/20/2010 CS 480.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Stanford University / PEER K.H. Law and J. Peng Law, Peng 2000 A Software Platform for Collaborative Development of OpenSees Jun Peng and Kincho H. Law.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
IST346:  Web Services. Today’s Agenda  Learn the basics of how the Web works  Understand various web service architectures  Address scaling, security,
SE-2840 Dr. Mark L. Hornick1 Java Servlet-based web apps Servlet Architecture.
Intro to Servlets Lec 26. Web-Based Enterprise Applications in Java Figure shows a simplified view of one application and its layers.
Java Pet Store Application. Outline Introduction Introduction Information Layer Information Layer Application Layer Application Layer Infrastructure Layer.
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
CVS Reporting Design Daniel Vikström: Project manager / cvs manager / PDF imp. / cvsql interface design. Carmine Protano: Webb & PDF design & imp. Francesco.
Money Tracking Project Seminar on Software Architecture Design Money Tracking Project Date: Dec 05, 2008 Group 2 Adviser: Dr. Ali Arsanjani Student group:
Włodzimierz Funika, Filip Szura Automation of decision making for monitoring systems.
31 January 2007Craig E. Ward1 Large-Scale Simulation Experimentation and Analysis Database Programming Using Java.
Portal and AQAS-Philadelphia University 21-22/6/2011 AVCI Platform in PU Dr. Abdel-Rahman Al-Qawasmi Philadelphia University Director of Computer Center.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
Distributed Software evelopment Adrien Olivier(AO) Dominik Rojković(DR) Hassan Aziz Khan(HSK) Petar Butković(PB) Petar Dučić(PD) Rashid Khan(RK)
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Advanced Software Engineering Association for Computing Machinery High School Competition System Prof: Masoud Sadjadi Fall 2004 Second Deliverable By:
Securing Large Applications CSCI 5931 Web Security Rungang Mo, Yingying Sun.
Oracle Application Express 3.0 Joel R. Kallman Software Development Manager.
Java Omar Rana University of South Asia. Course Overview JAVA  C/C++ and JAVA Comparison  OOP in JAVA  Exception Handling  Streams  Graphics User.
© D. Wong  Indexes  JDBC  JDBC in J2EE (Java 2 Enterprise Edition)
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Database Application Security Models Database Application Security Models 1.
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
Grid Chemistry System Architecture Overview Akylbek Zhumabayev.
1 Mail Saurus Reference:“Usable Encryption Enabled by AJAX” J.F. Ryan; B.L. Reid; Networking and Services, ICNS '06. Digital Object Identifier /ICNS
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
How I spend my money Software architecture course Mohan, Maxim.
JSP Server Integrated with Oracle8i Project2, CMSC691X Summer02 Ching-li Peng Ying Zhang.
© 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.
CCCognos Connection RSReport Studio ASAnalysis Studio QSQuery Studio ESEvent Studio CSContent Store FWM Framework.
Date : 3/04/2010 Web Technology Solutions Class: PHP Web Application Frameworks.
Chapter 3 JSP Overview. The Problem with Servlets processing the request and generating the response are both handled by a single servlet class Java programming.
Java Web Server Presented by- Sapna Bansode-03 Nutan Mote-15 Poonam Mote-16.
Chapter 9 Web Application Design. Objectives Describe the MVC design pattern as used with Web applications Explain the role and responsibilities of each.
The overview How the open market works. Players and Bodies  The main players are –The component supplier  Document  Binary –The authorized supplier.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Submitted by: Moran Mishan. Instructed by: Osnat (Ossi) Mokryn, Dr.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
Presented by Deepak Varghese Reg No: Introduction Application S/W for server load balancing Many client requests make server congestion Distribute.
Business Applications– Using Java _____ Presented by Priya Saha.
PROJECT SECME Carthik A. Sharma Juan Carlos Vivanco Majid Khan Santhosh Kumar Grandai. Software Engineering Fall 2002.
Structure of a web application
ORACLE ADF ONLINE TRAINING COURSE
Web Development Web Servers.
JSP (Java Server Page) JSP is server side technology which is used to create dynamic web pages just like Servlet technology. This is mainly used for implementing.
Server Concepts Dr. Charles W. Kann.
Web Software Model CS 4640 Programming Languages for Web Applications
Unit 6-Chapter 2 Struts.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Design and Maintenance of Web Applications in J2EE
Distributed System Using Java 2 Enterprise Edition (J2EE)
Introduction to Databases Transparencies
Tiers vs. Layers.
ISYS 350 Building Business Applications
Presentation transcript:

Expense Tracking System Developed by: Ardhita Maharindra Muskan Regmi Nir Gurung Sudeep Karki Tikaprem Gurung Date: December 05 th, 2008

Introduction Expense Tracking System is a 3-tier web based application developed to fulfill the requirement of the Dynamic Software Architecture course. The main purpose of this application is to track all the expenses made by a user. The user can generate report of his expenses based on the transaction date of the expenses or category of items.

Assumptions One user can have only one account. One category can have many items. Each user can define his own category list. When a user opens an Account at the first time, the balance will be zero. One transaction has only one item. User can generate the expense report based on the transaction date or category type.

Functional requirements Register a new User for a new Account Login User Add balance to the account Create Item Category Create Transaction –Add item name, price, description and the purchase date in the transaction View Report –View all transaction by transaction date –View Transaction by category

Non-functional requirements User Location varies –Web based system -> 3 tiers Security –User Authentication –HTTPS –Encrypting password in the database Performance –Load Balancing using web servers and application servers. –Separating the Database layer with the Business layer and Application layer.

Design decision Database Design Figure: Database schema This is the common database schema used by all the groups. In this schema, we have separated the Transaction and Items entity, this is because we want to keep track of items. And also each user has his own categories list.

Design decision (cont..)‏ User Interface Design we have designed the user interface by using JSP. Figure: Screenshot of user interface

Design decision (cont..)‏ Application Design This is the overall application design of our project. We have created controller of each view. All the controller interacts with a business layer which acts as a façade. all the database queries are in the Data Access Layer which gives the facility of single point access. The DBwrapper is database connection module.

Architectural decision 3-tier application –The overall system logic has been decentralizes into 3 tiers i.e view and its controller, business logic and the database logic. Web based application –The application is deployed in a web server which is then access by client computers through web-browser.

Architectural decision (cont..)‏ Performance –To keep the system’s performance we have created one application server and one web server. But in future we are planning to deploy on two web servers and application servers for load balancing. So if one server gets a lot of request then the other server can reduce the load by sharing the request load among them.

Realization decision Application platform –We have used Java technology and JSF framework. The Prototype javascript library is used to take care of our Ajax calls. Database –The SQL Server 2005 Express edition is used as a Database. This is because it is license free and it has a better transaction support than MS Access.

Realization decision (cont..)‏ Application server –Apache Tomcat 6.1 is used as a container in this project. This is because it is license free and very compatible with the java technology. Web server –The Apache web server is used in this project. We used this because it is very compatible to work with Tomcat Application Server.

Architectural styles used Classical styles –Event based, implicit invocation In our project the JSF framework handles all the events. When an event arises, the observer of that event which is the Faces Servlet, will invoke the method in the Controller. –Layered We have used the following layers, –Web Server (Apache)‏ –Application Server (Tomcat)‏ –Database layer (SQL Server Express edition)‏ –Façade We have created a BusinessManager.java class as a Façade which interacts with all the controllers. So the application layer just deals with the façade. + PROGRAM TO INTERFACE

Architectural styles used (cont..)‏ Modern styles –Ajax (RIA)‏ The Prototype javascript library is used to take care of our Ajax calls. We have used Ajax in a very small part of our project. While adding balance, we don’t send all the information in the page to the server, we just send the balance entered by the user by using Ajax. –Web-based 3-tier The 3-tier used in our project are –web server (Apache)‏ –Application Server (Tomcat)‏ –Database server (SQL Server Express edition)‏ –Configurable The configurable system enable the user to modify the application externally so users can easily change the behavior or the settings of the application. In our application, we have defined all the configuration in web.xml file.

Design Patterns Façade pattern: –Façade pattern is implemented in the system in the business logic layer. Controller do not have to access to the detail of the business logic layer. It just to need to communicate with the façade. The façade is implemented by BusinessMgr.java. Observer pattern: –The transaction manager notifies any registered observer when the balance goes below zero or in negative amount during transactions. The observer for this process is BalanceCheck class.

Uncompleted objectives We have not separated the Tomcat with the Apache web server for load balancing. We have not created Secure Socket layer (SSL) for the client request. Internally we have made a system which can add many items in one transaction. But because of the time bound we have not shown this feature.

Thank You!