-
معماری چهارلایه نرم افزار
از جمله پیچیدگی هایی که در طراحی ساختار و معماری نرم افزارهای سازمانی وجود دارد، این است که معمولا پیاده سازی راهکار به مرور و در چند فاز انجام می شود. این موضوع باید به گونه ای در طراحی نرم افزار لحاظ شود که در عین یکپارچگی داده ها، بخش های مختلف نرم افزار بتوانند بطور مستقل از هم کار کنند. علاوه بر آن توسعه نرم افزار با طراحی مناسب، با سرعت و دقت بیشتری صورت می گیرد.
برای رسیدن به این مقصود جهت طراحی محصولات جدید پردازش پیشه مدریک مطالعات و تحقیقات بسیاری انجام شد. این محصول براساس معماری چهارلایه شامل لایه های داده، کسب و کار، سرویس و واسط کاربری طراحی و تولید شده است. لایه داده شامل کلیه اجزایی از نرمافزار است که وظیفه خواندن، نوشتن و بهروزرسانی دادههای نرمافزار در پایگاه داده را برعهده دارند. لایه کسبوکار شامل کلیه اجزایی از نرمافزار است که وظیفه اعمال قوانین و منطق کسبوکار برنامه را برعهده دارند. این اجزا جهت اعمال منطق کسبوکار و اعمال تأثیر آنها برروی دادهها با لایه داده ارتباط برقرار کرده و دسترسی به دادهها و تغییر آنها را از طریق لایه داده انجام میدهند. در سناریوی نرمافزار انبارداری، اجزای موجود در این لایه وظیفه اعمال قوانین و منطق کسبوکار بخشهایی مانند مدیریت اسناد انبار، کنترل موجودی، انبارگردانی و … را برعهده دارند. لایه واسط کاربری شامل کلیه اجزایی از نرمافزار است که وظیفه ارائه و نمایش دادهها به کاربران و تعامل با آنها جهت ایجاد و تغییر اطلاعات را برعهده دارند. این اجزا جهت ارائه اطلاعات به کاربران، اطلاعات را از لایه کسبوکار خوانده و دستورات کاربران را به منظور اعمال بر روی اطلاعات نرمافزار جهت اعمال به لایه کسبوکار میفرستند. در سناریوی نرمافزار انبارداری، اجزایی مانند فرم تعریف انبار، فرم ثبت سند انبار و اجزایی از این دست در این لایه قرار میگیرند. وب سرویس ها، درگاه ارتباطی سایر نرم افزارها با نرم افزار یکپارچه ی پردازش پیشه مدریک می باشند.
همانگونه که گفته شد یکی از مزایای استفاده و تبعیت از این معماری و بهطور کلی معماریهای چندلایه برای شرکتهای تولیدکننده نرمافزار مانند پردازش پیشه مدریک که بیش از یک محصول نرمافزاری را تولید و ارائه میکنند، افزایش قابلیت استفاده مجدد از اجزای نرمافزاری تولیدشده و در نتیجه آن کاهش هزینه و زمان لازم جهت تولید نرمافزار و پاسخگویی به نیازهای جدید است.
معماریهای چندلایه علاوه بر این مزیت، مزایا و انعطافپذیریهای دیگری هم دارند که در شرایط خاص خود میتوانند نیازمندی های خاصی از نرمافزارهای ما را پاسخ دهند. یکی از این مزایا و انعطافپذیریها امکان جداسازی فیزیکی لایهها است. به عبارت سادهتر، تقسیمبندی وظایف و کانالهای ارتباطی تعریفشده بین لایههای نرمافزار این امکان را به ما میدهد که در صورت لزوم برخی از لایهها را بهصورت فیزیکی جدا کرده و برروی نرمافزارها و حتی سختافزارهای متفاوتی قرار دهیم که از طریق شبکه یا سایر لینکهای ارتباطی با یکدیگر ارتباط برقرار میکنند.
در اصطلاح نرمافزاری به هریک از دستههای فیزیکیای که بخشی از اجزای نرمافزار برروی آنها قرار دارند اصطلاحا ردیف (تایر) گفته شده، و به معماری نرمافزاری که اجزای آن یا حداقل برخی از آنها به صورت فیزیکی از یکدیگر جدا شدهاند، معماری چندلایه توزیعشده یا چندردیفه گفته میشود. بهطور معمول و در عرف معماری نرمافزار، پایگاه داده نرمافزار به دلیل اینکه از دیدگاه نرمافزاری و فیزیکی مستقل است خود بهعنوان یک ردیف مستقل شمرده میشود و بنابراین نرمافزارهایی که در آنها تمامی لایهها بهصورت فیزیکی در کنار هم قرار دارد با احتساب ردیف مختص به پایگاه داده دو-ردیفه محسوب میشوند. اما در معماری چندلایه، در صورتی که نرمافزار ما بیش از یک کاربر همزمان داشته باشد، به جای قرار دادن کلیه لایهها برروی تمام کامپیوترهای شخصی کاربران نرمافزار، میتوان لایههای داده و کسبوکار را برروی یک ردیف فیزیکی شامل یک کارگزار پرقدرت، که اصطلاحا کارگزار برنامه نامیده میشود، و لایه واسط کاربری را برروی یک ردیف شامل چند کامپیوتر شخصی نهچندان قدرتمند که مورد استفاده کاربران نرمافزار هستند قرار داد و ارتباط بین این دو ردیف را از طریق شبکه برقرار کرد. معماری نرمافزاری چهارلایه محصولات نسل 3، سهردیفه است که در آن، لایه واسط کاربر و بخشی از لایه سرویس یک ردیف، لایههای کسبوکار، داده و بخشی از لایه سرویس یک ردیف، و پایگاه داده یک ردیف محسوب میشود.
این پیکربندی میتواند مزایای مختلفی را برای سازمان ایجاد کند که از جمله این مزایا میتوان به موارد زیر اشاره نمود: