PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : EJB چیست ؟



Borna66
11th May 2012, 19:15
در مورد EJB باید بگو یم ، EJB ها چند دسته هستند. در کل همه آنها کامپوننت های هستند قابل توزیع روی شبکه. اگر مثال مایکروسافتی دوست داشته باشید یک چیزی مثل COM PLUS ولی کامل تر.


یک مدل از آنها را Session Bean میگویند. این کامپوننتها برای پیاده سازی business logic در نظر گرفته شده اند که در دو نوع stateless و statefull پیاده سازی میشوند.


یک مدل دیگر از EJB ها برای ارتباط با بانک اطلاعاتی به صورت Object Relational طراحی شده اند.


در حقیقت شما با استفاده از این کامپوننتها به بانک اطلاعاتی متصل میشوید اما این ارتباط در سمت شما به صورت object است. یعنی هر رکورد بانک اطلاعاتی در یک Object قرار دارد.


این کامپوننتها به دو صورت BMP و CMP موجود هستند که تفاوتشان در این است که BMP ها را باید خودمان بسازیم اما CMP ها به صورت اتوماتیک توسط محیط IDE مثل NetBeans یا در محیط DeployTool ایجاد میشوند. و البته در نوع BMP ما امکانات زیادی برای ایجاد و ترکیب کدهای کنترلی و پردازشی روی عملیات دریافت و ذخیره اطلاعات داریم.



من سعی کردم خیلی خلاصه مهمترین این EJB ها را توضیح بدهم . هر کدام از این EJB ها برای خودشان دنیایی دارند که نیاز به مطالعه زیاد دارد و این موضوع که اصلا اینها به چه درد میخورند از همه مهم تر است.



در ادامه مطلب سعی میکنم به این سوال جواب مختصری بدهم.

در دهه 1970 نرم افزارهای که تولید میشدند بسیار ضعیف و ناکارآمد بودند. یکی از دلایل این امر محدودیتهای سخت افزاری بود که باعث میشد نرم افزارها بسیار به سخت افزارها وابسه باشند. از طرف دیگر پیشرفت تکنولوژی باعث کاهش طول عمر این سخت افزارها و همچنین نرم افزارهای آنها بود که این موضوع ضررهای مادی زیادی را به همراه داشت.



تقریبا در همان سالها بود که ایدههای طراحی نرم افزار با معماری باز بوجود آمدند. معماری باز در حقیقت وجود چند اصل اساسی در طراحی نرم افزار است که در اینجا به اختصار در مورد آنها صحبت میکنیم.



1.تطبیق پذیری Portability
نظریه تطبیق پذیری به معنای پیاده سازی یک نرم افزار با قابلیت اجرا روی سخت افزارها و سیستمهای عامل مختلف میباشد. زبانهای جاوا و سی شارپ با رعایت این اصل به وجود آمده اند. با این امکان وابستگی نرم افزار به سخت افزار تا حد زیادی از بین میرود. با استفاده از زبان جاوا میتوان به راحتی نرم افزاری برای اجرا در سیستمهای مختلف نوشت و با استفاده از وب به راحتی با سیستمهای گرافیکی مختلف ارتباط برقرار کرد و با استفاده از SQL میتوان به راحتی با سیستمهای مدیریت اطلاعات گوناگون ارتباط داشت. اینها همه مثالهای از سیستمهای دارای قابلیت تطبیق پذیری بودند.

2.سازگاری عملیاتی Interoperability
توانای اجرای کامپوننت های نرم افزاری مختلف روی سخت افزارهای مختلف دریک زمان با قابلیت تبادل اطلاعات میان آنها روی شبکه را سازگاری عملیاتی میگویند. اولین مرحله برای رسیدن به این سازگاری پیاده سازی تطبیق پذیری است.



اگر بخواهم یک چهار چوب برای پیاده سازی یک سیستم با قابلیت سازگاری عملیاتی را معرفی کنیم , J2EE بهترین گزینه است .در J2EE از زبان جاوا برای ایجاد کدهای تطبیق پذیر استفاده شده است.



کامپوننت های EJB به راحتی وظیفه پیاده سازی Business Logic و ارتباط portable با بانکهای اطلاعاتی را انجام میدهد و RMI ارتباط میان این کامپوننت ها را روی شبکه میسر میکند. زبان XML هم به سازگاری بیشتر این سیستمها در هنگام ارتباط باهم و تبادل اطلاعات کمک میکند.

3.توسعه پذیری Expandability
در گذشته طراحان سیستمهای کامپیوتری مجبور بودند در زمان طراحی پیشبینی توسعه سیستم را در آینده نیز داشته باشند که این امر هزینه های زیادی را برای خرید سخت افزارها بدنبال داشت تا شاید در آینده از این توانای ایجاد شده استفاده شود. با رعایت دو اصل مطرح شده در بالا ما دارای سیستمی می شویم که قابلیت توسعه پذیری را نیز دارد. برای مثال در صورت نیاز به افزایش توان پردازش کافی است که یک کامپیوتر جدید را وارد شبکه کنیم و کامپوننت های پردازشی را روی آن نصب کنیم.

4.مدولار بودن Modularity
مدولار بودن به مفهوم امکان ایجاد تغییرات در نرم افزار میباشد به نحوی که این تغییرات کمترین تاثیر را در سایر بخشهای سیستم ایجاد کند. این قابلیت با استفاده از طراحی کامپوننتی و استفاده از یک زبان فرا داده MeteData برای انتقال اطلاعات میان این کامپوننت ها ایجاد می شود.



EJB ها و زبان XML بهترین گزینه ها برای پیاده سازی این امر است.

5.مقاس پذیری Scalability
با رعایت تمام موارد بالا ما به یک سیستم با قابلیت مقیاس پذیری می رسیم. در حقیقت سیستمی که دارای قابلیت افزایش ظرفیت های کاری است.



به عنوان مثال افزایش ظرفیت ذخیره سازی بانک اطلاعاتی و یا افزایش تعداد کاربران سیستم و یا غیره که هر کدام از این قابلیتها به تغییراتی در سخت افزارها و نرم افزارهای موجود نیاز دارند.





چارچوب معماری J2EE تمام قابلیتهای نام برده شده را بعلاوه امکانات پیچیده تر و جالبتری در اختیار شما قرار میدهد.
همان طور که دیدید EJB ها بزرگترین نقش را برای رسیدن به Scalability بازی میکنند