วันเสาร์ที่ 12 มีนาคม พ.ศ. 2559

ทำความรู้จักกับ JEE part 1

>> JEE คืออะไร?
JEE ย่อมาจาก Java Enterprise Edition แต่ก่อนเรียกว่า J2EE ซึ่งย่อมาจาก Java 2 Enterprise Edition, JEE คือ standard set หรือชุด (เทคโนโลยี) มาตรฐานของฝั่ง server ที่ใช้ภาษา java ในการพัฒนาครับ

>> ประกอบไปด้วยอะไรบ้าง?
JEE ประกอบไปเทคโนโลยีย่อยมากมาย อาธิ
- JavaServer Faces (JSF)
- Enterprise JavaBean (EJBs)
- Java Messaging Service (JMS)
- Java Persistence API (JPA)
- Java API for WebSocket (มีใน JEE เวอร์ชัน 7)
- Contexts and Dependency Injection (CDI)
- Java API for XML Web Services (JAX-WS)
- Java API for RESTful Web Services (JAX-RS) ซึ่งผมเขียนไปบ้างแล้ว ที่นี่
- Java API for JSON Processing (JSON-P)
- และอื่นๆ

>> เพื่อนๆทราบว่างานของจาวาคือหลังบ้านย่อมต้องการเซิร์ฟเวอร์ในการปฏิบัติการ ในเมื่อเราเป็นผู้เริ่มต้นเหมือนกัน ผมจึงขอแนะนำให้รู้จักกับ GlassFish server ครับ
อยากบอกเล่าให้เพื่อนๆทราบว่าโปรแกรมการค้าเชิงพาณิชย์ (แสวงผลกำไร) ที่มีอยู่มากมายรวมถึงเหล่าโปรแกรม open source (ไม่มีเจตจำนงแสวงผลกำไร) ที่มีอยู่ต่างก็อาศัยเซิร์ฟเวอร์ในการปฏิบัติการ (เรากำลังพูดถึงโปรแกรมจาวาอยู่นะ) หนึ่งในเซิร์ฟเวอร์ที่เป็น open source ที่สามารถทำงานงานของ JEE ได้ก็คือ GlassFish (มันเป็นจาวาแอพพลิเคชันเซิร์ฟเวอร์ตัวแรกเลยที่สามารถทำงานกับ JEE เวอร์ชัน 7) นอกจากนี้ยังมีเซิร์ฟเวอร์ open source อื่นอีก เช่น WildFly (แต่ก่อนเรียกว่า JBoss) ส่วนบริษัทขนาดใหญ่ที่ต้องใช้โปรแกรมจาวาอย่างหนัก (อาจมีทีมพัฒนาเองหรือซื้อโปรแกรมสำเร็จรูปมาก็ได้) ซึ่งยินดีจ่ายเงินซื้อจาวาเซิร์ฟเวอร์ราคาแพง เราเรียกจาวาเซิร์ฟเวอร์ดังกล่าวว่า Commercial application server ที่มีชื่อดังๆเท่าที่ผมรู้จักได้แก่ Oracle WebLogic, IBM WebSphere เป็นต้น (เพื่อนผมคนหนึ่งบอกว่าบริษัทที่จะใช้ commercial application server ได้นั้น อย่างน้อยๆต้องมีทุนหมุนเวียนหรือมูลค่าบริษัทกว่า 1000 ล้านบาทขึ้นไป ฟังแล้วตกใจ)

>> หนังสือรวมที่ผมอ่านอยู่นี้บรรจุเนื้อหาของปี 2014 ค่อนเข้าปี 2015 เดี๋ยวนี้ปี 2016 แล้ว นั่นหมายความว่าเทคโนโลยีมีการพัฒนาที่ไม่หยุดยั้งและรวดเร็ว ป่านฉะนี้มันเวอร์ชันอะไรกันแล้วไม่รู้ มีความสามารถเพิ่มขึ้นอย่างไรแล้วหาทราบไม่ ก็ต้องตามไปอ่านรายละเอียดกันอีกที ดังนั้นขอแบบคร่าวๆแล้วกันว่าแต่ละเทคโนโลยีที่ได้บอกกล่าวไปข้างต้นเขาใช้ทำอะไรกันบ้าง หรือมันมีประโยชน์อย่างไรกับเราบ้างนั่นเองครับ

>> JavaServer Faces (JSF)
- JSF คือ MVC web framework ครับ (เฟรมเวิร์ก คือ ระบบวิธีคิดที่ออกแบบมาเพื่อแก้ปัญหาอะไรสักอย่าง, MVC ก็เป็นระบบความคิดที่ต้องการแยกการทำงานของโปรแกรมส่วน business logic (อาจแยกไปใส่ไว้ใน Model) ออกจากส่วนแสดงผล (View) และมีคนกลางหรือผู้ยิ่งใหญ่คอยบงการความสัมพันธ์ระหว่าง model กับ view คนกลางนี้ก็คือ Controller) JSF ช่วยลดความยุ่งยากในการสร้าง user interfaces (UI) และให้ความสำคัญกับการนำ UI กลับมาใช้ใหม่ (reusable) ในเพจใดๆครับ อ่านต่อที่นี่
- เข้ากันได้กับ HTML5 ด้วยนะ (HTML5 friendly markup)

>> Java Persistence API (JPA)
- JPA คือ เทคโนโลยีที่ว่าด้วยวิธีการใช้คลาสและพฤติกรรมของคลาส (ง่ายๆว่าใช้คลาส) เพื่อที่จะนำข้อมูล (ผ่านทางคลาส) ปริมาณมาก (มากๆๆๆ) ไปจัดเก็บยังฐานข้อมูลโดยสะดวกแฮ มันถูกจัดตั้งหรือคิดขึ้นโดยบริษัท Oracle อ่านต่อที่นี่
- JPA ถูกรวมเข้ากับ JEE ตั้งแต่เวอร์ชัน 5 ความคิดของการใช้คลาสในทางจาวาคลาสก็ถูกทำให้เป็นมาตรฐานและ third-party object relational frameworks (มือที่สามหรือก็คือเจ้าอื่นที่ไม่ใช่ Oracle) ก็เกิดขึ้นโดยพวกเขาได้ implement ความคิดของและวิธีการนี้จาก JPA API, third-party object relational frameworks ดังกล่าวได้แก่ Hibernate, JDO เป็นต้น
- หากยังมองภาพการใช้ JPA ไม่ออก ขอแนะนำตัวอย่าง (Hibernate) จาก http://na5cent.blogspot.com/ ครับ

>> ไว้เท่านี้ก่อนนะครับ ผมกับคุณเธอกำลังจะไปวิ่งออกกำลังกายกัน ไว้มาเล่า (แอบทบทวนด้วย) ให้ฟังใหม่นะ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น