[บทความพิเศษ IT168] เรารู้ว่า JSP (JavaServer Pages) เป็นมาตรฐานเทคโนโลยีเว็บเพจแบบไดนามิก Servlets คือคำตอบของเทคโนโลยี Java สำหรับการเขียนโปรแกรม CGI
มีเว็บเซิร์ฟเวอร์จำนวนมากที่รองรับ JSP/Servlet การเลือกเว็บเซิร์ฟเวอร์ที่เหมาะสมเป็นสิ่งสำคัญมากสำหรับการสร้างเว็บไซต์ JSP เว็บเซิร์ฟเวอร์ที่มีชื่อเสียงมากขึ้น ได้แก่ Allaire JRun, Apache Tomcat, BEA Weblogic Application Server, IBM WebSphere Application Server, iPlanet Web Server, JavaServer Web Development Kit (JSWDK) และ Java Web Server เป็นต้น
เมื่อสร้างเว็บไซต์ JSP JSWDK สามารถใช้เป็นเว็บเซิร์ฟเวอร์สำหรับการเรียนรู้และการดีบัก โดยทั่วไป เว็บไซต์ขนาดเล็กและขนาดกลางสามารถใช้ Apache+Tomcat เป็นเว็บไซต์ระดับองค์กรขนาดใหญ่ สามารถใช้ IBM WebSphere Application Server, BEA Weblogic Application Server และ SUN iPlanet Web Server ฯลฯ ทำหน้าที่เป็นเซิร์ฟเวอร์เว็บ
1. ใช้ JSP โดยตรง
สำหรับเว็บไซต์ที่เล็กที่สุด JSP สามารถใช้โดยตรงเพื่อสร้างเว็บเพจแบบไดนามิก สำหรับโมเดลการพัฒนานี้ โดยทั่วไปส่วนการประมวลผลแบบไดนามิกทั้งหมดสามารถวางในสคริปต์เล็ต JSP ได้ เช่นเดียวกับ PHP หรือ ASP โดยทั่วไปจะใช้เพื่อสร้างเว็บเพจแบบไดนามิก
2. JSP+JavaBeans
ไซต์ขนาดกลางเผชิญกับการสืบค้นฐานข้อมูล การจัดการผู้ใช้ และตรรกะทางธุรกิจเชิงพาณิชย์จำนวนเล็กน้อย การเพิ่มเทคโนโลยี JAVABEANS ให้กับ JSP จะช่วยในการพัฒนาเว็บไซต์ขนาดกลางนี้ การใช้ JAVABEANS จะทำให้งานต่างๆ เช่น การเชื่อมต่อฐานข้อมูล การล็อกอินและล็อกเอาต์ของผู้ใช้ และการห่อหุ้มตรรกะทางธุรกิจเชิงพาณิชย์เป็นเรื่องง่าย ดังแสดงในรูปที่ 1
รูปที่ 1 |
3. JSP+JavaBeans+เซิร์ฟเล็ต
เมื่อใช้ ASP หรือ PHP เพื่อจัดโครงสร้างเว็บไซต์แบบไดนามิก จะมีความสัมพันธ์เชิงตรรกะระหว่างเว็บไซต์และหน้าแสดงผลของเว็บไซต์ที่ไม่สามารถแยกออกจากกันได้ง่าย ในเว็บไซต์ที่มีความสัมพันธ์เชิงตรรกะที่ซับซ้อนอย่างยิ่ง ด้วยความช่วยเหลือของการโต้ตอบที่ดีระหว่าง Servlet และ JSP และความช่วยเหลือของ JavaBeans โครงสร้างเชิงตรรกะทั้งหมดของเว็บไซต์สามารถวางใน Servlet และวางเอาต์พุตของหน้าไดนามิกได้ ในหน้า JSP ในวิธีการพัฒนานี้ เว็บไซต์สามารถมีหนึ่งหรือหลาย Servlets หลักเพื่อจัดการตรรกะของเว็บไซต์ และดำเนินการตามคำขอของลูกค้า (โดยปกติจะเป็นเว็บเบราว์เซอร์) โดยการเรียกเพจ JSP ในโมเดล J2EE ฟังก์ชันของ Servlet สามารถแทนที่ได้ด้วย EJB ดังแสดงในรูปที่ 2
รูปที่ 2 |
4. โมเดลการพัฒนา J2EE
ในโมเดลการพัฒนา J2EE ทั้งระบบสามารถแบ่งได้เป็น 3 ส่วนหลัก (ดังแสดงในรูปที่ 3)
รูปที่ 3 |
* คอนโทรลเลอร์ ผู้ควบคุมมีหน้าที่รับผิดชอบตรรกะทั้งหมดของเว็บไซต์ ใช้เพื่อจัดการการโต้ตอบของผู้ใช้กับมุมมอง ใน J2EE โดยทั่วไปฟังก์ชันคอนโทรลเลอร์จะดำเนินการโดย SessionBeans ใน Servlets, JavaBeans และ Enterprise JavaBeans
* แบบอย่าง. โมเดลนี้เป็นส่วนตรรกะทางธุรกิจของแอปพลิเคชัน บทบาทหลักของส่วนนี้คือ Enterprise JavaBeans ด้วยความช่วยเหลือของเทคโนโลยีส่วนประกอบอันทรงพลังของ EJB และการควบคุมการจัดการระดับองค์กร นักพัฒนาสามารถสร้างโมดูลตรรกะทางธุรกิจที่นำมาใช้ซ้ำได้อย่างง่ายดาย
ระบบปฏิบัติการเว็บไซต์ที่สร้างโดย JSP สามารถเลือกแพลตฟอร์ม Unix, Linux หรือ Windows ได้ เว็บเซิร์ฟเวอร์อาจเป็นเชิงพาณิชย์หรือใช้ซอฟต์แวร์เซิร์ฟเวอร์ฟรี เช่น Apache และ Tomcat ฐานข้อมูลส่วนหลังสามารถเลือก Oracle, Sybase, DB2 หรือ Informax, MySQL ฯลฯ ตามสถานการณ์จริง
ทั้ง Apache และ Tomcat สามารถใช้เป็นเว็บเซิร์ฟเวอร์อิสระได้ Apache นั้นทรงพลังและมีประสิทธิภาพ แต่ไม่รองรับ JSP และ serlets Tomcat เป็นเซิร์ฟเวอร์ JSP ที่พัฒนาร่วมกันโดย Sun และ Apache ตอนนี้ Tomcat ได้กลายเป็นกลไกหลักของ Servlet และ JSP Tomcat ได้รับการออกแบบมาให้ทำงานเป็นเซิร์ฟเวอร์อิสระ ซึ่งแตกต่างจาก Jserv ที่เชื่อมต่อกับ Apache เพื่อให้สามารถใช้งานความสามารถในเซิร์ฟเล็ตแทน HttpServlet Tomcat เป็นโปรแกรม Java ดังนั้นตราบใดที่คุณมี JDK คุณสามารถใช้งานได้โดยไม่ต้องคำนึงถึงแพลตฟอร์มระบบปฏิบัติการ
เนื่องจากเป็นส่วนขยายเซิร์ฟเวอร์เว็บ เซิร์ฟเวอร์ Tomcat มีปัญหาบางอย่างที่ต้องอธิบาย: Tomcat ไม่เร็วเท่ากับ Apache เมื่อประมวลผลเพจแบบคงที่ Tomcat ไม่สามารถกำหนดค่าได้เท่ากับ Apache; ด้วยเหตุผลข้างต้น เว็บไซต์จริงใช้ Apache เป็นเว็บเซิร์ฟเวอร์เพื่อให้บริการคำขอหน้าคงที่ของเว็บไซต์ และใช้เซิร์ฟเวอร์ Tomcat เป็นปลั๊กอิน Servlet/JSP เพื่อแสดงหน้าไดนามิกของเว็บไซต์
การใช้โครงสร้างอย่าง apache+tomcat มีข้อได้เปรียบที่โดดเด่นกว่า โดยส่วนใหญ่สะท้อนให้เห็นจากความสามารถในการปรับขนาดและความปลอดภัยที่ดีขึ้น คุณสมบัติหลักของเว็บไซต์ประเภทนี้คือแต่ละหน้าอาจถูกสร้างขึ้นแบบไดนามิก แต่ส่วนหลักของข้อมูลยังคงเป็นแบบคงที่ (เช่น รูปภาพต่างๆ GIF, JPG, PNG, สื่อสตรีมมิ่ง ฯลฯ ) โครงสร้างนี้มีประโยชน์ เป็นทั้งความสามารถในการปรับขนาดและความปลอดภัย