معماری سرویس گرا (SOA) چیست؟

F@tima s332

عضو جدید
کاربر ممتاز
معماری سرویس گرا چیست؟

معماري سرويس گرا (SOA) روشي جديد و در حال تكامل براي ساخت برنامه هاي توزيع شده با Distributed Applicationاست. سرويس

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

مي توان راه حل هايرا ارائه داد كه به مرز دامنه هاي سازمان، شركت يا دپارتمان محدود نيستند. بااستفاده از
SOA مي توان در شركتي

كه داراي سيستم ها و برنامه هاي كاربردي مختلف رويپلتفرم هاي متفاوت است، يك راه حل يك پارچه سازي با استقلال زياد
(loosly coupled
)
ساخت كه جريان يكنواخت و ناهماهنگ كار را تضمين كند.





هر كس كه از سايت هاي تجارت الكترونيكي به صورت آنلاين خريد كرده باشد، با مفهوم سرويس ها آشنا است. وقتي كه سفارش تا ن

را داديد، بايد اطلاعات كارت اعتباري تان راارايه كنيد كه به طور معمول توسط يك فراهم كننده سرويس ثانويه، تاييد و شارژ ميشود. وقتي

كه سفارش پذيرفته شد، شركت سفارش گيرنده با يك شركت فراهم كننده سرويسحمل ونقل فراهم مي كند و در نهايت كالاي شما

تحويلتان مي شود. نياز به معماري سرويسگرا از جنبه اي ديگر نيز به نحوه بارزي در برنامه هاي كاربردي
eCommerceمشهود است

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

سفارش ها بايستي پذيرفته شوندوعمليات پرداخت به وقت ديگري موكول شود
.

مثل ساير معماري هاي توزيع شده،‌
SOA ساخت برنامه هاي كاربردي با استفاده اجزايي كهدر domainهاي جدا از هم را قرار دارند را

ممكن مي سازد
SOA. از سرويس هاي وب به عنوان نقاط ورود برنامه كاربردي استفاده مي كند كه از لحاظ مفهومي معادل همان اجزاي Pr o _x y

و stub در سيستم هاي توزيع شده سنتي مبتني بر اجزاء هستند . با اين تفاوت كه در اين جا ارتباط بين سرويس وب و استفاده كننده

خيلي آزاداترانه ومستقل تر
(loosely coupled) است .به علاوه SOA به خاطر در بر داشتن فاكتورهايي كه اهميت حياتي درتجارت دارند ،

نيز منحصر به فرد است . فاكتورهايي نظير: قابليت اطمينان سرويس،‌جامعيت پيام ، يكساني تراكنش و امنيت پيام . در امور تجاري

واقعي نمي توان رويسرويس هايي كه يك درخواست را فقط به خاطر اين كه بتوانند بفهمند،‌ پردازش مي كنندحساب كرد . در امور تجاري

به قطعيت و اطمينان بيشتري نياز است. واضح است كه سيستمهاي مختلف ممكن است بعضي اوقات غير فعال باشند و يا پاسخگويي

آن ها در دفعات مختلفمتفاوت باشد . با وجود اين هيچكدام از اين موارد نبايد براي كنار گذاشتن ياعدم پاسخبه يك درخواست

باشند
علاوه بر آن نبايد دليلي براي كنار گذاشتن يا عدم پاسخ به يك درخواست باشند واضح است كه سيستم هاي مختلف ممكن است

بعضي اوقات غير فعال باشند و يا پاسخگويي آن ها دردفعات مختلف ، متفاوت باشد. با وجود اين ،‌هيچ كدام ازاين موارد نبايد دليلي

برايكنار گذاشتن يا عدم پاسخ به يك درخواست باشند. علاوه بر آن نبايد هيچ ابهامي درنحوه فراخواني يك سرويس وجود داشه باشد. اگر

سيستمي توانايي هاي خود را در قالبسرويسي روي وب ارائه كند. در آن صورت نحوه فراخواني آن سرويس بايد به طور واضحمستند

سازي و اعلام شود . بسياري از مسائل دسترس پذيري و مقياس پذيري برنامه هايكاربردي امروزي در SOA حل شده است كه احتمال

نقض آن در هر مر حله اي از جريان كاربسيار زياد است.در
SOA فرض بر اين است كه خطا وجود دارد و مي تواند بيفتد ،بنابراين استراتژي

هايي براي مثال اگر يك سرويس نتواند يك پيغام را در مرحله اولبپذيرد . اين معماري طوري طراحي شده است كه مجددا پيام را بفرستد .

واگر يك سرويسبه طور كامل قابل دسترس نباشد، (كه هرگز نبايد در يك سيستم
SOA پايدار انفاق بيفتد) آن وقت معماري طوري طراحي

شده است كه روي دادن خطاهايي كه ممنجر به قطع كامل درخواست سرويس مي شود،‌امكان پذير نباشد
. SOA قابليت اطمينان را

افزايش مي دهد، چون خطاهاي موقت در بخشي از جريان كار نمي توانند كل فرايند تجاري را از كار بياندازند
به بيان كلي،‌ SOA فرايندي

تكامل يافته را ارائه مي نمايد و ازاين نظر مي تواند انرا بلوغ سريس هاي وب و تكنولوژي هاي يكپارچه سازي به حساب آورد . در
SOA به

اين امرتوجه شده است كه سيستم هاي با اهميت حياتي كه بر مبناي تكنولوژي هاي توزيع شدهساخته مي شوند. بايد تضمين هاي

خاصي را تامين نمايند . در اين گونه سيستم ها بايداين اطمينان وجود داشته باشد كه در خواست هاي سرويس به طور صحيح مسير

دهي و هدايتمي شوند، در زمان مناسب به آن ها پاسخ داده مي شود، و اين سرويس ها به طور واضح ودقيق سياست هاي ارتباطي و

رابط هاي خود را اعلام مي كنند




 

mohandeseit

دستیار مدیر مهندسی فناوری اطلاعات
کاربر ممتاز
ایشالله بیاین ارشد یکی از لکچرهای اکثر اساتید در درس شبکه های کامپیوتری پیشرفته همینه.
 

Similar threads

بالا