Enterprise Javabeans (EJB): معماری شرکت برای مؤلفه سازی و مقیاس پذیری در برنامه های جاوا EE

Enterprise Javabeans (EJB): یک رویکرد دقیق برای برنامه های کاربردی شرکت در Java EE
خلاصه
Enterprise Javabeans (EJB) مشخصات پلت فرم Java EE (در حال حاضر Jakarta EE) است که برای تسهیل توسعه برنامه های شرکت های قوی ، مقیاس پذیر ، ایمن و معامله ای طراحی شده است. در این مقاله به بررسی مفاهیم اصلی ، انواع EJB ، معماری ، خدمات ارائه شده توسط کانتینر ، مزایا ، مضرات و برنامه های مدرن ، ارائه دیدگاه جامع برای توسعه دهندگان و معماران نرم افزار می پردازد.
مقدمه
از زمان راه اندازی آن ، EJB ستون اساسی معماری جاوا برای برنامه های کاربردی شرکت ها بوده است. این مدل را بر اساس مؤلفه های نرم افزاری قابل استفاده مجدد تعریف می کند که پیچیدگی ویژگی هایی مانند معاملات ، امنیت و رقابت را انتزاع می کند و به توسعه دهنده اجازه می دهد تا منحصراً روی منطق تجارت تمرکز کند.
معماری و مفاهیم اساسی
مدل EJB مبتنی بر معماری سه لایه است:
- مشتری: این می تواند یک برنامه وب ، دسک تاپ ، موبایل یا سایر EJB باشد.
- کانتینر EJB: خدماتی مانند مدیریت چرخه زندگی ، امنیت ، معاملات و تزریق وابستگی را ارائه می دهد.
- EJBS (لوبیا): مؤلفه هایی که منطق تجارت را محاصره می کنند.
انواع EJB
لوبیای جلسه
طراحی شده برای انجام منطق کسب و کار مربوط به یک کار خاص.
- بدون تابش: هیچ وضعیتی بین تماس ها وجود ندارد. برای عملیات مستقل نشان داده شده است.
- حالت: حالت بین تماس های متعدد همان مشتری را حفظ می کند.
- Singleton: یک نمونه واحد که در برنامه به اشتراک گذاشته شده است.
لوبیای پیام محور (MDB)
لوبیا به پیام هایی که پیام های ناهمزمان (JMS) مصرف می کنند ، ایده آل برای ادغام با صف و سیستم های خارجی است.
چرخه زندگی دو EJB
هر لوبیا توسط ظرف اداره می شود ، که چرخه زندگی آن را کنترل می کند:
- ایجاد و بوت.
- تزریق وابستگی.
- روش های احضار.
- خنثی کردن
خدمات ارائه شده توسط کانتینر EJB
- معاملات مدیریت شده: به طور خودکار از طریق JTA ادغام می شود.
- امنیت اعلانی: کنترل دسترسی مبتنی بر نورد.
-
تزریق وابستگی: از طریق یادداشت هایی مانند
@EJB
با@Inject
بشر -
رقابت کنترل شده: کم
@Lock
با@AccessTimeout
بشر - رهگیری ها: منطق عرضی مانند ورود به سیستم ، معیارها و غیره
مثال EJB بدون تابعیت
@Stateless
public class ServicoPagamento {
public boolean processarPagamento(String pedidoId) {
// Logica de negocio
return true;
}
}
تزریق لوبیا:
@EJB
private ServicoPagamento servicoPagamento;
مزایا و معایب
مزایای:
- دیگ بخار کاهش کد.
- پشتیبانی بومی از ادغام و معاملات توزیع شده.
- تعمیر و نگهداری و استفاده مجدد را تسهیل می کند.
مضرات:
- پیچیدگی اولیه
- اضافه بار ظروف.
- چسبندگی پایین امروز در برابر راه حل های سبک تر مانند چارچوب بهار.
EJB در سناریوی فعلی
اگرچه استفاده از EJB با محبوبیت چارچوب هایی مانند Boot Spring کاهش یافته است ، اما در محیط هایی که نیاز به استحکام بالا ، تحمل شکست ، ایمنی بومی و پشتیبانی از معاملات توزیع شده دارند ، یک انتخاب مناسب باقی مانده است.
ملاحظات نهایی
Enterprise Javabeans یک فناوری رسیده و قابل اعتماد برای برنامه های بزرگ شرکت در مقیاس است. اگرچه گزینه ترجیحی در معماری های مدرن مانند میکروسرویس نیست ، میراث و ثبات آن ، آن را به یک مرجع در راه حل های مهم ماموریت تبدیل می کند.