paperless timesheet management project anant pednekar
TRANSCRIPT
Paperless Timesheet Management Projecthttp://www.code.google.com/p/timesheetmgmtproject/
Anant Pednekar 912093 Anuradha Shringarpure 102105 Vidya Venkataraman 102191
CS 562 – Advanced Java Class
Submitted To: Robert Zhu
Date: July 13th 2010
System Objective
Paperless Timesheet Management System is a web-based time, effort and resource management solution.
Simplifies time tracking and time keeping of employees.
Enables the enterprise to manage people and projects better
Audience
End Users :– Student employees– University employees
End Goal
The end-goal would be to move the existing offline time tracking system at Herguan University to a user-friendly time tracking web application.
Eventually incorporate the Google App Engine (GAE) model into utilizing the powerful cloud computing concept
What’s In It For Us?
As a student project, our objective would be to make use of this opportunity to learn the cutting-edge technology like JSP, Servlets, Struts, JDO and GAE
Cloud computing is the big thing right now. Using Google’s web application hosting
services, we intend to get a deeper picture about the cloud computing infrastructure.
Architecture Diagram
ClientBrowser (Renders the page)
Web server (Google App Engine)
Presentation Layer (Written in JSP, Servlets using Struts framework)
Business Layer (Written in JDO)
App Engine’s Datastore (Data tier provided by Google App Engine)
Technology Stack
Front- end : JSP, Struts 2 framework, HTML/CSS
ORM : JDO Web Server : Google App Engine Database : Google App Engine’s Data store
Development Tools
Source code dev : Eclipse IDE with GAE plug-in
Version Control : Subversion plug-in in Eclipse IDE
Bug Tracking/Defect logging : JIRA
A Walk In The Clouds…
New IT Buzzword!!!
“… a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet” - Wikipedia
“… a pay-per-use model for enabling available, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal management effort or service provider interaction”- National Institute of Standards and Technology (NIST)
Cloud Computing Models Defined
Cloud Computing Delivery Models
SaaS : "Software as a Service " deliver software as a service over the Internet, eliminating the need to install and run the application on the customer's own computers and simplifying maintenance and support
PaaS : "Platform as a Service " deliver a computing platform and/or solution stack as a service, often consuming cloud infrastructure and sustaining cloud applications. It facilitates deployment of applications without the cost and complexity of buying and managing the underlying hardware and software layers
IaaS : "Infrastructure as a Service " delivers computer infrastructure, typically a platform virtualization environment as a service. Rather than purchasing servers, software, data center space or network equipment, clients instead buy those resources as a fully outsourced service.
Google App Engine
Easy to build Easy to maintain Easy to scale
Google App Engine
Do-It-Yourself Hosting
Maintenance Software patches/upgrades License fees Traffic and Utilization
Google App Engine To The Rescue
SDK & “The Cloud” PAAS Hardware Networking Operating system Application runtime Java, Python Static file serving Services Fault tolerance Automatic Scaling Load balancing
Runtimes
Services
Portable
Admin Console
Development & Deployment Tools
Limitations Of Google App Engine
Programming Model– Application runs in sandbox and cannot:
Write to file system Make arbitrary network connections Use multiple threads/processes Perform long-lasting processing Permissions Know about other instances/applications
Quotas (Request, In/Out bandwidth, CPU time, API calls)– Billable quotas
Set by application owner to keep in budget
– Fixed quotasSet by GAE to ensure integrity of the system
System Demo
Task items achieved so far– Development Environment Setup– Knowledge Transfer Sessions– Database Design– Screen Shots
Future Course Of Action
Data Model Mapping in JDO UI Development Testing Deployment