انواع مدل پیاده سازی نرم افزار بر اساس نوع خدمات
برای ارائه یک مدل مناسب بمنظور پیاده سازی نرم افزار می توان محوریت را سرویس های ارائه شده توسط هر لایه در نظر گرفته و به عملکرد هر Tire در نرم افزارها از بعد سرویس دهی متمرکز شده و هر Tire را بعنوان مجموعه ای از سرویس ها در نظر گرفته که مسئول ارائه سرویس به عناصر موجود در Tire خود و یا سایر Tire های مرتبط باشد.با این نگرش می توان گفت تمامی نرم افزارها ، خدمات و سرویس های خود را در سه بخش ارائه می نمایند:
User Sevices
Business Services
Data Services
مشاهده تصویر با ابعاد بزرگتر
در مدل Three Tire ، مسئولیت ارائه هر یک از سرویس های فوق به یک Tire واگذار می گردد.عناصر موجود و مسئول ارائه سرویس و خدمات در هر Tire ، قادر به ارتباط و درخواست سرویس از عناصر موجود در Tire خود و سایر Tire های موجود در بالا و یا پایین خود خواهند بود. نکته بسیار مهم در رابطه با وضعیت فوق این است که یک درخواست جهت اخذ سرویس نمی تواند یک Tire را حذف و خود مستقیما؛ با Tire ثانویه ( بعدی) مرتبط و اصطلاحا؛ یک Tire را دور بزند! مثلا" عناصر موجود در لایه User Services نمی توانند مستقیما؛ درخواست خود را برای لایه Data Services ارسال دارند ، البته لایه فوق نیز چنین امکانی را نخواهد داشت . هر یک از سه بخش فوق مسئولیت های خاص را برعهده گرفته و در زمانیکه یک بخش به خدمات یک بخش دیگر نیاز داشته باشد ، درخواست خود را برای اخذ سرویس در اختیار بخش مورد نظر قرارداده و بخش فوق سرویس درخواستی را در قالب اجرای یک یا چندین عنصر انجام و ماحصل را در اختیار بخش مربوطه قرار خواهد داد.مدل فوق که بر اساس همگرائی نوع سرویس ها و خدمات در یک نرم افزار ارائه شده است ، صرفا" یک مدل منطقیی است و نشاندهنده یک مدل فیزیکی نیست .
User services . عناصر موجود در این لایه ، مسئولیت ارائه اینترفیس تصویری ( ویژوال ) را برعهده خواهند داشت. عناصر موجود در لایه فوق مسئولیت ارتباط با سایر عناصر موجود در لایه خود و لایه Business را برعهده خواهند گرفت .
Business Services . عناصر موجود در لایه User ، قادر به ایجاد ارتباط مستقیم با عناصر لایه داده نخواهند بود .لایه Business مسئولیت عملیات فوق را بر عهده خواهد گرفت . عناصر موجود در این لایه مسئول ارائه تمامی سیاست های راهبردی نرم افزار خواهند بود .( مثلا" بررسی اعتبار یک کارت اعتباری ) . سیاست های راهبردی در هر نرم افزار از جمله مواردی می باشند که بالاترین میزان تغییرات را در مدت زمان حیات یک نرم افزار خواهند داشت . بدیهی است با تغییر یک سیاست، می بایست تغییرات لازم در نرم افزار اعمال گردد. مثلا" فرض نمائید در برنامه پرداخت مالیات میزان جریمه دیرکرد متناسب با سیاست های موجود در سازمان مربوطه تغییر نماید، در چنین مواردی اعمال خواسته جدید، می بایست از طریق تغییر عناصر سرویس دهنده در لایه فوق انجام گیرد.
Data services . عناصر موجود در این لایه مسئولیت ذخیره و بازیابی داده ها در منابع داده ئی را برعهده خواهند داشت .در لایه فوق بهیچوجه از عناصر Bussiness استفاده نشده و این عناصر کاملا" از یکدیگر متمایز شده اند. یکی از ویژگی های لایه فوق استقلال در دستیابی به داده ها صرفنظر از نوع منابع داده ئی و پلات فورم است .
مدل فوق ( تقسیم بندی بر اساس نوع خدمات ) صرفا" یک مدل منطقی بوده و تصویر فیزیکی از آنچه مورد نظر است را ترسیم نخواهد کرد . در این راستا ما بدنبال یک تصویر فیزیکی بوده که با اتکاء به آن بتوان عملیات مربوط به طراحی و پیاده سازی نرم افزار را آغاز و به سرانجام مطلوب رساند.