โปรดบอกความแตกต่างระหว่างเว็บเซิร์ฟเวอร์เว็บคอนเทนเนอร์และแอปพลิเคชันเซิร์ฟเวอร์
โปรดบอกความแตกต่างระหว่างเว็บเซิร์ฟเวอร์เว็บคอนเทนเนอร์และแอปพลิเคชันเซิร์ฟเวอร์
คำตอบ:
คำถามของคุณคล้ายกับด้านล่าง:
แอพพลิเคชั่นเซิร์ฟเวอร์และเว็บเซิร์ฟเวอร์ต่างกันอย่างไร?
ใน Java: Web Container หรือ Servlet Container หรือ Servlet Engine: ใช้เพื่อจัดการส่วนประกอบเช่น Servlets, JSP มันเป็นส่วนหนึ่งของเว็บเซิร์ฟเวอร์
เว็บเซิร์ฟเวอร์หรือเซิร์ฟเวอร์ HTTP: เซิร์ฟเวอร์ที่สามารถจัดการคำขอ HTTP ที่ไคลเอ็นต์ส่งมาและตอบกลับด้วยการตอบกลับ HTTP
เซิร์ฟเวอร์แอปพลิเคชันหรือเซิร์ฟเวอร์แอป: สามารถจัดการการทำงานของแอปพลิเคชันทั้งหมดระหว่างผู้ใช้และแอปพลิเคชันทางธุรกิจหรือฐานข้อมูลส่วนหลังขององค์กรมักถูกมองว่าเป็นส่วนหนึ่งของแอปพลิเคชันสามชั้นโดยมี: ระดับการนำเสนอ, ระดับตรรกะ, ชั้นข้อมูล
เว็บเซิร์ฟเวอร์: มีการร้องขอ HTTP และการตอบสนอง HTTP จัดการคำขอจากไคลเอนต์ผ่านโปรโตคอล HTTP เท่านั้น ประกอบด้วยเว็บคอนเทนเนอร์ Web Application ส่วนใหญ่ใช้งานบนเว็บเซิร์ฟเวอร์ เช่น Servlet JSP
Web Container: รักษาวงจรชีวิตของ Servlet Object เรียกใช้เมธอดเซอร์วิสสำหรับออบเจ็กต์ servlet นั้น ผ่านวัตถุ HttpServletRequest และ HttpServletResponse
เซิร์ฟเวอร์แอปพลิเคชัน: มีแอปพลิเคชันระดับองค์กรขนาดใหญ่ที่มีตรรกะทางธุรกิจขนาดใหญ่ มีน้ำหนักมากหรือมีน้ำหนักมาก เช่น EJB
เว็บแอปพลิเคชันทำงานภายในเว็บคอนเทนเนอร์ของเว็บเซิร์ฟเวอร์ เว็บคอนเทนเนอร์จัดเตรียมสภาพแวดล้อมรันไทม์ผ่านคอมโพเนนต์ที่จัดเตรียมบริบทการตั้งชื่อและการจัดการวงจรชีวิต บางเว็บเซิร์ฟเวอร์อาจให้บริการเพิ่มเติมเช่นการรักษาความปลอดภัยและการควบคุมการทำงานพร้อมกัน เว็บเซิร์ฟเวอร์อาจทำงานร่วมกับเซิร์ฟเวอร์ EJB เพื่อให้บริการบางอย่าง อย่างไรก็ตามเว็บเซิร์ฟเวอร์ไม่จำเป็นต้องอยู่บนเครื่องเดียวกันกับเซิร์ฟเวอร์ EJB
เว็บแอปพลิเคชันประกอบด้วยส่วนประกอบของเว็บและข้อมูลอื่น ๆ เช่นหน้า HTML ส่วนประกอบของเว็บสามารถเป็น servlets เพจ JSP ที่สร้างขึ้นด้วยเทคโนโลยี JavaServer Pages ™ตัวกรองเว็บและตัวฟังเหตุการณ์บนเว็บ โดยทั่วไปส่วนประกอบเหล่านี้จะดำเนินการในเว็บเซิร์ฟเวอร์และอาจตอบสนองต่อคำร้องขอ HTTP จากเว็บไคลเอ็นต์ Servlets เพจ JSP และตัวกรองอาจถูกใช้เพื่อสร้างเพจ HTML ที่เป็นอินเทอร์เฟซผู้ใช้ของแอปพลิเคชัน นอกจากนี้ยังอาจใช้เพื่อสร้าง XML หรือข้อมูลรูปแบบอื่น ๆ ที่ใช้โดยส่วนประกอบของแอปพลิเคชันอื่น
ที่มา: http://www.service-architecture.com/articles/application-servers/j2ee_web_server_or_container.html
เว็บคอนเทนเนอร์หรือที่เรียกว่า Servlet container เป็นส่วนประกอบของเว็บเซิร์ฟเวอร์ที่โต้ตอบกับ Java servlets เว็บคอนเทนเนอร์มีหน้าที่จัดการวงจรชีวิตของ servlets การแมป URL กับ servlet เฉพาะและตรวจสอบให้แน่ใจว่าผู้ร้องขอ URL มีสิทธิ์การเข้าถึงที่ถูกต้อง
ความแตกต่างที่สำคัญระหว่างเว็บคอนเทนเนอร์และแอ็พพลิเคชันเซิร์ฟเวอร์คือเว็บคอนเทนเนอร์ส่วนใหญ่เช่น Apache Tomcat ใช้เฉพาะ JSR พื้นฐานเช่น Servlet, JSP, JSTL ขณะที่เซิร์ฟเวอร์แอปพลิเคชันใช้ Java EE Specification ทั้งหมด ทุกแอ็พพลิเคชันเซิร์ฟเวอร์ประกอบด้วยเว็บคอนเทนเนอร์
การจัดการคำขอเว็บคอนเทนเนอร์ + HTTP = WebServer
เว็บเซิร์ฟเวอร์ + EJB + (ข้อความ + ธุรกรรม + ฯลฯ ) = ApplicaitonServer
เว็บคอนเทนเนอร์มีหน้าที่จัดเตรียมสภาพแวดล้อมรันไทม์ให้กับเว็บแอ็พพลิเคชัน ประกอบด้วยส่วนประกอบที่จัดเตรียมบริบทการตั้งชื่อและจัดการวงจรชีวิตของเว็บแอปพลิเคชัน เว็บคอนเทนเนอร์เป็นส่วนหนึ่งของเว็บเซิร์ฟเวอร์และโดยทั่วไปจะประมวลผลคำขอของผู้ใช้และส่งการตอบสนองแบบคงที่
คอนเทนเนอร์ Servlet เป็นคอนเทนเนอร์ที่ JSP สร้างขึ้น โดยพื้นฐานแล้วพวกเขามีหน้าที่รับผิดชอบในการจัดหาเนื้อหาแบบไดนามิกตามคำขอของผู้ใช้ โดยทั่วไปเว็บคอนเทนเนอร์จะตอบกลับด้วยเนื้อหาแบบคงที่ตามคำขอของผู้ใช้ แต่ Servlets สามารถสร้างไดนามิกเพจได้
แนวคิดพื้นฐานของServlet containerคือการใช้ Java เพื่อสร้างเว็บเพจแบบไดนามิกบนฝั่งเซิร์ฟเวอร์โดยใช้ Servlets และ JSP ดังนั้นservlet containerจึงเป็นส่วนหนึ่งของเว็บเซิร์ฟเวอร์ที่โต้ตอบกับservlet