EJB2 және EJB3 арасындағы айырмашылық

EJB2 және EJB3 арасындағы айырмашылық
EJB2 және EJB3 арасындағы айырмашылық

Бейне: EJB2 және EJB3 арасындағы айырмашылық

Бейне: EJB2 және EJB3 арасындағы айырмашылық
Бейне: Настя и сборник весёлых историй 2024, Қараша
Anonim

EJB2 және 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 Message Service) оқиғаларын өңдеу, JNDI көмегімен атау мәселелерін шешу жолын көрсету арқылы осы серверлік мәселелерді шешудің стандартты жолдарын ұсынады. Java атауы және каталог интерфейсі), JCE (Java криптография кеңейтімі) және JAAS (Java аутентификация және авторизация қызметі) көмегімен қауіпсіз бағдарламаларды әзірлеу, құрамдастарды орналастыру, RMI-IIOP (Inter-Orb протоколы арқылы Java Remote Method Invocation интерфейсі) арқылы қашықтан байланысу., веб-қызметтерді әзірлеу, асинхронды әдістерді шақыру және Таймер қызметін пайдалану.

EJB2

EJB2 (EJB 2.0) 2001 жылдың 22 тамызында шығарылды. Ол әртүрлі жеткізушілер әзірлеген құралдарды біріктіру арқылы Java тіліндегі бөлінген нысанға бағытталған қолданбаларды әзірлеуге арналған спецификацияны сипаттайды. EJB2 негізгі мақсаттарының бірі бағдарламашыларға көп ағынды және қосылымды біріктіру сияқты төмен деңгейлі мәліметтерді түсінбей-ақ кәсіпорын қосымшаларын оңай өңдеуге мүмкіндік беру болды. Тағы бір мақсат бағдарламашыларға «Бұршақты» бір рет жазып, қайта құрастырусыз кез келген жерде жұмыс істеуге мүмкіндік беру болды (Java бағдарламалау тілінің «бір рет жаз, кез келген жерде іске қосу» ұранын ұстана отырып). Сонымен қатар, EJB2 әртүрлі жеткізушілер әзірлеген құрамдастарға оңай өзара әрекеттесуге және жеткізушілерге EJBs қолдау көрсете алатын өз өнімдері үшін кеңейтімдерді жазуға мүмкіндік береді.

EJB3

EJB3 (EJB 3.0) 2006 жылы 11 мамырда шығарылды. EJB3 алдыңғы нұсқаларда қолданылған орналастыру дескрипторларының орнына аннотацияларды пайдалануға мүмкіндік беру арқылы бағдарламашылардың өмірін өте жеңілдетті. EJB3 бизнес интерфейсін және үй/қашықтағы интерфейстерді және ejb-jar.xml файлын пайдалану қажеттілігін жойып, сол іскери интерфейсті жүзеге асыра алатын нақты нысан бұршағын қамтиды. EJB3-тің жалпы өнімділігі EJB2-мен салыстырғанда айтарлықтай жақсарды және EJB-нің осы шығарылымында конфигурациялану, икемділік және тасымалдануда айтарлықтай өсу байқалады.

EJB2 мен EJB3 арасындағы айырмашылық неде?

EJB3 конфигурациясында және өнімділігінде EJB2-ге қарағанда айтарлықтай жақсарған. Бұл өнімділікті жақсартудың бір себебі - нысан сілтемелері үшін EJB2-де пайдаланылатын JNDI іздеулерінің орнына EJB3 арқылы метадеректермен және XML орналастыру дескрипторларымен POJO (Plain Old Java нысаны) пайдалану. EJB3 конфигурациясы әлдеқайда қарапайым, себебі бағдарламашыға үй/қашықтағы интерфейстерді және басқаларды (мысалы, SessionBean) енгізу қажет емес, бұл контейнер кері шақыру әдістерін (мысалы, ejbActivate және ejbStore) пайдалану қажеттілігін жояды.

Сонымен қатар, EJB3 икемділігі мен тасымалдануы жағынан EJB2-ге қарағанда жақсырақ. Мысалы, EJB3 нысандарын DAO (деректерге қол жеткізу нысаны) және керісінше түрлендіру оңай, себебі EJB3 нысандары жеңіл (жоғарыда аталған интерфейстерді жүзеге асыратын ауыр салмақты EJB2 нысандарына қарағанда). EJB3 тілінде жазылған дерекқор сұраулары өте икемді, себебі ол бірнеше шектеулері бар EJB-QL ескі нұсқасының орнына нақтыланған EJB-QL пайдаланады. EJB3 барлық деректер транзакциялары үшін анағұрлым жалпыланған JPA қолдауы арқылы EJB2 (дерекқорға кіру үшін нысан бұршақтарын пайдаланады) портативтілік мәселелерін жояды.

Орындау үшін EJB контейнерін қажет ететін EJB2-ден айырмашылығы, EJB3 тәуелсіз JVM-де (Java виртуалды машинасы) контейнерлерді пайдаланбай-ақ орындалуы мүмкін (бұл мүмкін, себебі ол стандартты интерфейстерді жүзеге асырмайды). EJB2-ден айырмашылығы, EJB3 үшінші тараптар ұсынатын тұрақты провайдерлермен оңай қосылатын болады. EJB3 және EJB2 арасындағы тағы бір маңызды айырмашылық, EJB3 аннотацияға негізделген қауіпсіздікті пайдалана алады, ал EJB2 орналастыру дескрипторларына негізделген қауіпсіздікті пайдаланды. Бұл EJB3 жүйесінде конфигурациялау және орнату тапсырмалары әлдеқайда жеңіл екенін және EJB2-мен салыстырғанда өнімділік бойынша үстеме шығындардың айтарлықтай азайғанын білдіреді.

Ұсынылған: