7/24/2019 Pos Presentation Without Screenshot
1/28
Point Of Sale(POS) J2EE Application
Department : Computer Science
Degree : MasterStudent : Woojin Choi
ID : 0426367
(POS J2EE Application with JRun)
< Master Degree ina! "roject #
7/24/2019 Pos Presentation Without Screenshot
2/28
Topics
Introduction o$ "%S &pp!ication S'stem re(uirement &pp!ication Map Data)ase Diagram "%S Component "%S Wor*$!o+ using ,2-- Design ./M 1 ,S" 1 Ser!et 1 -, in "%S ,2-- Introduction ,2-- 5 ,2-- &"I "%S &pp!ication +ith ,2--
-nterprise ,aaeans -, "%S Component -amp!e "%S Securit' Mechanism "%S Schedu!er Supp!ementar' Issues
7/24/2019 Pos Presentation Without Screenshot
3/28
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 een 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 byhimself
!ew system to sole the problem : POS "#$$ %pplication Benefits : Portable business solution & 'ntegrated e-business & Sae the
customer(s time & )own the store cost
7/24/2019 Pos Presentation Without Screenshot
4/28
System Reuirement
Serer side
* Operating System : Win !+ ,. & Win#/
* Web Serer : ''S ,. & 0.
* %pplication Serer : "1un 2.#
* )atabase : 3S S45 Serer 6.
Client side
* Browser : '$,. or higher
7/24/2019 Pos Presentation Without Screenshot
5/28
Checkout7sp
Checkout7sp
Products7sp
Products7sp
%dd&$dit&)elete
Shopping list
%dd&$dit&)elete
Shopping list
5ogin7sp
5ogin7sp
Application !ap
&uthenticationSer!et
&uthenticationSer!et
5oginerror7sp
5oginerror7sp
'nde87spDisp!a' shopp!ing cart
'nde87spDisp!a' shopp!ing cart
5ogout7sp
5ogout7sp
Scheduler
Scheduler
Customi8ed -rror "ages
.//" -rror
,run &pp!ication -rror
4039htm!
4049htm!
409htm!
009htm!
oginerror9jsp
Customi8ed -rror "ages
.//" -rror
,run &pp!ication -rror
4039htm!
4049htm!
409htm!
009htm!
oginerror9jsp
7/24/2019 Pos Presentation Without Screenshot
6/28
"ata#ase "ia$ram
7/24/2019 Pos Presentation Without Screenshot
7/28
POS %omponents
Presentation 5ogic* 9+35
* "SP
* 5ogin7sp customers7sp customer;profile7sp
9++PSere
r=9+35>
TTP
?>
")BC
")BC
$"B
Container
$"B
Container
"1un
TTP on *A-
"
7/24/2019 Pos Presentation Without Screenshot
10/28
)efines a standard for deeloping multi-tier applications* @endors collaborate on standards and compete on
implementation
* %ll the pieces of the application are portable across platformsand serers
Simplifies application deelopment
* )eeloper focuses on application logic
* "#$$ serer handles comple8ity of lower leel serices Component
* "SPs & Serlets & $"Bs %P' : Serlet & "SP & $"B & ")BC & "!)' & "aa3ail & "3S & "+%
Ja,a 2 Enterprise Edition (J2EE)
7/24/2019 Pos Presentation Without Screenshot
11/28
J2EE APIs
Ser!ets
* Standard &"I etending and enhancing We) serers
,aa Serer "ages ,S"
* Standard &"I $or creating d'namic content using static temp!ates
-nterprise ,aaeans -,* Standard serer;side component mode!
,aa Data)ase Connectiit' ,DC
,aaMai!
,aa aming and Director' Inter$ace ,DI
,aa Message Serice ,MS
,aa /ransaction &"I ,/&
= "%S s'stem : Ser!et 1 ,S" 1 -, 1 ,DI 1 ,DC
7/24/2019 Pos Presentation Without Screenshot
12/28
POS Application with J2EE
Proides complete implementation of "#$$* Ser!ets 292
* ,S" >9>
* -, >9>
* ,DI
* ,MS
* ,DC
* ,/&1,/S
* ,aaMai!
POS %pplication* Serlet ##
* "SP AA
* $"B AA
* "!)'
POS %pplication Work low* Presentation : "SP
* 'nterface : Serlet
* Business 5ogic : $"B
7/24/2019 Pos Presentation Without Screenshot
13/28
Enterprise Ja,aeans (EJ)
Serer-side component model allowing deelopers toconcentrate on business logic
$"B serer handles comple8ity of lower leel serices
$"B %P' guarantees components to be portable across$"B Serers
* Component life cycle
* State management
* Persistence
* 3ulti-threading
* Connection pooling
* +ransaction management
* Security
7/24/2019 Pos Presentation Without Screenshot
14/28
Entity eans
sed to
* 1epresent a business entity =like a row in adatabase table
*Proide standard access and alidation forbusiness entities
Persistent =lie beyond serer lifetime
* sually represent data in a database
$8amples* Customer Product $mployee
7/24/2019 Pos Presentation Without Screenshot
15/28
Entity eans
Bean 3anaged Persistence =B3P
* )eeloper writes persistence code
Container 3anaged Persistence =C3P
* $"B properties are mapped to database columns* Persistence code automatically generated by $"B
container
'mplements 7aa8e7b$ntityBean
7/24/2019 Pos Presentation Without Screenshot
16/28
Session eans
sed to* 3anage processes and tasks
* 3odel the workflow of $ntity beans
* 1etriee and update data that canDt be adeEuately captured
in an entity bean !o persistent state $8ample
* Order a product
* Check out the shopping cart* 1eseration
7/24/2019 Pos Presentation Without Screenshot
17/28
Session eans
Stateful Session Bean* 3aintain a state between method inocations
* Store properties as instance ariables
* $8pose methods to manipulate properties Stateless Session Bean
* )o not retain information between method inocations
* $ach method is completely independent* Client passes needed information as parameters to the method* Participate in instance poolinginstance pooling
* Freatest scalability
* 3any clients share limited number of instances 'mplements 7aa8e7bSessionBean
7/24/2019 Pos Presentation Without Screenshot
18/28
ome + Remote Interface
9ome 'nterface
* )efines methods to create =obtain find or remoe
a Bean 'nstance on behalf of the client
* $8tends7aa8e7b$"B9ome 1emote 'nterface
* )efines the beanDs business methods
* $8tends7aa8e7b$"BOb7ect
7/24/2019 Pos Presentation Without Screenshot
19/28
Pac'a$in$ the ean in a JAR .ile
Shopping5ist9omeclassShopping5ist9omeclass
Shopping5istclassShopping5istclass
Shopping5ist$"BclassShopping5ist$"Bclass
e7b8mle7b8ml
'ncludes:* Bean class
* 1emote interface
* 9ome 'nterface* )eployment descriptor
=e7b8ml
7/24/2019 Pos Presentation Without Screenshot
20/28
"eploy Tool
)eploy +ool=3acromedia /%W% "#$$ deploytool generatesstub classes and ob7ect classes
)eploy +ool uses 7ar file and generates necessary classes for$"B serer
Stub classes* )ownloaded to a client dynamically at run time
* sed by client Ob7ect classes
* 'mplement all corresponding interfaces* sed by $"B serer
7/24/2019 Pos Presentation Without Screenshot
21/28
EJ %onceptual Architecture
EJB Server
EJ %lassEJ O#/ect Stu#
Remote Interface
JNDI Server
Initial%onte0t
loo'up(1%ustomer)
EJ ome Stu#
ome Interface
EJ O#/ect
Remote Interface
EJ ome
ome Interface
create+find
$et*ist( )
7/24/2019 Pos Presentation Without Screenshot
22/28
"e,elopment Process EJ
Customer9omeclassCustomer9omeclass
CustomerclassCustomerclass
Customer$"BclassCustomer$"Bclass
e7b8mle7b8ml
$"B
)eloper
Dee!oper* .ome Inter$ace
* ?emote Inter$ace
* -, c!ass
* Support c!asses Dep!o'er Dep!o' too!
* "ac*aging Inter$aces@ -, c!ass@ and support c!asses
* Dep!o' the pac*aged -, jar $i!e Serer
* Imp!ement -,
-, Serers
7/24/2019 Pos Presentation Without Screenshot
23/28
POS %omponent E0ample
%dd remoe and display a customer shopping list
Inde9jsp
ShoppingistSession
&dd ?emoe
Disp!a'
)isplay all
shopping list
from $"B
orm action to
add & remoe
shopping list
Capture the
Shopping list id
Call bean
method to be fit
with each action
'mplement get
add remoe
shipping list
methods
&ddShoppingist?emoeShoppingist
"
ShoppingCart
/a)!e
Select updatedelete shopping
list from
ShoppingCart
table
7/24/2019 Pos Presentation Without Screenshot
24/28
POS Security !echanism
orm Based "1un application security based on "#$$ ser & Froup & 1ole
Protect entire application "SPs & Serlets & $"Bs
G )atabase%thentication7aa to erify user using )B
5ogin7sp5ogin7sp
./M
,S"
Ser!et
-,
%ther ?esources
./M
,S"
Ser!et
-,
%ther ?esources
&uthentication=
Ser!et
&uthentication=
Ser!et
5oginerror7sp5oginerror7sp
POS
7/24/2019 Pos Presentation Without Screenshot
25/28
POS Scheduler
"run proides a Scheduler serlet to e8ecute actionsat specified times
Scheduler serlet : allaire7runschedulerCronSerice
)efines the serlet in web8ml %pplication defines Scheduleini for the serice Scheduleini includes the rule and the reEuests to be
scheduled
G 'f this serice is used in application this applicationis not potable because "1un added this serice
7/24/2019 Pos Presentation Without Screenshot
26/28
&e#30ml sample for scheduler
?serlet> defines the serice ?&serlet>?serlet>
?serlet-name>POSScheduler?&serlet-name>
?description>Scheduler for POS System?&description>
?init-param>
?&init-param>
?load-on-startup&>
?&serlet>
$8cept those bold tags deeloper can gie any name or file
7/24/2019 Pos Presentation Without Screenshot
27/28
Schedule3ini E0ample
Scheduleini is defined in web8ml?init-param>
7/24/2019 Pos Presentation Without Screenshot
28/28
Supplementary Issues
Physical Security 3echanism Barcode scanner integration=physical
Credit card process integration=physical
Business data e8change using J35