รีซอร์สการพัฒนา EJB 2.x

หัวข้อนี้อธิบายรีซอร์สและเครื่องมือช่วยพัฒนาที่ใช้ทั่วไป ในการพัฒนา EJB เวอร์ชัน 2.x

โมดูล EJB

โมดูล EJB แสดงในมุมมอง Project Explorer ของ Java™ EE perspective และสอดคล้องกับโปรเจ็กต์ EJB

โมดูล EJB ถูกใช้ เพื่อรวมอย่างน้อยหนึ่ง beans เอ็นเตอร์ไพรซ์ให้เป็นหน่วยที่ปรับใช้ได้หน่วยเดียว โมดูล EJB ถูกพัฒนาขึ้นในโปรเจ็กต์ EJB และสามารถถูกเอ็กซ์พอร์ตเป็น ไฟล์ EJB JAR สแตนด์อะโลน หรือรวมเข้ากับโมดูล EJB หรือเว็บโมดูลอื่นๆ ภายใน เอ็นเตอร์ไพรซ์แอ็พพลิเคชัน ไฟล์ EJB JAR ใช้รูปแบบของไฟล์เก็บถาวร Java มาตรฐาน โมดูล EJB ประกอบด้วยสิ่งต่อไปนี้:

  • อย่างน้อยหนึ่ง beans เอ็นเตอร์ไพรซ์ และไฟล์ .class และ .java ที่สัมพันธ์
  • กราฟิกและไฟล์อื่นๆ ขึ้นอยู่กับความจำเป็นของ enterprise bean
  • Descriptor การปรับใช้ ชนิดไฟล์สำหรับ descriptor การปรับใช้คือ Extensible Markup Language (XML) ไฟล์นี้ประกาศเนื้อหาของโมดูล EJB กำหนดโครงสร้างของ beans ในโมดูล และระบุคำอธิบาย วิธีที่ beans ถูกใช้ตอนรันไทม์
  • ไฟล์ MANIFEST.MF ในไดเร็กทอรี META-INF ไฟล์ manifest สามารถมีรายการ class path ที่มีการอ้างอิงไปยังไฟล์ JAR หรือโมดูล EJB อื่นในเอ็นเตอร์ไพรซ์แอ็พพลิเคชัน J2EE โดยกำหนดการขึ้นต่อกันภายนอก ของโมดูล

โมดูล EJB ถูกติดตั้งและรันในคอนเทนเนอร์ EJB

Bean เอ็นเตอร์ไพรซ์คือคอมโพเนนต์ Java ที่สามารถรวมกับ รีซอร์สอื่นๆ เพื่อสร้างไคลเอ็นต์/เซิร์ฟเวอร์แอ็พพลิเคชันแบบกระจาย

หมายเหตุ: ถ้า คุณเลืกสร้างไฟล์ JAR ไคลเอ็นต์ EJB สำหรับโมดูล EJB ของคุณ คลาส อินเตอร์เฟสไคลเอ็นต์สำหรับ beans เอ็นเตอร์ไพรซ์จะไม่รวมในไฟล์ EJB JAR แต่รวมในไฟล์ JAR ไคลเอ็นต์ EJB
โปรเจ็กต์ EJB

ใน workbench คุณสร้างและดูแลรักษารีซอร์สสำหรับเอ็นเตอร์ไพรซ์ แอ็พพลิเคชันในโปรเจ็กต์ โปรเจ็กต์ EJB คือโลจิคัลโมดูลที่อนุญาตให้คุณ จัดระเบียบ enterprise beans ของคุณ

Workbench สนับสนุนโปรเจ็กต์ EJB 1.1, EJB 2.0 และ EJB 2.1 ระดับข้อกำหนดคุณสมบัติ J2EE ของโปรเจ็กต์ที่มี EAR ต้องเป็น J2EE 1.3 หรือสูงกว่าสำหรับโปรเจ็กต์ EJB 2.0 และ J2EE 1.4 สำหรับโปรเจ็กต์ EJB 2.1 ในโปรเจ็กต์ EJB 1.1 คุณจะสามารถสร้างได้เฉพาะ EJB 1.1 beans

โปรเจ็กต์ EJB เป็นโปรเจ็กต์ Java พิเศษ เช่นเดียวกับโปรเจ็กต์ Java ที่โปรเจ็กต์ EJB ต้องมีอย่างน้อยหนึ่งซอร์ส โฟลเดอร์ที่มีซอร์สและเอาต์พุตไฟล์สำหรับโปรเจ็กต์ โดยค่าดีฟอลต์ ซอร์สโฟลเดอร์จะชื่อ ejbModule แต่คุณสามารถเปลี่ยนชื่อได้ เมื่อคุณสร้างโปรเจ็กต์หรือซอร์สโฟลเดอร์ใหม่ เมื่อคุณเผยแพร่หรือนำ โปรเจ็กต์ไปใช้ เนื้อหาของโฟลเดอร์จะถูกรวบรวมไว้

คุณ ไม่สามารถใช้โปรเจ็กต์ EJB เป็นซอร์สโฟลเดอร์ การทำเช่นนั้นจะทำให้เกิดข้อผิดพลาด รวมทั้ง แม้ว่าคุณสามารถมีมากกว่าหนึ่งซอร์สโฟลเดอร์ในโฟลเดอร์ แต่มีเพียงหนึ่ง ในซอร์สโฟลเดอร์เหล่านี้เท่านั้นที่สามารถมีโฟลเดอร์ META-INF ซึ่งไฟล์ MANIFEST.MF และ descriptor การปรับใช้อยู่

หมายเหตุ: ถ้า คุณเลือกสร้างไฟล์ JAR ไคลเอ็นต์ EJB สำหรับโมดูล EJB ของคุณ คลาส อินเตอร์เฟสไคลเอ็นต์สำหรับ beans เอ็นเตอร์ไพรซ์จะรวมในโปรเจ็กต์ EJB แต่ในโปรเจ็กต์ JAR ไคลเอ็นต์ EJB ต่างหาก ไคลเอ็นต์ JAR ไคลเอ็นต์ EJB แสดงใน Project Explorer เป็นโปรเจ็กต์ Java ภายใต้โหนด โปรเจ็กต์อื่น
โปรเจ็กต์ไคลเอ็นต์ EJB

เครื่องมือ EJB สนับสนุนการสร้างโปรเจ็กต์ JAR ไคลเอ็นต์ EJB สำหรับโมดูล EJB โปรเจ็กต์ JAR ไคลเอ็นต์ EJBมีคลาสอินเตอร์เฟสทั้งหมด ที่ไคลเอ็นต์โปรแกรมต้องการใช้มุมมองไคลเอ็นต์ของ beans เอ็นเตอร์ไพรซ์ ที่มีในโปรเจ็กต์ EJB เมื่อคุณสร้างโปรเจ็กต์ไคลเอ็นต์ EJB สำหรับโปรเจ็กต์ EJB โปรเจ็กต์ Java ใหม่ถูกสร้างและเพิ่มในเวิร์กสเปซ ของคุณ โปรเจ็กต์ไคลเอ็นต์ EJB ถูกเพิ่มเป็นไฟล์ JAR ยูทิลีตีโปรเจ็กต์ ในแต่ละโมดูลที่มีโปรเจ็กต์ EJB อยู่

โดยค่าดีฟอลต์ เมื่อคุณใช้ ตัวช่วยสร้างเพื่อสร้างโปรเจ็กต์ EJB นั้น โปรเจ็กต์ JAR ไคลเอ็นต์ EJB จะถูกสร้างขึ้นเช่นกัน อย่างไรก็ตาม คุณสามารถล้างอ็อพชันนี้ได้ในตัวช่วยสร้าง

เคล็ดลับ: คุณ ยังสามารถเพิ่มโปรเจ็กต์ไคลเอ็นต์ EJB ในเอ็นเตอร์ไพรซ์แอ็พพลิเคชันอื่นที่ ไม่รวมโปรเจ็กต์ EJB เป็นโมดูล ซึ่งจะช่วยให้แน่ใจว่าไฟล์ JAR ของไคลเอ็นต์ EJB ถูกเอ็กซ์พอร์ตและแพ็กเกจด้วยไฟล์ EAR เมื่อแอ็พพลิเคชัน ถูกเอ็กซ์พอร์ต
Enterprise beans

Bean เอ็นเตอร์ไพรซ์คือคอมโพเนนต์ Java ที่สามารถรวมกับ รีซอร์สอื่นๆ เพื่อสร้างไคลเอ็นต์/เซิร์ฟเวอร์แอ็พพลิเคชันแบบกระจาย

Enterprise beans มีสามประเภท: entity beans, beans เซสชัน และ beans แบบกำหนด ทำงานด้วยข้อความ โดยทั่วไป ชนิดของ beans ทั้งหมดถูกใช้ร่วมกันภายในเอ็นเตอร์ไพรซ์ แอ็พพลิเคชัน

beans เอนทิตี
Beans เอนทิตีเก็บข้อมูลถาวร Beans เอนทิตีที่มี container-managed persistence (CMP) ต้องการการเชื่อมต่อฐานข้อมูล Beans เอนทิตีที่มี bean-managed persistence จัดการข้อมูลถาวรไม่ว่าในลักษณะใดถูกกำหนดในโค้ด bean ซึ่งสามารถรวมการเขียนไปยังฐานข้อมูล หรือไฟล์ XML เป็นต้น
beans เซสชัน
beans เซสชัน ไม่จำเป็นต้องเข้าถึงฐานข้อมูล อย่างไรก็ตามสามารถเข้าถึงได้ โดยอ้อม (หากจำเป็น) โดยการเข้าถึง entity beans beans เซสชัน ยังสามารถ เข้าถึงฐานข้อมูล (และรีซอร์สอื่นๆ) ได้โดยตรงผ่านทางการใช้วิธีการอ้างอิง รีซอร์ส
Message-driven beans
Message-driven beans เป็น bean เอ็นเตอร์ไพรซ์ประเภทพิเศษที่ทำหน้าที่ เป็นคอนซูมเมอร์ข้อความในระบบข้อความ JMS เช่นเดียวกับคอนซูมเมอร์ข้อความ JMS มาตรฐาน message-driven beans ดำเนินตรรกะธุรกิจตามเนื้อหา ข้อความ ในหลายๆ วิธี การสร้างและการจัดสรรไดนามิกของอินสแตนซ์ message-driven bean ลอกเลียนลักษณะการทำงานของ beans เอ็นเตอร์ไพรซ์เซสชันแบบไม่แสดงสภาวะ อย่างไรก็ตาม message-driven beans แตกต่างจาก bean เอ็นเตอร์ไพรซ์ เซสชันแบบไม่แสดงสภาวะ (และ beans เอ็นเตอร์ไพรซ์ชนิดอื่นๆ) สองสามอย่าง:
  • Message-driven beans ประมวลผลหลายข้อความ JMS อซิงโครรัส มากกว่า ประมวลผลตามลำดับการเรียกใช้เมธอด
  • Message-driven beans ไม่มีโฮมหรือรีโมตอินเตอร์เฟส ดังนั้นจึงไม่มี การเข้าถึงโดยตรงโดยไคลเอ็นต์ภายในหรือภายนอก
Descriptors การปรับใช้

Descriptor การปรับใช้มีข้อมูลคอนฟิกูเรชันที่สภาวะแวดล้อม รันไทม์ใช้สำหรับแอ็พพลิเคชัน Descriptor การปรับใช้สามารถรวมข้อมูล เกี่ยวกับต่อไปนี้:

  • โครงสร้างและเนื้อหา(ตัวอย่างเช่น beans เอ็นเตอร์ไพรซ์) ของแอ็พพลิเคชัน
  • การอ้างอิงการขึ้นต่อกันภายในและภายนอก ตัวอย่างเช่น bean เอ็นเตอร์ไพรซ์ในโมดูล EJB สามารถต้องการใช้ bean เอ็นเตอร์ไพรซ์อื่นที่ไม่ได้บันเดิล ในโมดูลเดียวกัน
  • การอ้างอิงอ็อบเจ็กต์คลังเก็บรีซอร์ส เช่นแหล่งข้อมูล URLs หรือ JDBC
  • บทบาทการรักษาความปลอดภัยที่คอนเทนเนอร์ใช้เมื่อประยุกต์ใช้การควบคุมการเข้าถึง ที่ต้องการสำหรับแอ็พพลิเคชัน
  • ข้อมูลธุรกรรมเกี่ยวกับวิธี (และเหตุผล) ที่คอนเทนเนอร์ จัดการธุรกรรมสำหรับแอ็พพลิเคชัน

Descriptors การปรับใช้คือไฟล์ XML ที่แพ็กเกจกับไฟล์ของ แอ็พพลิเคชันในไฟล์เก็บถาวร Java Descriptor การปรับใช้ EJB ถูกเรียก ejb-jar.xml และอยู่ในโฟลเดอร์ META-INF ของโปรเจ็กต์ EJB แอ็พพลิเคชัน J2EE มีไฟล์ deployment descriptor ระดับแอ็พพลิเคชันหนึ่งไฟล์ ที่ควบคุมแอ็พพลิเคชันให้เป็นหนึ่งเดียว รวมทั้งมีหลาย descriptor การปรับใช้ ระดับคอมโพเนนต์ หนึ่ง descriptor สำหรับแต่ละโมดูลในแอ็พพลิเคชัน