بخشی از مقاله
چکیده
توانمندیهای معماری سرویس گرا در انتشار منابع پردازشی به صورت توزیع یافته در سطح اینترنت و امکان انجام محاسبات با استفاده از پایگاه داده با سرعت تغییر بالا، استفاده این فناوری را روز به روز گسترش داده است. در این تحقیق با استفاده از زنجیره سازی سرویسها، یک سیستم نمایش کیفیت هوا به صورت بر خط طراحی شده است.
در طراحی منطقی سیستم از پنج لایه نمایش، رابط کاربری، منطق پردازش کسب و کار، دسترسی و ذخیره سازی داده بهره گرفته شده و در بخش طراحی فیزیکی برای هر کدام زیر ساخت مناسب در نظر گرفته شده است. در طراحی سیستم سعی شده مولفههای درگیر تا جای امکان مجزا از یکدیگر باشد و بتواند پاسخگوی انجام محاسبات با پیچیدگی بیشتر را داشته باشد.
-1 مقدمه
ایجاد سیستمهای محاسباتی، همواره موضوع بحث دانشمندان و محققان مختلف در قرن اخیر بوده است. در طی این دوران روشها و فناوریهای متعددی بدین منظور ابداع شده است. اختراع ماشینهای الکترومکانیکال در دهه 1920 به منظور رمزنگاری و رمزگشایی پیامها و به دنبال آن پیدایش کامپیوترهای چند منظوره نظامی با قابلیت اجرای برنامههای محدود، از جمله تلاشهای آغازین برای نیل به هدف مذکور بوده است. پیدایش زبان ماشین Assembly و به دنبال آن ایجاد اولین زبانهای منطبق با درک بشر در دهه 1960 را میتوان در زمره فعالیتهای بشر در این راستا دانست .[1]
با بررسی معماری سرویس گرا درخواهیم یافت این فناوری نتیجه تکامل فناوریهای پیش از خود است و معایب هر کدام را به نحوی پوشانده است. به دنبال آنچه پیش از این گفته شد، در دهه 1970 با پیدایش زبانهای C و Pascal از تابع به عنوان واحد محاسباتی استفاده میشد. شی گرایی به عنوان راه حلی برای مشکل اتصال شدید تابع به نوع داده مطرح گردید. با این حال این روش نیز شامل ایراداتی همچون وابستگی به زبان برنامه نویسی و اتصال شدید بین کلاسها در سلسله مراتب ارثبری بود.[1] توابع کتابخانهای با وجود غلبه بر مشکلات شی گرایی ولی مشکل وابستگی شدید به سکوی نرم افزاری را در خود داشتند.
سرویس گرایی فرصتی را فراهم کرده است تا منابع پردازشی بتوانند بدون اتصال قوی به یکدیگر و تحت یک پروتکل سراسری در محیط اینترنت منتشر شوند. قابلیتهای بیشمار فناوری سرویسها، بخشهای مختلف صنعتی و تجاری را تحت تاثیر خود قرار داده است. چراکه فراگیر بودن این فناوری امکان دستیابی به تحلیل های متنوع را به صورت سریع و به هنگام فراهم میکند. همچنین توانمندی ترکیب سرویسهای امکان ارائه محاسبات متنوعتر را تسهیل میکند.[6]
از آنجایی که علوم مکانی ابزاری قوی برای ارتقا مدیریت در دنیای پیشرفته امروز محسوب میشود لذا نیاز استفاده از این فناوری در سیستمهای اطلاعات مکانی بیش از پیش نمایان است. نمایش نقشههای تغییرات گسترده کیفیت هوا از جمله مباحثی است که با وجود فناوری وب سرویس به عینیت رسیده است. مدل سازی تغییرات گسترده و سریع شرایط جوی و کیفی هوا از جمله آلودگی جوی، جز با استفاده از سیستم گسترده شده در شبکه جهانی و با قابلیت انجام محاسبات بهنگام ممکن نخواهد بود.
سرویسهای مختلف در زنجیره سرویسها، بخشی از مولفههای سیستم را تشکیل میدهند. معماری سیستم نرم افزاری و طراحی آن شامل مفاهیم اساسی در شناسایی و ارتباط مولفههای مختلف و زیرساخت سخت افزاری سیستم هستند. تصمیماتی که در این بخش اتخاذ میشود میتواند بازدهی، امنیت، مدیریت پذیری و معیارهای دیگر را در سیستم ترقی دهد.
طبق تحقیق انجام شده، معماری سیستم نرم افزاری در دو بخش طراحی میشود. در طراحی منطقی اجزای مختلف موجود در سیستم و ارتباط مفهومی و انتزاعی بین آنها مشخص میشود. عملکرد و رابطه سخت افزاری بین اجزا موضوعی است که در طراحی فیزیکی سیستم باید مورد توجه باشد.[7] اجزای مختلف در طراحی منطقی تحت عنوان لایه و در طراحی فیزیکی به صورت تایرهای سیستم تعریف میشوند. همانطور که از تعاریف پیش از این استنباط میشود، لایه مشخص کننده یک بخش مفهومی در ساختار منطقی سیستم است و تایر بیانگر تجهیزات زیرساختی برای پیاده سازی سیستم میباشد.[8]
سیستمی که در این تحقیق پیشنهاد شده، بر اساس مولفههای مشخص شامل 5 لایه میباشد. آنچه مد نظر بوده است سیستمی است که بتواند اطلاعات را از سنجندههای پایش اطلاعات دریافت کرده و بعد از محاسبات مختلف شاخص کیفیت هوا را به صورت نقشه سلولی به نمایش در شبکه درآورد. دیدگاه سرویس گرایی که در این سیستم ارائه شده میتواند مسیر نوین را در توسعه استفاده از قابلیتهای متعدد فناوری مذکور فراهم کند و به طبع آن زمینه را برای حل مسائلی که ماهیت برخط دارد ایجاد میکند.
-2 معماری سرویس گرا
از دیدگاه فنی سرچشمه سرویس گرایی از معماری توزیع یافته سرچشمه میگیرد. اما آنچه سرویس گرایی را نسبت به معماری توزیع یافته برتری میدهد، تعامل پذیری و یکپارچگی سیستم است. برای نیل به این هدف نیاز به مکانیزم یکپارچه میباشد و XML1 یک معیار استاندارد برای تبادل اطلاعات بین اجزا مختلف با سکوهای نرم افزاری مختلف است.[2] همچنین برای برقراری ارتباط از پرتکلهای رایج همچون HTTP2، SMTP3 استفاده میشود. در ادامه به مفاهیم پایه ای سرویس گرایی بیشتر خواهیم پرداخت.[9]
رابط سرویس بخشی است که ارتباط بین درخواست کننده سرویس و ارائه دهنده سرویس را فراهم می-کند و کاربر از طریق آن از پردازشها و عملگرهای سرویس استفاده میکند. در نظر معماری سرویس گرا رابط کاربری بخشی مجزا از پردازش، خود توصیف شده و مستقل از سکو است. مطابق شکل 1 و بر طبق استاندارد نهاد W3C4، در فناوری وب سرویس سند WSDL5 به عنوان رابط سرویس توسط فراهم کننده سرویس در یک بایگانی جهانی سرویس ذخیره میشود و درخواست کننده میتواند آن را از بایگانی بازیابی کند و آنرا مبنای اجرای پردازش سرویس قرار دهد.[10]
شکل - 1 اجزای فناوری وب سرویس و ارتباط بین آنها [1]
پیامهای رد و بدل شده بین سرویسها تحت عنوان عملکردّ در سند WSDL مشخص است. همچنین دادههای رد و بدل شده در محتوای پیام گنجانده میشود. رایجترین پروتکل در ایجاد سند پیام، پروتکل SOAP7 است. میتوان محتویاتی که در سند WSDL به نوع آن اشاره شده توسط SOAP منتقل کرد. همانطور که پیش از این گفته شد، تمام سرویسها در پایگاه جهانی بایگانی سرویس ذخیره میشوند. طبق استاندارد W3C پایگاه UDDI8 این وظیفه را بر عهده دارد. درخواست کننده لیستی از سرویسها را در آن مییابد و با استفاده سند WSDL هر سرویس از عملکردها و پردازش آن سرویس باخبر میشود.[10]
یکی از قابلیتهای مورد توجه در سرویس گرایی، اتصال سستُ بین سرویسهای موجود در ارتباط با یکدیگر است. عملکردی که هر کدام از این اجزا در یک سیستم بازی میکنند مستقل از هم میباشد و هر کدام آنها جداگانه قابل بازیابی هستند و در صورتی که در یکی از سرویسهای جزء تحولی رخ دهد در باقی اجزاء تغییری پیش نمیآید. بازیابی سرویسها در ایجاد سیستمهای نرم افزاری حجیم و با سرعت تغییر بالا و همچنین ایجاد انطباق با شرایط مختلف، از قابلیتهایی است که با معیار اتصال سست قابل دستیابی است.
در معماری سرویس گرا پارامترهایی برای ارزش گذاری کیفیت سرویسها مورد استفاده قرار میگیرند و از جمله آنها میتوان به امنیت، تراکنش پذیری، صحت پیامها، نظمًٌ، همبستگی، مدیریت پذیری و غیره اشاره نمود. این پارامترها بلاخص در سیستمهای بزرگ اطلاعاتی مورد بحث است. مطابق جدول 1 پارامتر-های کیفیت سرویس تحت فناوریهای دسته WS-* پشتیبانی می شوند.[1]
پر واضح است که زنجیره سازی سرویسها به علت ایجاد منابع پردازشی متنوع بیشتر از مفاهیم دیگر معماری سرویس گرا مورد توجه باشد چنانکه مطابق جدول 1 جایگاه بالاتر را در قابلیتهای سرویس گرایی از آن خود کرده است. هدف از زنجیره سازی ایجاد دنباله از سرویسهاست که بر اساس قوانین مشخص به دنبال یکدیگر آمده اند و یک پردازش تجاری را سازماندهی میکنند .
زبان BPEL11 از جمله زبانهای پردازش تجاری است در زنجیره سازی کاربرد بسیار دارد. از دیدگاه زبان پردازشی BPEL در برنامه، موتور اجرایی پیاده سازی میشود که وظیفه زنجیره سازی و هماهنگی بین اجرای مختلف شرکت کننده را دارد و پیامها را بین سرویسهای متعدد رد و بدل میکند. زنجیره سازی سرویسها بالاترین حد در استفاده از معماری سرویس گرا است و استفاده از آن به معنای استفاده از بالاترین حد سرویس گرایی است.[9