بسم الله الرحمن الرحیم

اپلیکیشن های چند لایه توزیع شده

پلت فرم J2EE از مدل اپلیکیشن های چند لایه توزیع شده استفاده می کند .این اپلیکیشن ها منطقا به کامپوننت هایی تقسیم می شوند که منطبق بر توابع کاربرد های  هستند این کامژوننت ها که  یک اپلیکیشن J2EE  را می سازند  بسته به لایه ای که به آن تعلق دارند بر روی ماشین های متفاوتی نصب شده اند . شکل 1-1 دو اپلیکیشن J2EE چند لایه را نشان می دهد که به لایه های توزیع شده در لیست زیر تقسیم شده اند . بخش های اپلیکیشن J2EE  که در این شکل نشان داده شده اند در بخش  کامپوننت های J2EE توضیح داده  شده اند .این کامپوننت ها به دسته های زیر تقسیم می شوند :

1 . کامپوننت های لایه مشتری که در ماشین مشتری اجرا می شوند
2 . کامپوننت های لایه وب که در سرور J2EE اجرا می شوند
3 . کامپوننت های لایه Business که در سرور J2EE اجرا می شوند .
4 . نرم افزار های لایه  Enterprise information system (EIS) که در سرور EIS اجرا می شوند .

اگر چه اپلیکیشن J2EE می تواند شامل سه یا چهار لایه ی ارائه شده در شکل 1-1  باشد ، ولی در حقیقت اپلیکیشن های چند لایه توزیع شده J2EE به طور کلی به  صورت اپلیکیشن های سه لایه مطرح می شوند . زیرا این اپلیکیشن ها در سه مکان توزیع می شوند : ماشین مشتری ،ماشین  J2EE سرور و پایگاه داده یا ماشین های legacy که در back end هستند .

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

شکل 1-1

کامپوننت های J2EE

اپلیکیشن های J2EE از کامپوننت ساخته می شوند . یک کامپوننت J2EE  یک واحد نرم افزاری متکی به خود در حال کار است که که بوسیله کلاس ها و فایل های مربوط به خودش به اپلیکیشن J2EE اسمبل می شود و با کامپوننت های دیگر ارتباط بر قرار می کند

در مشخصات استاندارد J2EE کامپوننت های زیر تعریف می شوند :

- اپلیکیشن های مشتری و اپلت ها کامپوننت هایی هستند که در سمت مشتری اجرا می شوند .
- برنامه های تحت شبکه ی جاوا و تکنولوژی کامپوننت های صفحات سرور جاوا ، وب کامپوننت هایی هستند که در سرور اجرا می شوند
- کامپوننت های Enterprise JavaBeans™ (EJB™) که کامپوننت های تجاری هستند و بر روی سرور اجرا می شوند .

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

کلاینت های J2EE
مشتریان J2EE  می توانند یک وب کلاینت یا یک اپلیکیشن کلاینت باشند


Web client ها
وب کلاینت ها به دو بخش تقسیم می شوند :

صفحات داینامیک وب که حاوی انواع مختلف مارک آپ لنگویج ها (مثل html T xml ,… ) هستند و توسط وب کامپوننت ها تولید می شوند و در لایه وب اجرا شده و وب بروزر صفحات دریافتی از سرور را نمایش می دهد.
یک وب کلاینت گاهی thin client هم نامیده می شود . thin client  معمولا کار هایی مثل پرس وجو های پایگاه داده ، اجرای قوانین تجاری پیچیده یا ارتباط با اپلیکیشن های legacy را   انجام نمی دهد.وقتی شما ازthin client استفاده می کنید  اینگونه کار های مهم و حیاتی به صورت off loded  جهت ... بر روی طرف سرور J2EE در جایی که می توانند ازسطوح  سرعت ، امنیت ، خدمات و قابلیت اطمینان تکنولوژی سرور ساید J2EE   استفاده کنند ،  اجرا می شود .

APPLET  ها
یک صفحه وب که از لایه وب دریافت می شود می تواند حاوی اپلت هایی باشد که در بدنه آن نوشته شده اند . یک اپلت یک اپلیکیشن کوچک سمت کلاینت است که به زبان جاوا نوشته شده و توسط ماشین مجازی جاوا  که در بروزر تعبیه شده اجرا می گردد.
البته  سیستم ها کلاینتی ممکن است برای اجرای موفق اپلت ها بر روی جستجوگر وب (web browser)  به پلاگ این های جاوا و یا فایل های  نیاز پیدا کنند Security policy  .
 لذا وب کامپوننت ها API مناسبتری  برای ساختن برنامه های وب کلاینتی به شمار می روند . زیرا برای اجرا بر روی سیستم کلاینتی نیاز به پلاگ این یا فایل امنیتی  خاصی ندارند . همچنین امکان کد نویسی تمیزتری را برای طراحی صفحات وب به کد نویس می دهند چون کد های مربوط به بخش برنامه نویسی اپلیکیشن جدا  از کد های طراحی صفحه  نوشته می شود .
بنابر این طراحان صفحات وب نیازی به دانستن و فهمیدن زبان برنامه نویسی جاوا ندارند و این مسئله باعث استقلال طراحی صفحات از بخش کدنویسی آن می شود .

---------------------------------------------------
پ.ن : این مطلب از وبلاگ سابق اینجانب به این وبلاگ منتقل شده است