Present Project
Java Auction using EJB
เสนอโดย
น.ส. ดรุณ ี พันธุ์พานิช
นาย เอกวิทย์ สิทธิวะ
Major Advisor : Miss.Man Soon Choi
Java™ 2 Platform Editions
Java Technology
Enabled Devices Java Technology
Enabled Desktop Workgroup
Server High-End
Server
Aims and Objectives
1. เพื่อศึกษาโครงสร้ างของ Enterprise Java Beans (E
สาหรับกาหนดค่าต่าง ๆ ของส่วนประกอบต่างของโปรแกรม
่
2. เพื่อเขียนโปรแกรมจาวาที่ทางานอยูในส่วนของ network
โดยใช้ รูปแบบของ ไคล์เอ็นต์/เซอร์ เวอร์ client/server
We make a special study of; that Enterp
(EJB) is an architecture for setting up prog
written in the Java programming language,
the server parts of a computer network tha
client/server model. client/server model.
ขอบเขตงาน
1. ศึกษารูปแบบการทางานของเว็บไซต์ประมูลตามหลักการของ
Business Model
2. ศึกษาสถาปัตยกรรมของ J2EE
3. สร้างเว็บไซต์ประมูล
้
ขันตอนการทางานและระยะเวลาในการ
ดาเนินงานอย่างละเอียด
รูปแบบของ Ecommerce
• ผู้ประกอบการ กับ ผู้บริโภค (Business to Consumer - B2C)
้้ ้
คือการค้าระหว่างผูคาโดยตรงถึงลูกค้าซึ่ งก็คือผูบริ โภค เช่น การขายหนังสื อ ขายวีดีโอ
ขายซี ดีเพลงเป็ นต้น
• ผู้ประกอบการ กับ ผู้ประกอบการ (Business to Business – B2B)
้้ ู ้
คือการค้าระหว่างผูคากับลูกค้าเช่นกัน แต่ในที่น้ ีลกค้าจะเป็ นในรู ปแบบของผูประกอบการ
ในที่น้ ีจะครอบคลุมถึงเรื่ อง การขายส่ ง การทาการสั่งซื้ อสิ นค้าผ่านทางระบบอิเล็กทรอนิ กส
ระบบห่ วง โซ่การผลิต (Supply Chain Management) เป็ นต้น
ซึ่ งจะมีความซับซ้อนในระดับต่างๆกันไป
รูปแบบของ Ecommerce
B2B
Delivery Bank
Auction Site
Customer
B2C
Why use J2EE
จากความพยายามที่จะหาระบบที่สามารถรองรับ application
สาหรับให้ บริการในระดับ enterprise เพื่อให้ การติดต่ อประสาน
ระหว่ างกลุ่มผู้เกี่ยวข้ องต่ างๆ ในระบบธุรกิจ เช่ น ลูกค้ า ,
suppliers หรือ partners หรือจะเป็ นกับพนักงานของบริษัทเอง
ให้ สามารถดาเนินไปอย่ างสะดวกและมีประสิทธิภาพ
้
ด้ วยแนวความคิดนี ้ จึงมีการขยายโครงสร้ างขึน จากแนว
ความคิดแบบเดิมที่เป็ น 2-Tier ซึ่งไม่ สามารถรองรับระบบงาน
ที่ซับซ้ อนมากๆได้ โดยเพิ่ม Middle -Tier เข้ าไปดังรูป
Tier
2-tier 3-tier
J2EE
• J2EE (Java 2 Enterprise Edition) โดย J2EE เป็ น
application model ที่กาหนดสถาปั ตยกรรมโครงสร้ าง
ในการให้ บริการต่ างๆที่สามารถรองรับความต้ องการ
ระบบงานที่ซับซ้ อนได้ เป็ นอย่ างดี
• J2EE application model จะแบ่ งการทางานเป็ นสอง
ส่ วนคือ ส่ วนของ business & presentation logic กับ
อีกส่ วนหนึ่งคือ standard system services
J2EE
• ซึ่งในส่ วนของ business & presentation logic นัน้
คงเป็ นหน้ าที่ของ developer ในแต่ ละองค์ กรอยู่แล้ ว
แต่ ในอีกส่ วนคือ standard system services เช่ น การ
้
จัดการ transaction , state , security นันเราสามารถ
ปล่ อยให้ เป็ นภาระของ J2EE platform ได้ เลย
J2EE
• ในส่ วนของ Middle Tier นี ้ เราจะแยกออกเป็ น
business logic กับ presentation logic
• business logic ----> ใช้ Enterprise Java Bean (EJB)
ซึ่งเป็ นส่ วนที่ซับซ้ อน
• user interface----> ใช้ Java Server Pages (JSP)
และ Servlet
Environment on J2EE platform
Figure Environment on J2EE platform
Application for the Enterprise JavaBeansTM platform
• เราจะใช้ นาเทคโนโลยี J2EE มาใช้ ทา Auction site ต้ องมี
ส่ วนประกอบต่ างๆเช่ น ฐานข้ อมูล ซึ่งสามารถใช้ JDBC เข้ า
มาทางานให้ และคงต้ องมี shopping cart, catalog,
้
membership ซึ่งงานเหล่ านีจะทาเป็ น EJB
• ในส่ วนที่เป็ น user interface ก็ทาด้ วย servlet และ JSP เช่ น
้ ้
การสั่งซือเป็ นต้ น นอกจากนีก็จะมี JavaMail มาช่ วยในการ
้
ยืนยันการสั่งซือ
EJB
EJB เป็ น Standard Component สาหรับ
Distributed Object-Oriented Busine
ด้ วย Java Programming Language แ
สามารถทางานร่วมกับ Component อื่น ๆ
ั
จากบริ ษัทผู้พฒนา ( Vendors ) ที่แตกต่างกัน
ั
EJB ง่ายต่อการพัฒนา Application โดยผู้พฒนาไม่ต้องมีความรู้ด
Low-Level Transaction, State Management D
Connection Pooling และ Low-Level API อื่น ๆ
EJB
EJB สนับสนุนปรัชญา The Write Once, Run Anywh
Programming Language ในการทางานบน Multiple
โดยปราศจากการ Recompilation หรื อแก้ ไข Source Cod
้
EJB จะสนับสนุนการทางานระหว่า Enterprise Application ทังที่เป็ น J
ava 2 Platform Enterprise Edition ) และ ที่ไม่เป็ น Java Pla
EJB จะสนับสนุนความสามารถเฉพาะ Server Platforms ที่มีอย
แต่ Vendors สามารถเพิ่มความสามารถพิเศษ ( Specialty ) ของ
Server Product ลงไปใน EJB Architecture แต่ต้องยังคงค
Compatible ของ EJB ไว้
JSP
Java Server Pages (JSP) เป็ น web-scripting
Netscape server-side JavaScript (SSJS) หร
Server Pages (ASP) แต่ผิดกันตรงที่ JSP มีพื ้นฐานมา
่ ่ ่
ซึงเป็ นภาษาแบบ object-oriented ซึงช่วยทาให้ งายต่อการพัฒ
ในโครงการใหญ่ ๆ ตลอดจนสามารถนาส่วนประกอบต่าง ๆ กลับมา
ใช้ ได้ อีก (software reusable) จุดเด่นที่สาคัญของ JSP ค
่ ั ่
ทางานได้ โดยไม่ขึ ้นอยูกบผู้ผลิตซอฟแวร์ รายใดรายหนึงโดยเฉพาะ
่ ่ ่
ซึงโดยทัวไปเทคโนโลยีตาง ๆ มักจะออกมาในลักษณะของผลิตภัณฑ์
จากบริ ษัทผู้ผลิตแห่งใดแห่งหนึง ่
Servlet
Servlet เป็ น Server Side Application แบบหนึงซึงอ้ าง ่ ่
มาจาก CGI ข้ อดีของ Servlet ที่อยูเ่ หนือ CGI อย่างแรกก็คือต
่ ่
ภาษาที่ใช้ เขียนซึงก็คือจาว่านันเอง จาว่าเป็ นภาษาที่ใช้ คอนเซ็ปของ
Object Oriented ในการเขียน หลายคนที่เกี่ยวข้ องกับการเขียน
่
โปรแกรมสาหรับโปรเจคใหญ่ ๆ จะทราบดีวา Object Oriented
สามารถลดความซับซ้ อนของโครงสร้ างโปรแกรมรวมไปถึงการอานวย
ความสะดวกในการ reuse ส่วนของโปรแกรมที่เขียนไว้ แล้ วเพียงไร
นอกจากนี ้จาว่ายังเป็ นภาษาที่เป็ นลักษณะแบบ platform indepe
Servlet
่
โดยจะทาการสร้ าง 1 thread ต่อหนึง request ที่มาจาก clien
่
ทางกลับกัน CGI จะทาการสร้ าง 1 process ต่อหนึง reques
ให้ เปลืองทรัพยาการมากกว่าและ process ในการรันก็จะช้ ากว่าด้ วย
ุ
ท้ ายที่สดจุดเด่นที่สาคัญของ Servlet ก็คือ API
(Application Programming Interface) โดยระบบท
โดยใช้ คอนเซ็ปของ Servlet จะสามารถเรี ยกใช้ API ที่ทางจาว่ามีม
่
(javax.servlet.*, javax.servlet.http.*) ซึงจะช่วยทาใ
ดังกล่าวง่ายและเร็วยิ่งขึ ้น
Business Logic
• Business Logic หลายถึง แนวทางในการดาเนินธุรกิจ
( Business function ) โดยได้ มีการนาหลักการ object-oriented
มาใช้ ในการพัฒนาโปรแกรม เรียกว่ า Business Object โดย
Business Object ต้ องจัดเก็บสถานะของการ process, ลาดับ
้
เหตุการที่เกิดขึน หรือเรียกว่ า “Transaction”
Common Requirements of Business objects
1. Operate on Shared Data
2. Participate in Transactions
3. Service a Large Number of Clients
4. Provide Remote
5. Access to Data
6. Control Access
7. Reusable
Use case diagram shows
the relationships for Auction
Activity Diagram