قدیمی 12-05-2010, 12:18 PM   #1
(کاربر باتجربه)
 
melina آواتار ها
 
تاریخ عضویت: May 2010
محل سکونت: tehran
نوشته ها: 81   (نمایش پست ها)
تشکر: 2
33 بار در 24 پست از ایشان تشکر شده است
Neutral  +1 score     
Notepad Icon آشنایی با مدل معماری چند لایه ای

مدل معماری لایه ای از چند لایه به شکل زیر تشکیل شده:


(Presentation Layer(PL یا لایه واسط کاربری




این لایه ، لایه ایست که کاربر مستقیما با آن سروکار دارد و خود از دو مولفه تشکیل شده :
  • یا مولفه های واسط کاربری که دقیقا همان فرمهائی است که کاربر سیستم آن ها را می بیند .
  • UI Process Component : محاسبات و عملیاتی که برای تهیه فرم ها و محتوای نمایشی فرم ها انجام می شود در این قسمت گنجانده می شود.

اگر با مفهوم User Experience Model در تحلیل و طراحی شیء گرا آشنا باشید story board همان UI Component و navigation map همان UI Process Component را شامل می شود.

(Business Logic Layer(BLL
نرم افزارهائی قدرتمند هستند که مستقل از لایه واسط کاربری بتوانند به ارائه سرویس بپردازند. اگر درخواستی از مولفه دیگری در یک سازمان که نرم افزار ما در آن نصب و راه اندازی شده وارد سیستم ما شود ، سیستم باید توانائی پاسخگوئی به آن را داشته باشد . مسائلی از این قبیل در بخش service interface راه اندازی می شود.



سطح بعدی در BLL شامل سه قسمت اصلی است :
  • Component
  • Business Workflow




موارد دیگری که باید در BLL قرار گیرند عبارتند از :
  • ارتباط میان اشیاء قواعد و فرایند ها
  • رویه و ترتیب انجام کارها
که Object ها در قسمت Business Entity ، ارتباط میان اشیا ، قواعد و فرایند ها در قسمت Business Component و رویه و ترتیب انجام کارها در قسمت Business Workflow جای می گیرند.


Data Access Layer
ارتباط application با داده ها و data base در لایه Data Access Layer انجام می گیرد. و نتیجه حاصل در اختیار لایه های بالاتر و یا سیستم های دیگر قرار می گیرد.داده هائی که یک application از آن ها استفاده می کند می تواند توسط خود سیستم نگهداری شود و یا از داده هائی باشد که در سیستم ها و application های دیگر تولید و نگهداری می شود .
Service Gateway قسمتی است که سرویسی را از لایه BLL در جای دیگر فراخوانی می کنیم.





به طور خلاصه، فرآیند مورد نظر ما این گونه کار میکند:
  • کاربر برای داده های برنامه درخواستی ارسالمی کند.لایه Data Access داده های مورد نظر را بازیابی می کند و از طریق لایه Business Logic آن ها را به لایه نمایش می فرستد.بعضی مواقع لایه دسترسی به دادهها، این داده ها را مستقیما به لایه نمایش ارسال می کند. لایه نمایش اطلاعاتیکه باید نمایش داده شوند را از طریق لایه Business Logic دریافت می کند. کاربرداده ها را تغییر می دهد و عمل مناسب در مورد آن ها را اجرا می کند ( مثل اضافه یابه روز کردن داده ها) لایه Business Logic صحت داده های وارد شده توسط کاربررا بررسی می کند ( داده ها را اعتبار سنجی می کند)
  • اگر داده ها معتبر باشند آنها را برای به روز رسانی در بانک اطلاعاتی به دست لایه دسترسی به داده میسپارد.


مزیت های استفاده از معماری لایه ای


  • برنامه ها به چند بخش منطقی جدا از هم تقسیم می شوند و اتصال میان UI ( رابط کاربری ) ، پردازش ها و بانک اطلاعاتی کم می شود. تغییر در بانکاطلاعاتی یا روال های دسترسی به داده ها تاثیری در لایه نمایش یا برنامه کلاینت نخواهد گذاشت. برنامه کلاینت با عبارات SQL آمیخته نخواهد شد. نام جداول و ستون ها به طور موثری از برنامه کلاینت حذف می شوند. برنامه کلاینت نمی فهمدکه داده ها از کجا آمده اند ( چیزی که به آن location transparency گفته می شود)
  • تغییر یا گسترش برنامه بسیار ساده تر خواهد شد، بدون نیاز به تغییر یاکامپایل مجدد برنامه کلاینت.


  • نکته منفی در معماریچند لایه این است که شما باید تعداد زیادی بخش ها و کلاس های از هم جدا در نرمافزار بسازید. اما به هر حال مزایای این روش بیشتر و برتر از معایب آناست.
استفاده از مدل معماری لایه ای که انتخاب بسیار مناسبی برای برنامه های کاربردی وب است باعث می شود که :

1. لایه های بالائی نتوانند مستقیما به داده ها دسترسی داشته باشند
2. از لایه BLL به بالاتر به نوعData Base وابستگی نداشته باشد.
3. و اگر بخواهیم تکنولوژی مورد استفاده در یک لایه را تغییر دهیم ، نیاز به تغییر در هیچ یک از لایه های دیگر نیست.

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


ویرایش توسط melina : 12-05-2010 در ساعت 09:07 PM
melina آنلاین نیست.  
Share on Facebook
پاسخ با نقل قول
پاسخ


کاربران در حال دیدن موضوع: 1 نفر (0 عضو و 1 مهمان)
 
ابزارهای موضوع
نحوه نمایش

مجوز های ارسال و ویرایش
شما نمیتوانید موضوع جدیدی ارسال کنید
شما امکان ارسال پاسخ را ندارید
شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
شما نمیتوانید پست های خود را ویرایش کنید

BB code هست فعال
شکلک ها فعال است
کد [IMG] فعال است
کد HTML غیر فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال



All times are GMT. The time now is 12:55 PM.


کپی رایت © 1388 . کلیه حقوق برای وبگاه حرف روز محفوظ است


Brain - Ecology - Dinosaurs - Science - Computer - Health - Space - Astronomy - Dino Dinosaurs