وبلاگ جوجه مهندس ها

یادداشت های دو دانشجوی مهندسی کامپیوتر

وبلاگ جوجه مهندس ها

یادداشت های دو دانشجوی مهندسی کامپیوتر

آشنائی با مدل معماری لایه ای

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

 

Architecture

 

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

 

این لایه ، لایه ایست که کاربر مستقیما با آن سروکار دارد و خود از دو مولفه تشکیل شده :

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

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

 

Business Logic Layer(BLL)

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

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

  1. Business Entity
  2. Business Component
  3. Business Workflow

 

موارد دیگری که باید در BLL قرار گیرند عبارتند از :

  • Object ها
  • ارتباط میان اشیاء
  • قواعد و فرایند ها
  • رویه و ترتیب انجام کارها

که 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.       و اگر بخواهیم تکنولوژی مورد استفاده در یک لایه را تغییر دهیم ، نیاز به تغییر در هیچ یک از لایه های دیگر نیست.

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

 

 

نظرات 5 + ارسال نظر
poolaki سه‌شنبه 8 اسفند‌ماه سال 1385 ساعت 09:31 ق.ظ http://poolaki.blogsky.com/

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

مشکی سه‌شنبه 8 اسفند‌ماه سال 1385 ساعت 10:32 ق.ظ http://rahe-noor.blogsky.com

بسم الله الرحمن الرحیم
سلام به مهندسا!
من یک مشکل دارم!
تازگیا جیمیل گرفتم ولی از اکسپلورر نمی تونم برم توش. از موزیلا بن اکو هم فقط زمانی می تونم برم توش که از صفحه سفارشی گوگل (اگه درست گفته باشم) برم. مشکل چیه؟ در ضمن وقتی می خوام از گوگل تاک استفاده کنم میگه پروکسیتو وارد کن در حالی که من پروکسی ندارم.
ممنون میشم اگه جواب بدین.

جیمیل با نسخه های قدیمی اکسپلورر کار نمی کنه.فکر می کنم اگه نسخه اکسپلورر رو عوض کنی مشکلت حل بشه.

محمد مهدیان چهارشنبه 19 دی‌ماه سال 1386 ساعت 04:36 ب.ظ

ممنون از اطلاعات مفیدتون که خوب هم مختصرش کرده بودید. ممکنه منبع این مطلب را بنویسید که بتونم مفصل تر راجع بهش بخونم؟ یا هر منبعی در مورد معماری لایه ای که می تونید بهم معرفی کنید؟
متشکرم - محمد

[ بدون نام ] شنبه 26 بهمن‌ماه سال 1387 ساعت 12:12 ق.ظ

مرسی مختصر و مفید

حمید نوروزی دوشنبه 12 تیر‌ماه سال 1391 ساعت 01:29 ب.ظ http://adak-co.ir

سلام
مهندس زهرا وبلاگ باحالی داری به چند دلیل
اولی عنوان یا اسم وبلاگ
دومی شمای کلی و طراحی و تم
سومی محتوای وبلاگ

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

بای

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد