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

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

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

سرویس ها چیستند ؟
بسیاری از ما آنقدر با تکنولوژی های سرویس های وب آشنا هستیم که اغلب در باره این که خود سرویس ها واقعا چه هستند، فکر نمی کنیم. در ادامه سه تعریف می آوریم که در کنار یکدیگر ماهیت یک سرویس راشرح می دهند:
1- سرویس ها اجزاء مستقلی هستند که پیغام های
XML با ساختار مشخص و خوش تعریف(Well-defined) را پردازش می کنند.
2- سرویس ها دارای رابط های خوش تعریف هستند که به وسیله یک سند مبتنی بر
XML که سند Web Service Description Language (WSDL) خوانده می شود، به این سند گاهی قرارداد WSDL نیز گفته می شود. محتویات این سند،‌عملیات (متدهایی) که توسط سرویس ارائه می شود را شرح می دهد. از جمله اطلاعات مربوط به انواع داده، اطلاعات نحوه اتصال به سرویس، جهت یافتن و ارتباط با عملیات سرویس وب.
3- سرویس ها دارای نقاط انتهایی(
Endpoint) هستند که استفاده کنندگان از و سایر سرویس ها می توانند بر اساس آدرس سرویس (معمولا URL ) به آن ها متصل شوند. این همان چیزی است که ارتباط(جفت شدن) آزادانه خوانده می شود.

مشخصه های سرویس های وب و
WS-IBasic Profile
برنامه های کاربردی
SOA نیاز به پشتیبانی و امکانات زیر ساختی زیادی دارند. از جمله امکانات ارسال و دریافت مختلفی ، زیر ساخت امنیتی و پشتیبانی برای پیام رسانی مطمئن. شرکت های مختلفی، از جمله IBM و مایکروسافت،‌برای ارائه مشخصه های استانداردی که دامنه گسترده تکنولوژی های زیر ساخت SOA را پوشش دهد، با یکدیگر همکاری می کنند.
متاسفانه مشخصه های سرویس های وب در محیطی ارایه می شوند و توسعه می یابند که شرکت های دخیل در آن بیشتر رقیب هستند تا شریک. رقابت های میان شرکت ها باعث می شود که نتواند بر سر استانداردهای صحیح و مناسب به توافق برسند. اغلب،‌گروههای مختلف شرکت ها، برای موارد یکسان ، استاندارهای متفاوتی را دنبال می کنند . سازمان های غیر انتفاعی مثل
OASIS گرد همایی هایی برای همکاری در ارایه و توسعه استانداردها و مشخصه های سرویس های وب برگزار می کنند.


معرفی
WS-IBasic Profile
سازمان(
WS-I)Web Services Interoperability یک هدف اصلی دارد و آن را ارائه مشخصه های استانداردی است که سرویس های وب بتوانند با استفاده از آن روی پلتفرم های مختلف با هم تعامل داشته باشند. به بیان دیگر، هدف این سازمان این است که سرویس های وب بتوانند با هم کار کنند،‌بدون توجه به این که تحت چه سکوی کاری عمل می کنند و یا با استفاده از چه ابزارهایی ایجاد شده اند . این مشخصه های سرویس های وب زمینه های گسترده ای را پوشش می دهند، از پروتکل های نقل و انتقال داده تا امنیت که مجموعه آن ها تحت عنوان پروفایل پایه WS-I جمع آوری شده اند.
مشخصه های سرویس های وب به طور عمده در گروههای زیر دسته بندی می شوند:
نقل و انتقال (
Tranport )
این گروه از مشخصه ها، پروتکل های ارتباطی برای انتقال داده های خام بین سرویس های وب را تعریف می کنند و پروتکل های
HTTP، HTTPS و SMTP را شامل می شوند.

پیغام رسانی (
Messaging)
این گروه از مشخصه ها تعیین می کنند که پیغام های
XMIL که سرویس های وب تبادل می کنند. چه فرمتی باید داشته باشند. این گروه مشخصه های SOAP برای نحوه رمز گذاری پیغام و مشخصه های XMIL و XSD برای کلمات کلیدی پیغام (vocablury) . را شامل می شود. مشخ

/ 1 نظر / 24 بازدید
آزاد

جواد ضحاک را کشتند . همان هایی که خبرنگار سر می برند ، مکتب می سوزانند ، اسید می پاشند و سرزمین ویران می کنند اینبار ضحاک را به قتل رساندند. ضحاک ، رئیس شورای ولایتی بامیان ، بامیانی که مردمانش به ناچار سرک ها را کاهگل کردند و چراغ شبانه شان ، ماه تابان شد . بامیان ، زادگاه بودایی که از شرم فروریخت باز باید مرگ ضحاک را به عزا بنشیند ! چرا که طالبان افغان، تحمل پذیرش انسانهایی که از قوم “وزین پشتون” نیستند را ندارد . چشمه ریگی | http://blog.cheshmehregi.com