شنبه, ۶ بهمن, ۱۴۰۳ / 25 January, 2025
مجله ویستا

معماری سرویس گرا Service Oriented Architecture چیست


معماری سرویس گرا Service Oriented Architecture چیست

سرویس ها اجزای توزیع شده با رابط های تعریف شده و مشخص هستند كه پیغام های XMIL را پردازش وتبادل می كنند با رویكرد سرویس گرا می توان راه حل های را ارائه داد كه به مرز دامنه های سازمان, شركت یا دپارتمان محدود نیستند

معاری سرویس گرا (SOA) روشی جدید و در حال تكامل برای ساخت برنامه های توزیع شده با Distributed Applicationاست. سرویس ها اجزای توزیع شده با رابط های تعریف شده و مشخص هستند كه پیغام های XMIL را پردازش وتبادل می كنند. با رویكرد سرویس گرا می توان راه حل های را ارائه داد كه به مرز دامنه های سازمان، شركت یا دپارتمان محدود نیستند. با استفاده از SOA می توان در شركتی كه دارای سیستم ها و برنامه های كاربردی مختلف روی پلتفرم های متفاوت است، یك راه حل یك پارچه سازی با استقلال زیاد(loosly coupled) ساخت كه جریان یكنواخت و ناهماهنگ كار را تضمین كند.

هر كس كه از سایت های تجارت الكترونیكی به صورت آنلاین خرید كرده باشد، با مفهوم سرویس ها آشنا است. وقتی كه سفارش تا ن را دادید، باید اطلاعات كارت اعتباری تان را ارایه كنید كه به طور معمول توسط یك فراهم كننده سرویس ثانویه، تایید و شارژ می شود. وقتی كه سفارش پذیرفته شد، شركت سفارش گیرنده با یك شركت فراهم كننده سرویس حمل ونقل فراهم می كند و در نهایت كالای شما تحویلتان می شود. نیاز به معماری سرویس گرا از جنبه ای دیگر نیز به نحوه بارزی در برنامه های كاربردیeCommerce مشهود است. اگر مثلا جزء(componet) مربوط به پرداخت با كارت اعتباری offline و یا غیر فعال باشد،‌قرار نیست كه فرایند فروش متوقف شود. بلكه سفارش ها بایستی پذیرفته شوند وعملیات پرداخت به وقت دیگری موكول شود.

مثل سایر معماری های توزیع شده،‌ SOA ساخت برنامه های كاربردی با استفاده اجزایی كه در domainهای جدا از هم را قرار دارند را ممكن می سازد . SOA از سرویس های وب به عنوان نقاط ورود برنامه كاربردی استفاده می كند كه از لحاظ مفهومی معادل همان اجزای proxy و stub در سیستم های توزیع شده سنتی مبتنی بر اجزاء هستند . با این تفاوت كه در این جا ارتباط بین سرویس وب و استفاده كننده خیلی آزاداترانه ومستقل تر (loosely coupled) است .به علاوه SOA به خاطر در بر داشتن فاكتورهایی كه اهمیت حیاتی در تجارت دارند ، نیز منحصر به فرد است . فاكتورهایی نظیر: قابلیت اطمینان سرویس،‌ جامعیت پیام ، یكسانی تراكنش و امنیت پیام . در امور تجاری واقعی نمی توان روی سرویس هایی كه یك درخواست را فقط به خاطر این كه بتوانند بفهمند،‌ پردازش می كنند حساب كرد . در امور تجاری به قطعیت و اطمینان بیشتری نیاز است. واضح است كه سیستم های مختلف ممكن است بعضی اوقات غیر فعال باشند و یا پاسخگویی آن ها در دفعات مختلف متفاوت باشد . با وجود این هیچكدام از این موارد نباید برای كنار گذاشتن یاعدم پاسخ به یك درخواست باشند.

علاوه بر آن نباید دلیلی برای كنار گذاشتن یا عدم پاسخ به یك درخواست باشند واضح است كه سیستم های مختلف ممكن است بعضی اوقات غیر فعال باشند و یا پاسخگویی آن ها در دفعات مختلف ، متفاوت باشد. با وجود این ،‌هیچ كدام ازاین موارد نباید دلیلی برای كنار گذاشتن یا عدم پاسخ به یك درخواست باشند. علاوه بر آن نباید هیچ ابهامی در نحوه فراخوانی یك سرویس وجود داشه باشد. اگر سیستمی توانایی های خود را در قالب سرویسی روی وب ارائه كند. در آن صورت نحوه فراخوانی آن سرویس باید به طور واضح مستند سازی و اعلام شود . بسیاری از مسائل دسترس پذیری و مقیاس پذیری برنامه های كاربردی امروزی در SOA حل شده است كه احتمال نقض آن در هر مر حله ای از جریان كار بسیار زیاد است.در SOA فرض بر این است كه خطا وجود دارد و می تواند بیفتد ، بنابراین استراتژی هایی برای مثال اگر یك سرویس نتواند یك پیغام را در مرحله اول بپذیرد . این معماری طوری طراحی شده است كه مجددا پیام را بفرستد . واگر یك سرویس به طور كامل قابل دسترس نباشد، (كه هرگز نباید در یك سیستم SOA پایدار انفاق بیفتد ) آن وقت معماری طوری طراحی شده است كه روی دادن خطاهایی كه ممنجر به قطع كامل در خواست سرویس می شود،‌امكان پذیر نباشد. SOA قابلیت اطمینان را افزایش می دهد، چون خطاهای موقت در بخشی از جریان كار نمی توانند كل فرایند تجاری را از كار بیاندازند .

به بیان كلی،‌ SOA فرایندی تكامل یافته را ارائه می نماید و ازاین نظر می تواند ان را بلوغ سریس های وب و تكنولوژی های یكپارچه سازی به حساب آورد . در SOA به این امر توجه شده است كه سیستم های با اهمیت حیاتی كه بر مبنای تكنولوژی های توزیع شده ساخته می شوند. باید تضمین های خاصی را تامین نمایند . در این گونه سیستم ها باید این اطمینان وجود داشته باشد كه در خواست های سرویس به طور صحیح مسیر دهی و هدایت می شوند، در زمان مناسب به آن ها پاسخ داده می شود، و این سرویس ها به طور واضح و دقیق سیاست های ارتباطی و رابط های خود را اعلام می كنند.

▪ سرویس ها چیستند ؟

بسیاری از ما آنقدر با تكنولوژی های سرویس های وب آشنا هستیم كه اغلب در باره این كه خود سرویس ها واقعا چه هستند، فكر نمی كنیم. در ادامه سه تعریف می آوریم كه در كنار یكدیگر ماهیت یك سرویس راشرح می دهند:

۱-سرویس ها اجزاء مستقلی هستند كه پیغام های XML با ساختار مشخص و خوش تعریف(Well-defined) را پردازش می كنند.

۲-سرویس ها دارای رابط های خوش تعریف هستند كه به وسیله یك سند مبتنی بر XML كه سند Web Service Description Language (WSDL) خوانده می شود، به این سند گاهی قرارداد WSDL نیز گفته می شود. محتویات این سند،‌عملیات (متدهایی) كه توسط سرویس ارائه می شود را شرح می دهد. از جمله اطلاعات مربوط به انواع داده، اطلاعات نحوه اتصال به سرویس، جهت یافتن و ارتباط با عملیات سرویس وب.

۳-سرویس ها دارای نقاط انتهایی(Endpoint) هستند كه استفاده كنندگان از و سایر سرویس ها می توانند بر اساس آدرس سرویس (معمولا URL ) به آن ها متصل شوند. این همان چیزی است كه ارتباط(جفت شدن) آزادانه خوانده می شود.

▪ مشخصه های سرویس های وب و WS-IBasic Profile

برنامه های كاربردی SOA نیاز به پشتیبانی و امكانات زیر ساختی زیادی دارند. از جمله امكانات ارسال و دریافت مختلفی ، زیر ساخت امنیتی و پشتیبانی برای پیام رسانی مطمئن. شركت های مختلفی، از جمله IBM و مایكروسافت،‌برای ارائه مشخصه های استانداردی كه دامنه گسترده تكنولوژی های زیر ساخت SOA را پوشش دهد، با یكدیگر همكاری می كنند.

متاسفانه مشخصه های سرویس های وب در محیطی ارایه می شوند و توسعه می یابند كه شركت های دخیل در آن بیشتر رقیب هستند تا شریك. رقابت های میان شركت ها باعث می شود كه نتواند بر سر استانداردهای صحیح و مناسب به توافق برسند. اغلب،‌گروههای مختلف شركت ها، برای موارد یكسان ، استاندارهای متفاوتی را دنبال می كنند . سازمان های غیر انتفاعی مثل OASIS گرد همایی هایی برای همكاری در ارایه و توسعه استانداردها و مشخصه های سرویس های وب برگزار می كنند.( برای اطلاعات بیشتر درباره OASIS به http://www. Oasisopen.org مراجعه كنید.)

▪ معرفی WS-IBasic Profile

سازمان(WS-I)Web Services Interoperability یك هدف اصلی دارد و آن را ارائه مشخصه های استانداردی است كه سرویس های وب بتوانند با استفاده از آن روی پلتفرم های مختلف با هم تعامل داشته باشند. به بیان دیگر، هدف این سازمان این است كه سرویس های وب بتوانند با هم كار كنند،‌بدون توجه به این كه تحت چه سكوی كاری عمل می كنند و یا با استفاده از چه ابزارهایی ایجاد شده اند . این مشخصه های سرویس های وب زمینه های گسترده ای را پوشش می دهند، از پروتكل های نقل و انتقال داده تا امنیت كه مجموعه آن ها تحت عنوان پروفایل پایه WS-I جمع آوری شده اند.


شما در حال مطالعه صفحه 1 از یک مقاله 2 صفحه ای هستید. لطفا صفحات دیگر این مقاله را نیز مطالعه فرمایید.