J2EE และ EJB (Java 2 Enterprise Edition and Enterprise Java Bean) Cont.

02:31 เขียนโดย QA Optimization - Performance and Stability










EJB Ecosystem
EJB Specification ได้ให้คำแนะนำในการแบ่งกลุ่มของการทำงานต่างๆ ของสภาวะแวดล้อมในการพัฒนา EJB ไว้ 6 กลุ่ม เพื่อให้เกิดประสิทธิภาพ ซึ่งในความเป็นจริง ไม่จำเป็นต้องปฏิบัติตามก็ได้ กลุ่มต่างๆ แสดงได้ ดังรูป

1. Bean Provider เป็นผู้ผลิต EJB ซึ่งจะประกอบด้วย Business Logic Support ให้กับธุรกิจประเภทต่างๆ
2. EJB Containment/Server Provider
เป็นผลิต Application Server ตัวอย่าง Web Sphere ของ IBM หรือ JBOSS เป็นต้น
3. Application Assembler
จะเป็นผู้ที่นำ Component EJB มาประกอบกันเป็น Application ตามที่ต้องการ
4. Tool Provider
จะเป็นผู้ผลิต เครื่องมือต่างๆ เพื่อลดระยะเวลาในการพัฒนา เพิ่มความสะดวกให้กับผู้พัฒนา
5. Deployer
เป็น จัดทำให้ Component EJB Deploy และ Run บน Application Server ได้
6. System Administrator
หรือ Maintain Deployment เป็นผู้ดูแลระบบงานหลังจาก Deploy แล้ว
จากองค์ประกอบ ทั้ง 6 กลุ่ม ทำให้เห็นผู้ที่ต้องเข้ามาเกี่ยวข้องกับการพัฒนา EJB และได้เห็นขั้นตอนการทำงานโดยรวมของการพัฒนา Application

ความแตกต่างระหว่าง Java Bean และ EJB
Java Bean
คือ การพัฒนาพัฒนา Java Class File ที่มี Method Set/Get มีความสามารถในเรื่อง ของ Event Handling , Propoties และ Methods (จะคล้ายกับ ActiveX Component ของ Microsoft) ซึ่ง Java Bean สามารถนำมาประกอบกัน ให้เป็น Java Appliation ได้
ในส่วนของ Java Bean จะมีขนาดเล็ก กว่า EJB มาก Java Bean จะมีลักษณะ Development Component แต่ส่วน EJB จะมีลักษณะ Deployment Component ทำให้ Java Bean ไม่ต้องการ Application Server เป็น Runtime Environment ที่จะบริการ Service ต่างๆ ให้ เช่น การ Instanciate Class ซึ่งใน Java Bean ตัว Application เองจะเป็นผู้ควบคุมการ Instanciate Class Java Bean แทน และ สามารถใช้ EJB ใน Application ที่มีขนาดใหญ่ ได้ดีกว่า Java Bean

J2EE Technology
ในการนำ J2EE มาใช้งาน จะต้องใช้พื้นฐาน จาก J2SE มาใช้งานด้วย ซึ่งจะพบว่า การทำงาน ใน J2EE เป็นการทำงานที่มีขนาดใหญ่มากพอสมควร ดังแสดงในรูปที่ 7 ใน J2EE จะประกอบด้วย API ต่างๆ ดังนี้
1. EJB Specification
ซึ่งใน J2EE Version 1.3 จะ Support EJB 2.0
2. Java Remote Method Invocation (RMI)
และ RMI/IIOP RMI เป็นการเรียกใช้งาน Component ข้ามเครื่อง (Distributed Component) ส่วน RMI/IIOP นั้นเป็นส่วนที่มีความสอดคล้องกับ CORBA
3. Java Naming and Directory Interface (JNDI)
เป็นส่วนที่ติดต่อกับการใช้ Resource ต่างๆ เช่น การติดต่อใช้ EJB ก็ต้องใช้ JNDI ในการติดต่อ
4. Java Database Connectivity (JDBC)
ใช้ในการติดต่อฐานข้อมูลเชิงสัมพันธ์ต่างๆ (Relational Database)
5. Java Transaction API (JTA)
และ Java Transaction Service (JTS) ใช้การทำ Transaction ของระบบงาน ถ้าจะทำการเขียนเอง ก็ใช้ JTA แต่จะใช้บริการ Application Server ก็จะใช้ JTS
6. Java Message Service (JMS)
เป็นการใช้การติดต่อโดยใช้ Message แทน ซึ่งเป็นแนวคิดใหม่ที่จะใช้กับ RMI/IIOP โดยจะส่ง Message ไปยัง Message Oreinted Middleware (MOM) เพื่อเข้าคิว แล้วตัว MOM จะส่ง Message ไปให้แทน จะใช้ในกรณีที่ไม่ต้องการทำงานแบบ Transaction หรือ Realtime มีข้อดีคือ จะรับประกันการส่ง Message ว่าไม่มีการสูญหาย ส่งถึงผู้รับแน่นอน
7. Java Servlet
เป็น Server - Side Component ชนิดหนึ่ง ที่ใช้หลัก Request/Response ซึ่งต่างจาก EJB ที่ต้อง Run บน Application Server
8. JavaServer Page
เป็น ภาษา Script ที่ทำหน้าที่คล้ายกับ Servlet มาก เพราะจะต้องแปลง JSP ไปเป็น Servlet เหมาะสำหรับการ Presentation ของ Web Page
9. Java IDL (Interface Definition Language)
เป็นการนำ Specification ของ CORBA มาใช้ใน Java
10. Java Mail
เป็น API ที่ใช้ในการเขียน โปรแกรมรับส่ง E-Mail
11. JavaBean Connector Architecture
เป็นการเขียนโปรแกรมเพื่อเชื่อมต่อรับ Legacy System หรือ ระบบงาน อื่นๆ เช่น ระบบงาน ของ Business Partner เป็นต้น
12. Java API for XML Parsing/Processing
เป็นชุด API ที่ใช้เขียนโปรแกรมร่วมกับ เทคโนโลยี XML
13. Java Authentication and Authorization Service (JAAS)
เป็น API ที่ดูแลเกี่ยวกับระบบรักษาความปลอดภัย

จากรายการ API ข้างต้นทั้งหมด จะพบว่า J2EE ได้จัดเตรียม API ชุดใหญ่ ไว้อย่างเพียบพร้อมที่จะให้นักพัฒนาที่ต้องการพัฒนาระบบงานในระดับหน่วยงานขนาดใหญ่ได้เป็นอย่างดี ซึ่งทั้งนี้จะต้องรวมกับชุด API ในส่วนของ J2SE ด้วย เช่น AWT, IO หรือ NET เป็นต้น


0 ความคิดเห็น:

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