You are here:

ضرورت استفاده از معماری سرویس گرا در سیستم های نوین اطلاعاتی

فرستادن به ایمیل چاپ

Tags: تحربیات | تخصصی | فریمورک | پایتون

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

ایده اصلی در بحث سرویس گرا بودن یک سامانه اطلاعاتی این است که بخش های مختلف یک سیستم جداگانه طراحی شوند و با واسط هایی استاندارد به هم متصل شوند که این واسط می تواند وب سرویس باشد . حتی برای ساخت یک نرم افزار بزرگ لازم نیست که همه اجزای آنرا خودمان بنویسیم و می توانیم از سرویس هایی که سایر شرکتها ارائه می دهند استفاده کنیم .

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

در هر صورت، الان که درگیر کارهای نرم افزاری هستم که روز به روز گسترش پیدا می کنند به ضرورت این معماری نرم افزاری بیش از پیش پی برده ام . به عنوان مثال در کار تحلیل اخبار بر اساس شبکه های اجتماعی که برعهده گرفته ام، نیاز به بخش تبلیغات ، بخش مدیریت لاگ ها ، بخش آمار و تحلیل روزانه ، آمارگیری از شبکه های اجتماعی ، خواندن اخبار و .... داریم که به این نتیجه رسیده ایم هر قسمت را کاملا مستقل و حتی با فریمورک های متفاوت (جانگو / ترنادو) پیاده سازی کنیم و فقط واسطی استاندارد تعریف کنیم که هر بخش بتواند به سایر بخش ها سرویس دهی کند .

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

 

نظرات (1)Add Comment
0
...
نویسنده نباتی, فوریه 20, 2014
با سلام
امروزه ضرورت استفاده از این وب سرویس و معماری سرویس گرا در معماری تحت وب به حدی است که با توجه به پیشرفت وب و ضرورت استفاده از ویژگی stateless در وب و نیز پشتیبانی از Multi Platforming و Service Orchestration بی گریز تمامی برنامه نویسان را به این سمت و سوق هدایت می کند.

پس از معرفی REST و نیز ضرورت نگهداری حالت کاربر در سمت کلاینت و API Consuming به این نتیجه می رسیم که برخی از فریم ورک ها همانند Asp.net Web Form ساختار معرفی شده وب 2 را زیر سوال بردند. (به این صورت که بیایند Life cycle معرفی نمایند
و صفحه post شده را پس از گذر از کوچه و پس کوچه های Life Cycle و ساخت Control Collection از روی viewstate و دیتای ارسالی)

با بررسی ساده بار پردازشی تمامی DMZ ها و سرویس های Main Frame بانکی به این نتیجه می رسیم که با وجود بستری API مانند امکان سرویس دهی به این همه کلاینت و device های مختلف وجود خواهد داشت.
حال بررسی کنید اگر قرار باشد Platform غیر سرویسگرا اگر قرار باشد در چنین محیطی و در چنین مجموعه ای بار پردازشی داشته باشد با مشکلات همزمانی درخواستها، مشکلات اولویت اجرای درخواست ها، بار پردازشی و Cpu Usage time نسبتن زیادی مواجه خواهد بود.
داشتن معماری سرویس گرا تا حد بسیار زیادی این مشکلات را مرتفع خواهد کرد.



نظرتان را بنویسید
کوچکتر | بزرگتر

busy
آخرین بروزرسانی ( دوشنبه ، 28 بهمن 1392 ، 12:54 )