Major Advisor : Miss.Man Soon Choi 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 (EJB) สำหรับกำหนดค่าต่าง ๆ ของส่วนประกอบต่างของโปรแกรม 2. เพื่อเขียนโปรแกรมจาวาที่ทำงานอยู่ในส่วนของ network โดยใช้รูปแบบของ ไคล์เอ็นต์/เซอร์เวอร์ client/server We make a special study of; that Enterprise JavaBeans (EJB) is an architecture for setting up program components, written in the Java programming language, that run in the server parts of a computer network that uses the client/server model. client/server model.
ขอบเขตงาน ศึกษารูปแบบการทำงานของเว็บไซต์ประมูลตามหลักการของ Business Model ศึกษาสถาปัตยกรรมของ J2EE สร้างเว็บไซต์ประมูล
ขั้นตอนการทำงานและระยะเวลาในการ ดำเนินงานอย่างละเอียด
รูปแบบของ Ecommerce ผู้ประกอบการ กับ ผู้บริโภค (Business to Consumer - B2C) คือการค้าระหว่างผู้ค้าโดยตรงถึงลูกค้าซึ่งก็คือผู้บริโภค เช่น การขายหนังสือ ขายวีดีโอ ขายซีดีเพลงเป็นต้น ผู้ประกอบการ กับ ผู้ประกอบการ (Business to Business – B2B) คือการค้าระหว่างผู้ค้ากับลูกค้าเช่นกัน แต่ในที่นี้ลูกค้าจะเป็นในรูปแบบของผู้ประกอบการ ในที่นี้จะครอบคลุมถึงเรื่อง การขายส่ง การทำการสั่งซื้อสินค้าผ่านทางระบบอิเล็กทรอนิกส์ ระบบห่วง โซ่การผลิต (Supply Chain Management) เป็นต้น ซึ่งจะมีความซับซ้อนในระดับต่างๆกันไป
รูปแบบของ Ecommerce B2B Delivery Bank B2C Auction Site Customer
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 Business Application ด้วย Java Programming Language และ EJB สามารถทำงานร่วมกับ Component อื่น ๆ จากบริษัทผู้พัฒนา ( Vendors ) ที่แตกต่างกัน EJB ง่ายต่อการพัฒนา Application โดยผู้พัฒนาไม่ต้องมีความรู้ด้าน Low-Level Transaction, State Management Details,Multi-threading, Connection Pooling และ Low-Level API อื่น ๆ
EJB EJB สนับสนุนปรัชญา The Write Once, Run Anywhere ของ Java Programming Language ในการทำงานบน Multiple Platforms โดยปราศจากการ Recompilation หรือแก้ไข Source Code EJB จะสนับสนุนการทำงานระหว่า Enterprise Application ทั้งที่เป็น J2EE (Java 2 Platform Enterprise Edition ) และ ที่ไม่เป็น Java Platform EJB จะสนับสนุนความสามารถเฉพาะ Server Platforms ที่มีอยู่ทั่วไป แต่ Vendors สามารถเพิ่มความสามารถพิเศษ ( Specialty ) ของบาง Server Product ลงไปใน EJB Architecture แต่ต้องยังคงความ Compatible ของ EJB ไว้
JSP Java Server Pages (JSP) เป็น web-scripting เทคโนโลยีคล้ายกับ Netscape server-side JavaScript (SSJS) หรือ Microsoft Active Server Pages (ASP) แต่ผิดกันตรงที่ JSP มีพื้นฐานมาจาก Java ซึ่งเป็นภาษาแบบ object-oriented ซึ่งช่วยทำให้ง่ายต่อการพัฒนา ในโครงการใหญ่ ๆ ตลอดจนสามารถนำส่วนประกอบต่าง ๆ กลับมา ใช้ได้อีก (software reusable) จุดเด่นที่สำคัญของ JSP คือสามารถ ทำงานได้โดยไม่ขึ้นอยู่กับผู้ผลิตซอฟแวร์รายใดรายหนึ่งโดยเฉพาะ ซึ่งโดยทั่วไปเทคโนโลยีต่าง ๆ มักจะออกมาในลักษณะของผลิตภัณฑ์ จากบริษัทผู้ผลิตแห่งใดแห่งหนึ่ง
Servlet Servlet เป็น Server Side Application แบบหนึ่งซึ่งอ้างอิงคอนเซ็ป มาจาก CGI ข้อดีของ Servlet ที่อยู่เหนือ CGI อย่างแรกก็คือตัว ภาษาที่ใช้เขียนซึ่งก็คือจาว่านั่นเอง จาว่าเป็นภาษาที่ใช้คอนเซ็ปของ Object Oriented ในการเขียน หลายคนที่เกี่ยวข้องกับการเขียน โปรแกรมสำหรับโปรเจคใหญ่ ๆ จะทราบดีว่า Object Oriented สามารถลดความซับซ้อนของโครงสร้างโปรแกรมรวมไปถึงการอำนวย ความสะดวกในการ reuse ส่วนของโปรแกรมที่เขียนไว้แล้วเพียงไร นอกจากนี้จาว่ายังเป็นภาษาที่เป็นลักษณะแบบ platform independent
Servlet โดยจะทำการสร้าง 1 thread ต่อหนึ่ง request ที่มาจาก client ซึ่งใน ทางกลับกัน CGI จะทำการสร้าง 1 process ต่อหนึ่ง request* ซึ่งจะทำ ให้เปลืองทรัพยาการมากกว่าและ 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 Operate on Shared Data Participate in Transactions Service a Large Number of Clients Provide Remote Access to Data Control Access Reusable
Use case diagram shows the relationships for Auction
Activity Diagram