Using j2ee j2se and jse to implement electronic time clock and employee scheduling system
This presentation is the property of its rightful owner.
Sponsored Links
1 / 30

Using J2EE, J2SE and JSE to Implement Electronic Time Clock and Employee Scheduling System PowerPoint PPT Presentation


  • 81 Views
  • Uploaded on
  • Presentation posted in: General

Using J2EE, J2SE and JSE to Implement Electronic Time Clock and Employee Scheduling System. Dr. Da-Wei Zhang – Project Lead Eugene Khusid – Senior Programmer Custom Software Solutions Princeton University. Presentation Overview. Presentation Goals Presentation Outline

Download Presentation

Using J2EE, J2SE and JSE to Implement Electronic Time Clock and Employee Scheduling System

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Using j2ee j2se and jse to implement electronic time clock and employee scheduling system

Using J2EE, J2SE and JSE to Implement Electronic Time Clock and Employee Scheduling System

Dr. Da-Wei Zhang – Project Lead

Eugene Khusid – Senior Programmer

Custom Software Solutions

Princeton University


Presentation overview

Presentation Overview

  • Presentation Goals

  • Presentation Outline

    • What is Time Collection

    • What is Time Clock and Scheduling

    • Architecture Overview

    • Implementation Highlights

    • Challenges

    • Post Project Items

    • Conclusion


Time collection system overview

Time Collection System Overview

  • Time Collection

    • Purpose

    • Scope (users, departments)

    • Architecture Overview


Time collection architecture

Time Collection Architecture

BROWSER

PPL Soft

SSL

Weblogic 8.1

(JSP, SERVLETS, EJB)

Oracle 8i

APACHE

(HTML, JS)

DataMall

Reporting

LDAP


Time collection snapshot 1

Time Collection Snapshot 1


Time collection snapshot 2

Time Collection Snapshot 2


Electronic time clock and scheduling

Electronic Time Clock and Scheduling

  • What is Electronic Time Clock

  • What is Scheduling

  • Business Need for Electronic Time Clock and Scheduling

  • Reasons for In-house Development


Electronic time clock

Electronic Time Clock


Electronic time clock1

Electronic Time Clock


Electronic time clock2

Electronic Time Clock


Electronic time clock3

Electronic Time Clock


Employee scheduling

Employee Scheduling


Time clock and scheduling architecture

BROWSER

Weblogic 8.1

(JSP, SERVLETS, EJB)

Time Clock

Applet

Time Clock

Oracle 8i

SSL

Scheduling

APACHE

(HTML, JS)

Time Collection

LDAP

Time Clock and Scheduling Architecture


Time clock architecture detailed

Time Clock Architecture Detailed

Browser

(J2SE/JSE –

Applet with

Java Comm. API )

JSE - Java

Communication

Library

SSL

Weblogic 8.1

(J2EE – JSP,

SERVLETS, EJB)

APACHE

(HTML, JS)

Oracle 8i


Java communication api

Java Communication API

  • Part of Java Standard Extension (JSE)

  • Purpose – communicate with hardware via serial (RS-232) and parallel (IEEE 1284) ports

  • Usage examples – communicate with modems, card readers, etc.

  • More information is available at:

    http://java.sun.com/products/javacomm/index.jsp


Architecture modularity

Architecture Modularity

Time Clock

  • Can run on different hardware (laptops, desktops, tablet PC)

  • Can support different input devices such as touch screens (kiosks)

  • No need to change architecture if decide to replace card reader with another device (ex: biometric device)


Architecture modularity and integration

Architecture Modularity and Integration

Time Clock and Scheduling

  • Modules customized for Princeton’s business

  • Can be ported to a different application (some work will be involved)

  • Integrated seamlessly with existing time collection architecture and DB design


Design highlights

Design Highlights

  • Performance

  • Transaction Management

  • All roads go to Rome (two ways to punch in)


Implementation

Implementation

  • Good coding practices

    • Naming

      Shift, TimeClockDetail, ReportServlet, etc.

    • Comments

      /**Called by the servlet, this method in turns calls the appropriate methods based

      * on rptDetail.reportID to compose sql appropriate for this particular report. In

      * essence, there are three different types of sqls: scheduling reports, time clock

      * reports and scheduling-time-clock combination reports.

      * @param rptDetail ReportDetail

      * @return String

      */

      public static String getSqlByReportType(ReportDetail rptDetail)

    • Formatting

      JBuilder


Implementation1

Implementation

  • Used patterns when appropriate (MVC, Observer)

  • Observer pattern applied in our applet:

public class TimeClockApplet extends JApplet implements Observer, Runnable{

...

new SerialPortReader spr = new SerialPortReader();

spr.addObserver(this);

public void update(Observable o, Object parameter)

public class SerialPortReader extends Observable implements SerialPortEventListener

addObserver(java.util.Observer observer)

notifyObservers(employeeID);


Implementation2

Implementation

Reporting Framework

Display swipes

report JSP

TimeMgmtReport JSP

(choose your report

and filters)

Display schedule

report JSP

ReportServlet

(traffic cop)

Display swiped vs.

Schedule report JSP

ReportContext class

(build a query)

ReportDetail class

(build output)


Implementation3

Implementation


Implementation4

Implementation


Technical challenges

Technical Challenges


Technical challenges1

Technical Challenges


Technical challenges2

Technical Challenges

  • Using Java Communication API to communicate with card readers, signing applets, outdated security model

  • 24x7 availability


Non technical issues

Non-technical Issues

  • Working closely with internal customers

  • Explaining new technology to users

    • Training

    • Timely response to problems


Post project items

Post Project Items

  • Documentation

    • Business specification document

    • Mixture of use case and data flow documents

    • Many good comments in the code

  • Maintenance

    • Simplified by documentation, and

    • Testing


Conclusion

Conclusion

  • Use Java libraries for special tasks such as talking to hardware

  • Make architecture very modular

  • Use patterns when it makes sense

  • Develop frameworks

  • Follow good coding practices

  • Think about issues such as 24x7 availability

  • Post project items are important


Thank you

Thank you!

E-mail your questions and suggestions to: Dr. Zhang [email protected]

Eugene Khusid [email protected]


  • Login