EJB2 болон EJB3-ын ялгаа

EJB2 болон EJB3-ын ялгаа
EJB2 болон EJB3-ын ялгаа

Видео: EJB2 болон EJB3-ын ялгаа

Видео: EJB2 болон EJB3-ын ялгаа
Видео: Java EE 124: EJB 2: Типы EJB 2024, Есдүгээр
Anonim

EJB2 vs EJB3

EJB (Enterprise JavaBeans) нь Java EE (Java Platform, Enterprise Edition)-ийн тодорхойлолтод багтсан Java API (Хэрэглээний програмчлалын интерфейс) юм. EJB нь аж ахуйн нэгжийн хэрэглээний программуудыг хөгжүүлэх архитектурын загварыг тодорхойлдог. Энэ бол аж ахуйн нэгжийн хэрэглээний бизнесийн логикийг олж авах чадвартай сервер талын удирдлагатай загвар юм. IBM нь EJB-ийн анхны бүтээгч бөгөөд үүнийг 1997 онд бүтээсэн. Sun Microsystems үүнийг 1999 онд нэвтрүүлсэн.

EJB-г нэвтрүүлэхээс өмнө бизнесийн арын кодонд олдсон асуудлуудын шийдлүүдийг программистууд байнга дахин хэрэгжүүлдэг байсан нь тогтоогдсон. Үүний үр дүнд тогтвортой байдал, гүйлгээний бүрэн бүтэн байдал, аюулгүй байдал зэрэг нийтлэг асуудлуудыг шийдвэрлэхийн тулд EJB-ийг нэвтрүүлсэн. EJB нь програмын сервер нь гүйлгээг хэрхэн боловсруулах, JPA (Java Persistence API) үйлчилгээнүүдтэй нэгтгэх, зэрэгцсэн хяналтыг зохицуулах, JMS (Java Message Service) үйл явдлуудыг зохицуулах, JNDI-тай нэрлэх асуудлыг хэрхэн шийдвэрлэхийг зааж өгөх замаар эдгээр арын төгсгөлийн асуудлыг шийдвэрлэх стандарт аргуудыг өгдөг. Java нэрлэх ба лавлах интерфэйс), JCE (Java Cryptography Extension) болон JAAS (Java Authentication and Authorization Service) ашиглан аюулгүй программ боловсруулж, бүрэлдэхүүн хэсгүүдийг байрлуулж, RMI-IIOP (Интернэт хоорондын орб протоколоор Java Remote Method Invocation интерфейс) -тэй алсаас харилцах боломжтой., вэб үйлчилгээг хөгжүүлж, асинхрон аргуудыг дуудаж, Timer үйлчилгээг ашиглана уу.

EJB2

EJB2 (EJB 2.0) 2001 оны 8-р сарын 22-нд гарсан. Энэ нь янз бүрийн үйлдвэрлэгчдийн боловсруулсан хэрэгслүүдийг нэгтгэн Java хэл дээр тархсан объект хандалтат програмуудыг хөгжүүлэх техникийн үзүүлэлтүүдийг тайлбарладаг. EJB2-ийн гол зорилгын нэг нь програмистуудад олон урсгалт холболт, холболтын нэгдэл гэх мэт доод түвшний нарийн ширийн зүйлийг ойлгох шаардлагагүйгээр байгууллагын хэрэглээний программуудыг хялбархан хөгжүүлэх боломжийг олгох явдал байв. Өөр нэг зорилго бол программистуудад нэг удаа "Bean" бичиж, дахин эмхэтгэлгүйгээр хаана ч гүйх боломжийг олгох явдал байв (Java програмчлалын хэлний "нэг удаа бич, хаана ч гүй" гэсэн уриа лоозонг дагаж). Цаашилбал, EJB2 нь өөр өөр үйлдвэрлэгчдийн боловсруулсан бүрэлдэхүүн хэсгүүдийг хялбархан хамтран ажиллах боломжийг олгох зорилготой бөгөөд борлуулагчид өөрсдийн бүтээгдэхүүндээ EJB-г дэмжих өргөтгөл бичих боломжийг олгох зорилготой юм.

EJB3

EJB3 (EJB 3.0) 2006 оны 5-р сарын 11-нд гарсан. EJB3 нь өмнөх хувилбаруудад хэрэглэгдэж байсан байршуулалтын тодорхойлогчдын оронд тэмдэглэгээг ашиглах боломжийг олгосон нь програмистуудын амьдралыг маш хялбар болгосон. EJB3 нь гэрийн/алсын интерфейс болон ejb-jar.xml файлыг ашиглах хэрэгцээг арилгадаг бизнесийн интерфэйс болон тухайн бизнесийн интерфэйсийг хэрэгжүүлэх тусгай нэгжийн шошгыг агуулдаг. EJB3-ийн ерөнхий гүйцэтгэл EJB2-тэй харьцуулахад илүү сайжирсан бөгөөд EJB-ийн энэ хувилбарт тохируулга, уян хатан байдал, зөөврийн байдал мэдэгдэхүйц нэмэгдсэн байна.

EJB2 болон EJB3 хоёрын ялгаа юу вэ?

EJB3 нь EJB2-тэй харьцуулахад тохиргоо болон гүйцэтгэлийн хувьд мэдэгдэхүйц сайжирсан. Гүйцэтгэлийг сайжруулах нэг шалтгаан нь объектын лавлагаанд EJB2-д хэрэглэгддэг JNDI хайлтын оронд EJB3 мета өгөгдөл болон XML байршуулалтын тодорхойлогчтой POJO (Plain Old Java Object) ашигласан явдал юм. Програмист нь Home/Remote интерфэйс болон бусад (жишээ нь SessionBean)-ийг хэрэгжүүлэх шаардлагагүй тул EJB3-ийн тохиргоо нь илүү хялбар байдаг бөгөөд энэ нь контейнерын дуудлагын аргуудыг (ejbActivate, ejbStore гэх мэт) ашиглах хэрэгцээг арилгадаг.

Цаашилбал, EJB3 нь уян хатан байдал, зөөврийн хувьд EJB2-ээс илүү юм. Жишээлбэл, EJB3 нэгжүүдийг DAO (Data Access Object) болгон хөрвүүлэхэд хялбар байдаг, учир нь EJB3 нэгжүүд нь хөнгөн жинтэй байдаг (дээр дурдсан интерфейсүүдийг хэрэгжүүлдэг EJB2-ийн хүнд жинтэй аж ахуйн нэгжүүдээс ялгаатай). EJB3 дээр бичигдсэн мэдээллийн сангийн асуулга нь хэд хэдэн хязгаарлалттай байсан EJB-QL-ийн хуучин хувилбарын оронд боловсронгуй EJB-QL ашигладаг тул маш уян хатан байдаг. EJB3 нь бүх өгөгдлийн гүйлгээнд илүү ерөнхий JPA-г дэмжсэнээр EJB2-н зөөврийн бүх асуудлыг (мэдээллийн сангийн хандалтад аж ахуйн нэгжийн шошгыг ашигладаг) арилгадаг.

Гүйцэтгэхийн тулд EJB контейнер шаардлагатай EJB2-ээс ялгаатай нь EJB3 нь контейнер ашиглахгүйгээр бие даасан JVM (Java Virtual Machine) дээр ажиллах боломжтой (энэ нь стандарт интерфэйсийг хэрэгжүүлдэггүй учраас боломжтой). EJB2-ээс ялгаатай нь EJB3 нь гуравдагч этгээдийн санал болгож буй байнгын үйлчилгээ үзүүлэгчийн тусламжтайгаар амархан залгагддаг. EJB3 ба EJB2 хоёрын өөр нэг чухал ялгаа нь EJB3 нь тэмдэглэгээнд суурилсан аюулгүй байдлыг ашиглах боломжтой байдаг бол EJB2 нь байршуулалтын тодорхойлогч дээр суурилсан аюулгүй байдлыг ашигладаг. Энэ нь EJB3-д тохиргоо хийх, тохируулах ажлыг хийх нь хамаагүй хялбар бөгөөд EJB2-тэй харьцуулахад гүйцэтгэлийн нэмэгдэл зардал мэдэгдэхүйц багассан гэсэн үг.

Зөвлөмж болгож буй: