معماری چندلایه

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

معماری چندلایه (در مهندسی نرم‌افزار) برای آسانتر نمودن پردازش رایانه‌ای بکار می‌رود. این گونه معماری برای توصیف و تشریح فرایندی بکار می‌رود که در آن درجه‌ای از تفکیک میان اجزای گسسته بدست آمده باشد. این تفکیک توسط یک یا چند پیشکار نرم‌افزاری اعمال می‌شود. مثالی از آن کاربرد میان افزار برای افزایش بهره‌وری خدمات داده‌ای میان یک کاربر و یک پایگاه داده‌ها می‌باشد. همچنین ممکن است از این عبارت با عنوان معماری n-لایه یاد شود. بیشترین شکل استفاده آن در حالت معماری سه-لایه می‌باشد.

معماری سه لایه[ویرایش]

معماری سه لایه، یک الگوی معماری مشتری خدمتگزار در مهندسی نرم افزار است که در آن سه واحد 'واسطه کاربری' (نمایش)، 'پردازش منطقی' (منطق) و 'دسترسی به داده' (داده) به صورت واحد های مستقل و حتی بر روی پلت فرم های جداگانه، توسعه و نگهداری می شوند. برای اولین بار این معماری توسط آقای John J. Donovan در Open Environment Corporation به کار گرفته شد.

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

معمولا لایه نمایش بر روی کامپیوتر شخصی و یا workstation قرار گرفته می شود و دارای یک واسطه کاربری گرافیکی می باشد. لایه منطق خود از چندین ماجول جداگانه ساخته شده که معمولا بر روی یک سرور برنامه به کار گرفته می شود. لایه داده نیز برای کار از یک سرور پایگاه داده کمک می گیرد. با توجه به حجم و پیچیدگی، معمولا لایه منطق خود به چندین زیر لایه شکسته می شود که به چنین معماری ای، معماری چند صفحه ای (n-tier architecture) گفته می شود.

لایه نمایش

این لایه بالایی ترین لایه یک برنامه نرم افزاری محسوب می شود که در واقع کاربر نهایی، تنها با این لایه در ارتباط می باشد. وظیفه این لایه این است که اطلاعاتی از لایه منطق دریافت کرده است را به شکل مناسبی مثلا در قالب یک واسطه کاربری گرافیکی به کاربر نمایش دهد.

لایه منطق (لایه میانی)

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

لایه داده

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

استفاده در توسعه برنامه های تحت وب[ویرایش]

استفاده اصلی معماری سه لایه در توسعه نرم افزار های تحت وب می باشد.

ملاحظات دیگر[ویرایش]

نحوه انتقال داده بین لایه های مختلف، قسمتی از معماری می باشد که در این زمینه پروتکل های متعددی از جمله SNMP، CORBA، Java RMI، .Net Remoting، Windows Communication Foundation، sockets، UDP و ... وجود دارند. لایه های جداگانه معمولا (نه لزوما) بر روی حتی سرور های فیزیکی جداگانه اجرا می شوند و هر لایه نیز می تواند به صورت جداگانه به صورت خوشه ای در آید.

قابلیت ردیابی[ویرایش]

قابلیت ردیابی end-to-end جریان داده ها در یک معماری چند لایه یک چالش مهم است که هرچه اندازه سامانه سامانه بزرگتر باشد، بیشتر اهمیت خود را نشان می دهد. اندازه گیری پاسخ برنامه مفاهیمی برای اندازه گیری کارایی تراکنش ها بین لایه های مختلف بیان می کند.

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  • مشارکت‌کنندگان ویکی‌پدیا، «Multitier architecture»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ژانویه ۲۰۱۶).