1 / 30

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 Goals Presentation Outline

shel
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. Time Collection System Overview • Time Collection • Purpose • Scope (users, departments) • Architecture Overview

  4. Time Collection Architecture BROWSER PPL Soft SSL Weblogic 8.1 (JSP, SERVLETS, EJB) Oracle 8i APACHE (HTML, JS) DataMall Reporting LDAP

  5. Time Collection Snapshot 1

  6. Time Collection Snapshot 2

  7. 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

  8. Electronic Time Clock

  9. Electronic Time Clock

  10. Electronic Time Clock

  11. Electronic Time Clock

  12. Employee Scheduling

  13. 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

  14. 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

  15. 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

  16. 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)

  17. 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

  18. Design Highlights • Performance • Transaction Management • All roads go to Rome (two ways to punch in)

  19. 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

  20. 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);

  21. 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)

  22. Implementation

  23. Implementation

  24. Technical Challenges

  25. Technical Challenges

  26. Technical Challenges • Using Java Communication API to communicate with card readers, signing applets, outdated security model • 24x7 availability

  27. Non-technical Issues • Working closely with internal customers • Explaining new technology to users • Training • Timely response to problems

  28. 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

  29. 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

  30. Thank you! E-mail your questions and suggestions to: Dr. Zhang dzhang@Princeton.edu Eugene Khusid ekhusid@princeton.edu

More Related