Point Of Sale(POS) J2EE Application Department : Computer Science Degree : Master Student : Woojin Choi ID : 0426367 (POS J2EE Application with JRun)

Slides:



Advertisements
Similar presentations
J0 1 Marco Ronchetti - Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento.
Advertisements

1 Copyright © 2005, Oracle. All rights reserved. Introduction.
11 Copyright © 2005, Oracle. All rights reserved. Creating the Business Tier: Enterprise JavaBeans.
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
J2EE Architecture Overview
Using JavaServer Pages Harry R. Erwin, PhD CIT304/CSE301.
An architecture for webb applications, J2EE
Introduction to Java 2 Enterprise Edition About myself –Neutrinos, Cancer Research, IT Applications Today’s topic: J2EE –Context –Advantages –Components.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Overview of The Java Platform Solution for E-Business Applications : JSP, Servlet and EJB.
Enterprise Programming By J Pearce. Enterprise Software Sales HR Inventory Customer Support Shipping.
Nikolaos Korfiatis The Java 2 Enterprise Edition Platform Dept. of Management & Technology-Athens University of Economics and Business Java 2 Platform.
J2EE Kenneth M. Anderson CSCI Web Technologies October 3, 2001.
Emmanuel Cecchet et al.  Performance Scalability of J2EE application servers.  Test effect of: ◦ Application Implementation Methods ◦ Container Design.
Java Pet Store Application. Outline Introduction Introduction Information Layer Information Layer Application Layer Application Layer Infrastructure Layer.
Distributed System Using Java 2 Enterprise Edition (J2EE)
UNIT-V The MVC architecture and Struts Framework.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
Distributed Multitiered Applications The J2EE platform uses a multitiered distributed application model. Application logic is divided into components 1.
1 J2EE Components. 2 Application Servers relieve the programming burden for business distributed components. They provide support for system level services.
Enterprise Java Beans CS-422. Application Servers In the late 1980s and though the mid 1990s a number of corporations (Broadvision, Netscape…) marketed.
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
Seminar: Enterprise JavaBeans. Agenda Agenda Java™ 2 Platform Java™ 2 Platform Java™ 2 Platform,Enterprise Edition(J2EE) Java™ 2 Platform,Enterprise Edition(J2EE)
Chemical Toxicity and Safety Information System Shuanghui Luo Ying Li Jin Xu.
Entity Java Beans Jorg Janke Open Source ERP & CRM.
Enterprise Java Bean Matt. 2 J2EE 3 J2EE Overview.
Enterprise JavaBeans. Lesson 1: Introduction to Server-Side Component Software.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Introduction to J2EE Architecture Portions by Kunal Mehta.
Java Server Pages A JSP page is a text-based document that contains two types of text: static template data, which can be expressed in any text-based format,
第十四章 J2EE 入门 Introduction What is J2EE ?
J2EE Structure & Definitions Catie Welsh CSE 432
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Struts J2EE web application framework “ Model 2 ” Model View Controller Controller Servlet Key features XML metadata Struts taglib Simplified form validation.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Enterprise JavaBeans Understanding EJB Components Version 0.1 Kamal Wickramanayake
1 Java EE Programming Enterprise JavaBeans. 2 Topics J2EE Overview Enterprise JavaBeans Overview Enterprise Entity Beans Case Study How to build them.
Introduction to Enterprise JavaBeans Topics In Systems Architecture Barry Herbold
Assignment of JAVA id : BSSE-F10-M-10-JAVA1 Overview of J2EE/Session 2/Slide 1 of 38.
© 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.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
1 Distributed System using J2EE. 2 What is J2EE?  J2EE (Java2 Enterprise Edition) offers a suite of software specification to design, develop, assemble.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Copyright © 2002 ProsoftTraining. All rights reserved. Enterprise JavaBeans.
©NIIT Introducing Enterprise JavaBeans (EJB) Lesson 1A / Slide 1 of 43J2EE Server Components Objectives In this lesson, you will learn about: The features.
Enterprise JavaBeans: Fundamentals. EJB Fundamentals(c)CDAC(Formerly NCST)2 Contents Introduction Technology Overview EJB Architecture EJB Specification.
Enterprise JavaBeans. Lesson 1: Introduction to Server-Side Component Software.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Bayu Priyambadha, S.Kom. Static content  Web Server delivers contents of a file (html) 1. Browser sends request to Web Server 3. Web Server sends HTML.
EJB Enterprise Java Beans JAVA Enterprise Edition
Apache Struts Technology A MVC Framework for Java Web Applications.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
©NIIT Session Beans Lesson 1B/ Slide 1 of 37J2EE Server Components Objectives In this lesson, you will learn to: Describe the characteristics of session.
Enterprise Java Beans. Contents  Understanding EJBs  Practice Section.
J2EE Platform Overview (Application Architecture)
Point Of Sale(POS) J2EE Application
Java Servlets By: Tejashri Udavant..
Introduction to J2EE Architecture
J2EE Application Development
Distributed System Using Java 2 Enterprise Edition (J2EE)
Understanding and Designing with EJB
Component-based Applications
Understanding and Designing with EJB
Enterprise Java Beans Bina Ramamurthy 4/5/2019 B.Ramamurthy.
Enterprise Java Beans.
Knowledge Byte In this section, you will learn about:
Presentation transcript:

Point Of Sale(POS) J2EE Application Department : Computer Science Degree : Master Student : Woojin Choi ID : (POS J2EE Application with JRun)

Topics Introduction of POS Application System requirement Application Map Database Diagram POS Component POS Workflow using J2EE Design HTML / JSP / Servlet / EJB in POS J2EE Introduction (J2EE – J2EE API) POS Application with J2EE Enterprise JavaBeans (EJB) POS Component Example POS Security Mechanism POS Scheduler Supplementary Issues

Introduction of POS POS : Point of Sale Business topic : Web based application for a customer to check out the shopping easily and fast Current Process : Customer comes in store -> Put the item to shopping cart -> Wait to check out -> Clerk help to check out Problem : Customers need to wait for a long time even the item is simple Solution : Put the clerk barcode scanning and checking out systems to each shopping lane and allow for a customer to check out the carts by himself New system to solve the problem : POS J2EE Application Benefits : Portable business solution / Integrated e-business / Save the customer’s time / Down the store cost

System Requirement Server side ›Operating System : Win NT 4.0 / Win2K ›Web Server : IIS 4.0 / 5.0 ›Application Server : JRun ›Database : MS SQL Server 7.0 Client side ›Browser : IE4.0 or higher

Checkout.jsp Products.jsp Add/Edit/Delete Shopping list Login.jsp Application Map Authentication Servlet Loginerror.jsp Index.jsp (Display shoppling cart) Logout.jsp Scheduler Customized Error Pages HTTP Error Jrun Application Error 403.html 404.html 405.html 500.html Loginerror.jsp

Database Diagram

POS Components Presentation Logic ›HTML ›JSP ›Login.jsp, customers.jsp, customer_profile.jsp, … Interface Logic (Data Modeling) ›Servlet ›EditCustomer.class, DeleteCustomer.class, AddShoppingList.class, … Business Logic ›EJB ›Customer EJB, ShoppingList EJB, …

POS Workflow using J2EE design Presentation : JSP Interface : Servlet Business Logic : EJB Benefits : Presentation logic doesn’t implement business logics at all. Every business data is updated through EJB or Servlets. Especially Servlet is reponsible for data modeling for business logic as interface between presentation and business logic. JSPServlet <> EJB Container DB

HTML / JSP / Servlet / EJB in POS JSP Engine Servlet Container HTTP Server(HTML) HTTP <> JDBC EJB Container JRun HTTP on LAN DB

Defines a standard for developing multi-tier applications ›Vendors collaborate on standards and compete on implementation ›All the pieces of the application are portable across platforms and servers Simplifies application development ›Developer focuses on application logic ›J2EE server handles complexity of lower level services Component ›JSPs / Servlets / EJBs API : Servlet / JSP / EJB / JDBC / JNDI / JavaMail / JMS / JTA Java 2 Enterprise Edition (J2EE)

J2EE APIs Servlets › Standard API extending and enhancing Web servers Java Server Pages (JSP) › Standard API for creating dynamic content using static templates Enterprise JavaBeans (EJB) › Standard server-side component model Java Database Connectivity (JDBC) JavaMail Java Naming and Directory Interface (JNDI) Java Message Service (JMS) Java Transaction API (JTA) *) POS system : Servlet / JSP / EJB / JNDI / JDBC

POS Application with J2EE Provides complete implementation of J2EE › Servlets 2.2 › JSP 1.1 › EJB 1.1 › JNDI › JMS › JDBC › JTA/JTS › JavaMail POS Application ›Servlet 2.2 ›JSP 1.1 ›EJB 1.1 ›JNDI POS Application Work Flow ›Presentation : JSP ›Interface : Servlet ›Business Logic : EJB

Enterprise JavaBeans (EJB) Server-side component model allowing developers to concentrate on business logic EJB server handles complexity of lower level services EJB API guarantees components to be portable across EJB Servers ›Component life cycle ›State management ›Persistence ›Multi-threading ›Connection pooling ›Transaction management ›Security

Entity Beans Used to ›Represent a business entity (like a row in a database table) ›Provide standard access and validation for business entities Persistent (live beyond server lifetime) ›Usually represent data in a database Examples ›Customer, Product, Employee,...

Entity Beans Bean Managed Persistence (BMP) ›Developer writes persistence code Container Managed Persistence (CMP) ›EJB properties are mapped to database columns ›Persistence code automatically generated by EJB container Implements javax.ejb.EntityBean

Session Beans Used to ›Manage processes and tasks ›Model the workflow of Entity beans ›Retrieve and update data that can't be adequately captured in an entity bean No persistent state Example ›Order a product ›Check out the shopping cart ›Reservation

Session Beans Stateful Session Bean ›Maintain a state between method invocations ›Store properties as instance variables ›Expose methods to manipulate properties Stateless Session Bean ›Do not retain information between method invocations ›Each method is completely independent › Client passes needed information as parameters to the method instance pooling › Participate in instance pooling ›Greatest scalability ›Many clients share limited number of instances Implements javax.ejb.SessionBean

Home / Remote Interface Home Interface ›Defines methods to create (obtain), find, or remove a Bean Instance on behalf of the client ›Extends javax.ejb.EJBHome Remote Interface ›Defines the bean's business methods ›Extends javax.ejb.EJBObject

Packaging the Bean in a JAR File ShoppingListHome.class ShoppingList.class ShoppingListEJB.class ejb.xml Includes: ›Bean class ›Remote interface ›Home Interface ›Deployment descriptor (ejb.xml)

Deploy Tool Deploy Tool(Macromedia KAWA, J2EE deploytool) generates stub classes and object classes Deploy Tool uses jar file and generates necessary classes for EJB server Stub classes ›Downloaded to a client dynamically at run time ›Used by client Object classes ›Implement all corresponding interfaces ›Used by EJB server

EJB Conceptual Architecture EJB Server EJB Class EJB Object Stub Remote Interface JNDI Server InitialContext lookup(“Customer") EJB Home Stub Home Interface EJB Object Remote Interface EJB Home Home Interface create/find getList( )  ‚  „   

Development Process EJB CustomerHome.class Customer.class CustomerEJB.class ejb.xml EJB Devloper Developer › Home Interface › Remote Interface › EJB class › Support classes Deployer (Deploy tool) › Packaging Interfaces, EJB class, and support classes › Deploy the packaged EJB (jar file) Server › Implement EJB EJB Servers

POS Component Example Add, remove, and display a customer shopping list Index.jsp ShoppingListSession Add Remove Display Display all shopping list from EJB Form action to add / remove shopping list Capture the Shopping list id Call bean method to be fit with each action Implement get, add, remove shipping list methods AddShoppingList RemoveShoppingList DB ShoppingCart Table Select, update, delete shopping list from ShoppingCart table

POS Security Mechanism Form Based JRun application security based on J2EE User / Group / Role Protect entire application JSPs / Servlets / EJBs *) DatabaseAthentication.java to verify user using DB Login.jsp HTML JSP Servlet EJB Other Resources Authentication* Servlet Loginerror.jsp POS

POS Scheduler Jrun provides a Scheduler servlet to execute actions at specified times Scheduler servlet : allaire.jrun.scheduler.CronService Defines the servlet in web.xml Application defines Schedule.ini for the service Schedule.ini includes the rule and the requests to be scheduled * If this service is used in application, this application is not potable because JRun added this service.

Web.xml sample for scheduler defines the service POSScheduler allaire.jrun.scheduler.CronService POSScheduler Scheduler for POS System schedfile C:\JRun\3.0\servers\default\pos-app\schedule.ini logfile C:\JRun\3.0\servers\default\pos-app\scheduler-log\pos-scheduler.log Except those bold tags, developer can give any name or file

Schedule.ini Example Schedule.ini is defined in web.xml schedfile C:\JRun\3.0\servers\default\pos-app\schedule.ini Developer can use any file name on that Schedule.ini example # This is the ini file for JRun scheduler # Scheduler checks the shopping cart table every ten minutes and updates the shopping cart status. # If the shopping cart items are found to be older than 2hr, those will be deleted. # Those items to be older than 2hr are supposed to be not in the cart or customer left the store without checkout. 0 0,10,20,30,40,50 * * * * Scheduler runs this servlet every ten minutes

Supplementary Issues Physical Security Mechanism Barcode scanner integration(physical) Credit card process integration(physical) Business data exchange using XML