სხვაობა EJB2-სა და EJB3-ს შორის

სხვაობა EJB2-სა და EJB3-ს შორის
სხვაობა EJB2-სა და EJB3-ს შორის

ვიდეო: სხვაობა EJB2-სა და EJB3-ს შორის

ვიდეო: სხვაობა EJB2-სა და EJB3-ს შორის
ვიდეო: What is a Toaster Oven Good For? 2024, ნოემბერი
Anonim

EJB2 vs EJB3

EJB (Enterprise JavaBeans) არის Java API (აპლიკაციის პროგრამირების ინტერფეისი) ნაპოვნი Java EE (Java პლატფორმა, Enterprise Edition) სპეციფიკაციაში. 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 ავტორიზაციისა და ავტორიზაციის სერვისი), განათავსეთ კომპონენტები, დაუკავშირდით RMI-IIOP-ს (Java Remote Method Invocation ინტერფეისი ინტერნეტის ინტერ-ორბ პროტოკოლით), განავითარეთ ვებ სერვისები, გამოიძახეთ ასინქრონული მეთოდები და გამოიყენეთ ტაიმერის სერვისი.

EJB2

EJB2 (EJB 2.0) გამოვიდა 2001 წლის 22 აგვისტოს. იგი აღწერს სპეციფიკაციას Java-ში განაწილებული ობიექტზე ორიენტირებული აპლიკაციების განვითარებისთვის სხვადასხვა მწარმოებლის მიერ შემუშავებული ხელსაწყოების გაერთიანებით. EJB2-ის ერთ-ერთი მთავარი მიზანი იყო პროგრამისტებს საშუალება მიეცეთ შეემუშავებინათ საწარმო აპლიკაციები უფრო მარტივად, დაბალი დონის დეტალების გააზრების გარეშე, როგორიცაა მრავალ ძაფები და კავშირის გაერთიანება. კიდევ ერთი მიზანი იყო პროგრამისტებს მიეცეთ საშუალება დაეწერათ "Bean" ერთხელ და გაეშვებინათ ყველგან ხელახალი კომპილაციის გარეშე (დაიცავით Java პროგრამირების ენის სლოგანი "დაწერეთ ერთხელ, გაუშვით ყველგან". გარდა ამისა, EJB2 მიზნად ისახავდა სხვადასხვა გამყიდველის მიერ შემუშავებულ კომპონენტებს ადვილად ურთიერთთანამშრომლობის საშუალებას და მიმწოდებლებს დაწერონ გაფართოებები თავიანთი პროდუქტებისთვის, რომლებსაც შეუძლიათ EJB-ების მხარდაჭერა.

EJB3

EJB3 (EJB 3.0) გამოვიდა 2006 წლის 11 მაისს. EJB3-მა პროგრამისტების ცხოვრება ძალიან გაუადვილა, რადგან მათ საშუალებას აძლევდა გამოიყენონ ანოტაციები განლაგების აღწერების ნაცვლად, რომლებიც გამოყენებული იყო წინა ვერსიებში. EJB3 შეიცავს ბიზნეს ინტერფეისს და კონკრეტულ ერთეულს, რომელსაც შეუძლია ამ ბიზნეს ინტერფეისის დანერგვა, მოხსნის სახლის/დისტანციური ინტერფეისების და ejb-jar.xml ფაილის გამოყენების საჭიროებას. EJB3-ის მთლიანი შესრულება ბევრად გაუმჯობესებულია EJB2-თან შედარებით და კონფიგურაციის, მოქნილობისა და პორტაბელურობის მნიშვნელოვანი ზრდაა EJB-ის ამ გამოშვებაში.

რა განსხვავებაა EJB2 და EJB3?

EJB3-ს აქვს შესამჩნევი გაუმჯობესება კონფიგურაციაში და შესრულებაში EJB2-თან შედარებით. ამ ეფექტურობის გაუმჯობესების ერთ-ერთი მიზეზი არის POJO-ის (Plain Old Java Object) გამოყენება მეტამონაცემებით და XML Deployment Descriptors EJB3-ის მიერ EJB3-ის მიერ EJB2-ში გამოყენებული JNDI საძიებლების ნაცვლად, ობიექტების მითითებისთვის. EJB3-ის კონფიგურაცია გაცილებით მარტივია, რადგან პროგრამისტს არ სჭირდება Home/Remote ინტერფეისების და სხვა (მაგ. SessionBean) დანერგვა, რაც გამორიცხავს კონტეინერის გამოძახების მეთოდების გამოყენების აუცილებლობას (როგორიცაა ejbActivate და ejbStore).

გარდა ამისა, EJB3 უკეთესია ვიდრე EJB2 მოქნილობისა და პორტაბელურობის სფეროებში. მაგალითად, მარტივია EJB3 ერთეულების გადაქცევა DAO-ში (მონაცემებზე წვდომის ობიექტი) და პირიქით, რადგან EJB3 ერთეულები მსუბუქი წონაა (განსხვავებით მძიმე წონის EJB2 ერთეულებისგან, რომლებიც ახორციელებენ ზემოხსენებულ ინტერფეისებს). EJB3-ში დაწერილი მონაცემთა ბაზის მოთხოვნები ძალიან მოქნილია, რადგან ის იყენებს დახვეწილ EJB-QL-ს, EJB-QL-ის ძველი ვერსიის ნაცვლად, რომელსაც რამდენიმე შეზღუდვა ჰქონდა. EJB3 აშორებს EJB2-ის პორტაბელურობის ყველა პრობლემას (რომელიც იყენებს entity beans მონაცემთა ბაზაში წვდომისთვის) უფრო განზოგადებული JPA-ს მხარდაჭერით ყველა მონაცემთა ტრანზაქციისთვის.

განსხვავებით EJB2-ისგან, რომელსაც სჭირდება EJB კონტეინერი შესასრულებლად, EJB3 შეიძლება შესრულდეს დამოუკიდებელ JVM-ში (Java ვირტუალური მანქანა) კონტეინერების გამოყენების გარეშე (ეს შესაძლებელია, რადგან ის არ ახორციელებს სტანდარტულ ინტერფეისებს). EJB2-ისგან განსხვავებით, EJB3 ადვილად შეერთება მესამე მხარის მიერ შემოთავაზებულ მდგრად პროვაიდერებთან. კიდევ ერთი მნიშვნელოვანი განსხვავება EJB3-სა და EJB2-ს შორის არის ის, რომ EJB3-ს შეუძლია გამოიყენოს ანოტაციაზე დაფუძნებული უსაფრთხოება, ხოლო EJB2 გამოიყენა განლაგების აღწერებზე დაფუძნებული უსაფრთხოება. ეს ნიშნავს, რომ კონფიგურაციისა და დაყენების ამოცანები ბევრად უფრო ადვილია EJB3-ში და მნიშვნელოვნად არის შემცირებული შესრულების ხარჯები EJB2-თან შედარებით.

გირჩევთ: