สวัสดีครับ,..
ก็ห่างหายกันไปนานนะครับ 🙂
เช่นเคยครับ อ้างว่างานเยอะตลอดดดด
จริงๆก็แค่ งานเยอะ จนไม่อยากใช้วันหยุดไปกับเทคโนโลยีหน่ะครับ
เลยออกไปปั่นจักรยาน ไม่ยอมมาเขียน blog
–
อ่ะ ก็อ้างกันไปตามประสา
แต่วันนี้เขียนแล้วครับ
พอดี ผมทำ Java Bootcamp ไปเรื่อยๆ 2 เดือนครั้ง
แล้วช่วงนี้กำลังไล่เทคโนโลยี Java EE ตั้งแต่ต้น
ก็เลยถือโอกาส เอาเรื่องที่พูดใน Java Bootcamp มาเรียบเรียงให้ฟังกันแล้วกันครับ
–
Servlet…
ใช่ครับ วันนี้เราจะมาพูดกันถึง Servlet
ซึ่งเป็นรากฐานที่สุดของ Web Container บน Java EE
–
สำหรับมือใหม่อยากเริ่ม Java EE แนะนำให้อ่าน Starter Series นี้ได้เลยครับ 🙂
(จะพยายามเขียนให้นะ)
–
หลายคนชอบเรียนลัด เดี๋ยวก็เขียน JSF, Spring MVC หรือ Struts
แต่อย่าลืมว่าทุกอย่างเกิดจากรากฐาน
เราเรียนเร็วได้ แต่เราอย่าลืมว่าต้นกำเนิดของมันคืออะไร
–
Java EE เป็น Platform เพื่อให้ Java เดิมๆ (Java SE) มีคุณสมบัติ 3 ข้อนี้ สำหรับทำงาน Enterprise
- Mission Critical
- Reliable and Scalable
- Secure
เพราะอยากได้คุณสมบัติ 3 ข้อนี้ เราถึงเขียนแบบ public static void main() ธรรมดาไม่ได้
–
เพื่อคุณสมบัติ 3 ข้อเมื่อกี้ ทำให้เราต้องมีการกำหนด Software เพิ่มเติมสำหรับ Java EE Platform
ถ้าเราเขียน Java SE เราก็มีแค่ JDK หรือถ้าเราจะ run เราก็มีแค่ JRE ใช่รึป่าวครับ?
แต่ถ้าเราจะเขียน Java EE เราต้องมี Java EE Application Server
หรือ Application Server ที่ทำตามมาตรฐานของ Java EE
เช่น WebLogic, WebSphere, JBoss, Glassfish, …
–
Java EE Application Server นี่แหละครับ ที่ยกระดับการเขียนภาษา Java ของเรา ให้ต่างจาก Java SE และให้ได้มาซึ่งคุณสมบัติ 3 ข้อด้านบน
–
Java EE Application Server นั้นเป็นอย่างไร ก็เป็น Application Server หรือ Server สำหรับยัด Application เพื่อไป run ได้นั่นเอง
แต่ Application ที่จะไป run ได้ ต้องมีรูปแบบ ตามที่มาตรฐานกำหนดครับ ซึ่ง Java EE Application Server โดยมาตรฐาน จะ run application ได้ 3 รูปแบบ
- Web ARchive (WAR file) ซึ่งจะเก็บโปรแกรมที่เป็น Web Component
- ejb Java ARchive (JAR file) ซึ่งจะเก็บโปรแกรมที่เป็น EJB Component
- Enterprise ARchive (EAR file) ซึ่งจะ pack รวม WAR file และ ejb JAR file เพื่อสำหรับ component ที่ใช้งานร่วมกัน เพื่อง่ายต่อการ deploy
–
จะเห็นว่าเราจะมี 2 type หลักๆคือ WAR file กับ ejb JAR file ส่วน EAR file นั้นก็แค่ที่รวมของ WAR และ ejb JAR เพื่ออำนวยความสะดวกในการ deploy
ทีนี้ คำถามคือว่า WAR และ ejb JAR นั้น เวลา deploy แล้วไปทำงานบน Java EE Application Server อย่างไร?
ตอบง่ายๆครับ ข้างใน Java EE Application Server ก็คือ โปรแกรม Java ตัวนึง ที่เขียนขึ้นมาเพื่อเพิ่มคุณสมบัติ 3 ข้อ ให้กับ Java Application ที่มา deploy ลงบนตัวมัน โดย Java EE Application Server จะทำตัวเป็น Platform ให้กับ Java Application ที่เราเอาไป deploy ใส่
ซึ่งเวลา Java EE Application Server ถูก run ขึ้นมา มันจะเตรียมส่วนของโปรแกรมไว้ 2 ส่วน สำหรับรับ Java Application ที่มา deploy ใส่ โดยส่วนของโปรแกรมใน Java EE Application Server นั้น เราเรียกว่า
- Web Container
- EJB Container
ถึงตรงนี้ พอเดาได้แล้วใช่มั้ยครับ ว่าที่ผมบอกว่า เรา deploy ได้ 3 รูปแบบไฟล์ แต่ไฟล์ EAR เป็นแค่ pack รวมของ WAR และ ejb JAR ดังนั้น พอจะ map ได้มั้ยครับ ว่า WAR และ ejb JAR จะไปลงที่ไหน?
–
ใช่ครับ
- WAR -> Web Container
- ejb JAR -> EJB Container
- EAR -> โดยระเบิดเป็น WAR และ ejb JAR แล้วแยกยัดลง Web Container และ EJB Container
–
ทีนี้เราก็มาถึงจุดนี้ละ จุดที่เรารู้จัก Container ของ Java EE Application Server แล้ว
จุดนี้แหละครับ ตัว Container นี่แหละครับ ที่คอยช่วยเพิ่มคุณสมบัติ 3 ประการ ของ Enterprise Application ให้ Application ของเรา ที่เขียนบน Java EE Platform
–
และ Servlert ก็เป็น 1 ใน Class ที่เราต้องไป extend มาเวลาเราเขียน Java EE Platform เพื่อใช้โปรแรกมเราได้มีส่วนในการใช้คุณสมบัติ 3 ประการของ Enterprise Application ที่ Java EE มอบให้
–
หมดแรงละ รอบหน้าเล่า Servlet ต่อแล้วกัน รอบนี้ปูพื้นมาก่อน จบแค่ Java EE Platform
–
สวัสดีครับ
–
ขอบคุณคร้าฟ รอตอนต่อไป
รออ่านต่อ บรรยายได้สนุกมากครับ 🙂
รอหน่อยนะครับ ช่วงนี้ยังติด project อยู่เลย
อ่านเพลินดี และได้ได้รับความรู้พื้นฐานที่สำคัญ ขอบคุณครับ
ยินดีครัร
อ่านเพลินเลยครับ