منو
 صفحه های تصادفی
کیک
محرومیت و محدودیت غذایی
رده
طبقه بندی کوآنزیمها
تاثیر ناکامی بر بهداشت روانی
البائیت
آزمایش معلق کردن حباب
پارادکس راسل
تیره های گیاهی
کاربردهای انتگرال معین
 کاربر Online
341 کاربر online
 : کامپیوتر
برای پاسخ دادن به این ارسال باید از صفحه قبلی اقدام کنید.   کاربر offline دبیر گروه کامپیوتر 3 ستاره ها ارسال ها: 1679   در :  پنج شنبه 30 آبان 1392 [18:06 ]
  معماري سرويس گرا چیست؟ 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 گرد همايي هايي براي همكاري در ارايه و توسعه استانداردها و مشخصه هاي سرويس هاي وب برگزار مي كنند.( براي اطلاعات بيشتر درباره OASIS به http://www. Oasisopen.org مراجعه كنيد.)
معرفي WS-IBasic Profile

سازمان(WS-I)Web Services Interoperability يك هدف اصلي دارد و آن را ارائه مشخصه هاي استانداردي است كه سرويس هاي وب بتوانند با استفاده از آن روي پلتفرم هاي مختلف با هم تعامل داشته باشند. به بيان ديگر، هدف اين سازمان اين است كه سرويس هاي وب بتوانند با هم كار كنند،‌بدون توجه به اين كه تحت چه سكوي كاري عمل مي كنند و يا با استفاده از چه ابزارهايي ايجاد شده اند . اين مشخصه هاي سرويس هاي وب زمينه هاي گسترده اي را پوشش مي دهند، از پروتكل هاي نقل و انتقال داده تا امنيت كه مجموعه آن ها تحت عنوان پروفايل پايه WS-I جمع آوري شده اند.
مشخصه هاي سرويس هاي وب به طور عمده در گروههاي زير دسته بندي مي شوند:
نقل و انتقال (Tranport )
اين گروه از مشخصه ها، پروتكل هاي ارتباطي براي انتقال داده هاي خام بين سرويس هاي وب را تعريف مي كنند و پروتكل هاي HTTP، HTTPS و SMTP را شامل مي شوند.
پيغام رساني (Messaging)
اين گروه از مشخصه ها تعيين مي كنند كه پيغام هاي XMIL كه سرويس هاي وب تبادل مي كنند. چه فرمتي بايد داشته باشند. اين گروه مشخصه هاي SOAP براي نحوه رمز گذاري پيغام و مشخصه هاي XMIL و XSD براي كلمات كليدي پيغام (vocablury) . را شامل مي شود. مشخصه هاي آدرس دهي سرويس هاي وب نيز در اين گروه قرار دارد . اين مشخصه ها اطلاعا ت مقصد پيغام را از پروتكل نقل و انتقال داده ها، مستقل مي سازد . براي مثال مي توان با استفاده از مشخصه هاي آدرس دهي سرويس هاي وب، چندين مقصد براي يك پيغام XMIL تعريف كرد.

  امتیاز: 0.00