آشنایی با معماری 3 لایه ای
در مهندسی نرم افزار، سیستمهای نرم افزاری را به دلیل کاهش پیچیدگی و ساده تر شدن آنها و همچنین به خاطر تسهیل در امر نگــهداری و اعمال تغییرات در آنها، به چـند زیر سیستم تقسیم کـرده و قسمتهای مستقل سیستم را به صورت لایههای جداگانه و مستقل از هم طراحی میکنند. هر کدام از این لایهها ضمن اینکه وظیفه خاص خود را دارند، با هم در ارتباط بوده به طوری که هر لایه به لایههای بالایی و پایینی خود سرویس داده و از آنها سرویس میگیرد. انتقال اطلاعات و دادهها در بین این لایهها از طریق Objectهایی که اصطلاحا DTO نامـیده میشوند، انجام میگیرد و کاربر نهایی فقط با لایه بیرونی در ارتباط بوده و کاری با لایههای دیگر ندارد. به این روش طراحی سیستمهای نرم افزاری، معماری چندلایه یا N-Tier گفته میشود.
Presentation Layer (لایه نمایش):
این لایه که به آن لایه Interface نیز گفته میشود شامل تمام عناصر قابل رویت مربوط به رابط گـرافیکی کاربر میباشد و در واقع هــر آنچه را که کاربر نهایی استفاده کننده از سیستم مشاهـده میکند از قبیل فرمها، کنترلهای روی فرمها، تصاویر، منوهای برنامه و... در این لایه قرار میگیرند. کاربر سیستم فقط با این لایه در ارتباط بوده و هیچ ارتباطی با دیگر لایهها ندارد و در واقع درخواست خود را از طریق لایه نمایش به لایههای زیرین انتقال میدهد. وظیفه لایه نمایش این است که اطلاعات لازم را از کاربر گرفته و در صورت لزوم برخی Validation یا اعتبار سنجیهایی که باید در این لایه انجام گیرد مثل: کنترل طول فیلدها، کنترل اجباری بودن بعضی فیلدها و... را انجام میدهد و این اطلاعات را برای هر گونه پردازش لازم دیگری به لایه بعدی ارسال مینماید و در واقع هیچ اثری از منطق اصلی برنامه و اتصال به بانک اطلاعاتی در این لایه دید نمیشود.
Business Logic Layer (لایه منطق تجاری):
این لایه که به آن لایه میانی (Middle Tier) نیز گفته میشود حاوی منطق اصلی برنامه بوده و وظیفه ارتباط بین لایه نمایش و لایه داده را بر عهده دارد. در واقع کلیه درخواستهایی که در اثر تعامل کاربر با لایه نمایش ایجاد شده است به این لایه منتقل شده و تمام پردازشهای لازم بر اساس منطق اصلی برنامه در این لایه انجام شده و نتیجه این پردازش مجددا به لایه نمایش منتقل شده و برای کاربر به نمایش درمی آید. گاهی اوقات درخواست کاربر به گونهای است که لایه منطق تجاری برای انجام آن نیاز دارد که با لایه داده یعنی لایه زیرین خود ارتباط داشته باشد مثلا کاربر ممکن است عملیات جستجو در محصولات یک شرکتی را بخواهد انجام دهد به این صورت که از طریق لایه نمایش لیست محصولات شرکت را درخواست مینماید، لایه نمایش درخواست کاربر را به لایه منطق تجاری ارسال میکند و این لایه نیز بدلیل اینکه انجام درخواست کاربر نیاز به برقراری ارتباط با لایه داده دارد، درخواست کاربر را به لایه داده ارسال میکند، لایه داده نیز درخواست کاربر را انجام داده و لیست محصولات شرکت را از بانک اطلاعاتی دریافت کرده و به لایه بالایی خود یعنی لایه منطق برنامه انتقاال داده و لایه منطق برنامه نیز این لیست را عینا با لایه بالایی خود یعنی لایه نمایش انتقال داده و در نهایت لایه نمایش این لیست را به کاربر نمایش میدهد. بنابراین وظیفه اصلی لایه منطق برنامه اعمال منطق اصلی برنامه بر روی درخواست کاربران و نیز برقراری ارتباط بین لایه نمایش و لایه داده میباشد.
Date Access Layer (لایه دسترسی به داده):
این لایه که به آن لایه بانک اطلاعاتی نیز گفته میشود وظیفه مدیریت اطلاعات موجود در بانک اطلاعاتی یا همان Database را بر عهده دارد و بر اساس درخواستهایی که از لایه بالایی خود دریافت میکند عملیاتی از قبیل: حذف، اضافه، اصلاح، خواندن اطلاعات و... را بر روی بانک اطلاعاتی انجام داده و نتیجه عمل را به لایه بالایی خود ارسال میکند. باید توجه داشت که ارتباط با بانک اطلاعاتی فقط از طریق لایه داده انجام میگیرد.
مبنع : ویکی پدیا