اطلاعات است.
* معماري سرويس گرا پيکره9 فرايند هاي استاندارد طراحي و مهندسي ، ابزارها و بهترين تجاربي است که با استفاده از سرويس و بهره گيري از خاصيت پيمانه اي بودن و قابليت ترکيب آنها ، زمينه تحقق اهداف کسب و کار را فراهم مي آورد[20].
* معماري سرويس گرا يک شيوه معماري است که بر سرويس ها به عنوان دارايي هاي فناوري اطلاعات تمرکز دارد.اين سرويس ها با فرايندهاي کسب وکاري سطح بالا ترکيب مي شوند و منجر به چابکي کسب و کار در مقابل تغييرات فناوري اطلاعات مي گردند.
تعريف زير بيشتر بر محصولات تمرکز دارد. اما نه محصولات فني ، سرويس ها در اين تعريف خيلي مهم نيستند، بلکه توانايي استخراج و کنترل سرويس ها مهم است.
* معماري سرويس گرا شامل سياست ها ، تجارب و چارچوب هايي است که کارکرد هاي سيستمي را قادر مي سازد که به صورت مجموعه اي از سرويس هاي توزيع شده تعريف شده و مورد استفاده درخواست کننده قرار گيرند.اين سرويس ها با تعريف يک واسط استاندارد از پياده سازي مجزا شده اند[39] .
در تعاريف زير کاملا به جنبه تکنيکال SOA پرداخته شده است و معماري سرويس گرا را يک نوع معماري فني معرفي مي کنند و بر تکنولوژي و نحوه پياده سازي آنها تاکيد دارند.با توجه به اينکه از تکنولوژي وب سرويس استفاده مي شود، بنابراين به نظر مي رسد تفاوت در تفسير مفاهيم اوليه است.
* معماري سرويس گرا يک فرم از معماري فني است که مبتني بر اصول سرويس گرايي است وقتي که اين معماري از طريق تکنولوژي وب سرويس شکل گيرد،SOA منجر به افزايش کارايي فرايند هاي کسب وکار و اتوماسيون حوزه هاي سازماني مي گردد.
* سبکي از معماري است براي ساخت نرم افزارهايي که از سرويس هاي منتشر شده در يک شبکه مانند وب استفاده مي کنند.اتصال سست بين مؤلفه هاي نرم افزاري باعث قابليت استفاده مجدد از آنها مي شود و نرم افزارها بر مبناي سرويس ساخته مي شوند[15].
* معماري سرويس گرا يک شيوه معماري است که برنامه ها را با ترکيب سرويس هاي قابل تعامل و اتصال سست ايجاد مي کند.اين سرويس ها قابل تعامل بوده و به پلتفرم و زبان برنامه نويسي وابسته نيستند [6].
* معماري سرويس گرا چارچوبي است که کارکردهاي برنامه هارا در قالب وب سرويس ها ي قابل استفاده مجدد فراهم کرده ، منتشر مي سازد.
با وجود تفاوت ديدگاه ها در تعاريف فوق ،همه آنها بر اين اصل توافق دارند که معماري سرويس گرا باعث افزايش انعطاف پذيري سازمان مي شود.همچنين بر اساس تعاريف ارائه شده مي توان استنباط کرد که معماري سرويس گرا قابليت تاثير گذاري در همه سطوح فناوري اطلاعات را دارد.از بالاترين سطح معماري سازمان (EA) تا پياده سازي سرويس ها.
2.2.1 مفاهيم اصلي معماري سرويس گرا
مفاهيم اساسي معماري سرويس گرا که قادر به تامين ويژگي هاي موردانتظار اين معماري است عبارتند از:
* سرويس
ايده معماري سرويس گرا مجرد سازي جنبه هاي کسب وکاري يک مسأله است و اين تجريد به شکل سرويس ظهور مي يابد.هدف معماري سرويس گرا ساختار دهي سيستم هاي توزيع شده بزرگ بر مبناي تجريد و خلاصه سازي قواعد و توابع کسب وکاري است.تعاريف متعددي از سرويس ارائه شده که تعدادي از آنها در زير آورده شده است:
o يک سرويس نمايشگر يک وظيفه کسب و کاري تکرارپذير است.سرويس ها براي مخفي سازي 10توابع عملياتي با فراهم کردن يک واسط خوش تعريف و مستقل در يک برنامه استفاده مي شوند.سرويس ها مي توانند بوسيله ساير سرويس ها يا برنامه هاي مشتري مورد استفاده قرار گيرند [1].
o سرويس يک مولفه نرم افزاري با وظيفه و عملکرد مشخص است که در برگيرنده مفهوم سطح بالاي کسب و کار است[3].
o سرويس به معناي نياز يک مصرف کننده به قابليت ها و امکاناتي است که توسط يک تامين کننده سرويس فراهم مي شود[28].
o سرويس کاري است که به وسسيله يک سرويس دهنده انجام مي شود که ممکن است انجام يک درخواست کوچک روي داده مانند دريافت يا ذخيره اطلاعات باشد يا مربوط به انجام کاري پيچيده تر مانند چاپ يک تصوير باشد[37].
* تعامل پذيري بالا 11
در زير ساختي که شامل مجموعه اي از سيستم هاي ناهمگن با پلتفرم هاي متفاوت است، اولين هدف اين است که سيستم ها قادر باشند به سادگي به هم متصل شوند.اين خصوصيت تعامل پذيري ناميده مي شود.[13] تعامل پذيري يک ايده جديد نيست.قبل از معماري سرويس گرا ، در روش يکپارچگي برنامه هاي سازمان (EAI) نيز از خاصيت تعامل پذيري استفاده مي شد.در معماري سرويس گرا تعامل پذيري مبنايي است براي پياده سازي توابع کسب وکاري (سرويس ها ) که در سيستم هاي مختلف به صورت توزيع شئه قرار دارند.

* اتصال سست

يک ويژگي براي سيستم هاي اطلاعاتي است که در آن واسط هاي بين اجزاء(ماژولها) به گونه اي طراحي مي شوند که وابستگي بين اين اجزاء حداقل شود و در نتيجه ريسک اثر تغيير يک جزء بر ساير اجزاء کاهش يابد .درمعماري سرويس گرا منظور از اتصال سست قابليت تعامل بين سرويس ها به صورت مستقل از کدنويسي و مکان سرويس ها است، بگونه اي که سرويس ها در زمان اجرا مي توانند تغيير مکان داده، روالهاي داخلي خود را تغيير دهند يا حتي از يک فناوري جديد تر استفاده کنند، بدون اينکه تاثيري منفي بر سرويس گيرندگان گذاشته شود.
چند نکته در تعريف اتصال سست وجود دارد:
* به وسيله واسط سيستم برقرار مي شود
* ارتباط از طريق ارسال پيام است
* تمام طرف ها در محيط ارتباطي بايستي از يک مدل داده استفاده کنند
* ارتباط بايد مستقل از سکو و فناوري پياده س
ازي هر جزء باشد

2 -2-2 مؤلفه هاي پايه يک معماري سرويس گرا
در يک شماي ساده معماري سرويس گرا شامل سه مؤلفه زير است [15] :
o تامين کننده سرويس
o مصرف کننده سرويس
o محل ثبت سرويس
هر مؤلفه مي تواند به عنوان يکي از دو مؤلفه ديگر نيز عمل نمايد.براي مثال اگر يک تأمين کننده سرويس نياز به دريافت اطلاعاتي داشته باشد که از سرويس ديگري فراهم شود،بنابراين تأمين کننده به عنوان مصرف کننده سرويس عمل خواهد کرد.شکل 1-2 ارتباط بين مؤلفه هاي معماري سرويس گرا را نشان مي دهد.

شکل 2.1 مؤلفه هاي پايه معماري سرويس گر
تامين کننده سرويس يک سرويس را ايجاد کرده و آن را براي استفاده و دسترسي به اطلاعات در رجيستري سرويس منتشر مي سازد.هر تامين کننده بايستي تصميم بگيرد چه سرويس هايي نمايش داده شود،توازن و تعادل بين امنيت و دسترس پذيري را فراهم کند و چگونگي قيمت دهي و ارزش گذاري سرويس را تعيين نمايد. تامين کننده همچنين لازم است طبقه بندي سرويس را تعيين کند و توافقات لازم براي استفاده سرويس توسط مصرف کننده سرويس را مشخص سازد.[1] رجيستري سرويس مسئول ايجاد يک واسط سرويس و دسترسي پذيري به اطلاعات براي مصرف کنندهاست.در پياده سازي يک رجيستري سرويس ،بايد محدوده سرويس مورد نظر براي پياده سازي رجيستري مد نظر قرار گيرد.براي مثال رجيسترهايي به صورت عمومي روي اينترنت وجود دارند که به صورت نامحدود در دسترس همگان قرار دارند،در حاليکه رجيستري هاي خصوصي نيز وجود دارند که تنها قابل استفاده بوسيله کاربران داخلي اينترنت سازمان هستند.
2.2.2 چرا معماري سرويس گرا
سازمان ها بايد بتوانند به سرعت به تغييرات بازار واکنش نشان دهند و از سرمايه هاي موجود (زيرساخت فناوري اطلاعات،برنامه هاي کاربردي … ) براي پوشش نيازمنديهاي جديد مشتريان استفاده نمايند.معماري سرويس گرا با طبيعت اتصال سست خود به سازمانه ا امکان بهره گيري از سرويس هاي جديد يا ارتقاي سرويس هاي موجود را (به منظور تمرکز بر نيازمنديهاي کسب وکار)مي دهد و قابليت استفاده سرويس ها را در کانال هاي متفاوت فراهم مي سازد[11].
لذا در پاسخ به اين سوال که ” چرا از معماري سرويس گرا استفاده مي کنيم ؟ “مي توان گفت سرويس گرايي راه حل مناسبي براي جوان سازي سيستم هاي قديمي سازمان ،يکپارچه سازي برنامه هاي کاربردي . بسته هاي مختلف نرم افزاري و متصل سازي سيستم ها و کسب وکاري گوناگون به منظور همکاري مي باشد.معماري سرويس گرا در پاسخ گويي به تغييرات ، بسيار منعطف تر از فناوري هاي ديگر است، زيرا جدا بودن واسط ها از پياده سازي هاي سرويس ها ،اعمال و انجام جابجايي و تغييرات در مؤلفه هاي تکنيکي سرويس ها را براحتي ميسر مي سازد.
وقتي حرکت به سمت انتخاب معماري صورت مي گيرد لازم است که در ک کاملي از نياز به تغيير به دست آيد و سطح بلوغ معماري انتخابي ارزيابي شود.در زير تعدادي از مواردي که دلالت بر انتخاب درست معماري سرويس گرا دارد،آورده شده است:
* انعطاف پذيري در کسب وکار وفناوري اطلاعات
* وجود استاندارد ها و پلتفرم هاي باز
* نرم افزار ها و ابزار هاي موجود براي معماري سرويس گرا
* هدايت و راهبري کسب وکار در حرکت به سمت فناوري اطلاعات
وتعدادزيادي از بهترين تجاربي که در زمينه به کارگيري و پياده سازي اين معماري به دست آمده است[1].

2.2.3 مزاياي معماري سرويس گرا

مولفان و شرکت هاي پشتيباني کننده معماري سرويس گرا در خصوص مزاياي استفاده از اين رهيافت دلايل زيادي را مطرح کرده اند که در ادامه بعضي از آنها تشريح مي شود:
* سيستم هاي چابک [ 21,22 ]: معماري سرويس گرا شما را قادر مي سازد تا به سرعت سيستم هاي خود را تغيير دهيد. اين چابکي هم از جهت کارکردهاي سيستم و هم از جهت تغيير جغرافيائي يا ارتقاء سکوها و حتي تغيير تامين کننده فناوري مي تواند باشد.
* يکپارچگي آسان با شرکاء داخلي و خارجي [ 21,22,26 ]: مي توان گفت قابليت يکپارچگي سيستم ها و سکوها مهمترين موردي است که معماري سرويس گرا به آن پرداخته است.
* استفاده مجدد [ 22,23,26 ]: استفاده مجدد از کد برنامه يا سيستم ها، از گذشته مورد توجه روش هاي توليد و توسعه نرم افزار بوده است، معماري سرويس گرا قابليت استفاده مجدد را هم در سطح کارکردي(سرويس) و هم در سطح داده ها مهيا مي کند.
* پشتيباني از محصولات با طول عمر کوتاه [ 26,27 ]: رقابت تجاري در دنيا به شدت افزايش پيدا کرده و نياز به کاهش زمان بازاريابي و توليد براي محصولات جديد مي باشد. معماري سرويس گرا وعده مي دهد که با وجود سرويس هاي خوش تعريف و قابليت استفاده مجدد از آنها در يک سازمان، پشتيباني سريع از محصولات جديد امکان پذير است.
* بهبود بازگشت سرمايه [ 27,29 ]: معماري سرويس گرا مجموع هزينه صرف شده براي فناوري اطلاعات و سرويس هاي حرفه را به دو روش کاهش مي دهد. اول با حذف هزينه هاي ميان افزارها و فناوري هاي اختصاصي و جايگزين کردن آن با فناوري هاي استاندارد مانند وب سرويس و دوم با ترکيب کارکردهاي حرفه در قالب سرويس هائي که توسط واحدهاي مختلف قابل استفاده باشد.
* نگاشت مستقيم فرآيندهاي حرفه به فناوري اطلاعات[ 26 ]: نقش کليدي معماري سرويس گرا اتصال بين کسب و کار و فناوري اطلاعات است، بدين ترتيب فرآيندها مي بايست از نگاه سرويس گرا ديده شوند و در سطح مديريت حرفه پشتيباني شوند.
* توسعه و اجراي تدريجي[ 26,28 ]: معماري سرويس گرا يک پروژه عظيم و بزرگ و يکجا نيست بلکه از تکامل و تبديل تدريجي سيستم هاي ف
علي و تعريف سرويس هاي جديد بصورت تدريجي ايجاد مي شود.
* قابليت انعطاف و تغيير آسان از يک ارائه دهنده سرويس به ديگري [ 26 ]: موضوع انعطاف در معماري سرويس گرا در هر دو مورد سرويس هاي داخل سازماني و خارجي صدق مي کند.

2.2.4 لايه هاي معماري سرويس گرا
هدف از اين قسمت اين است که توضيح دهيم چگونه يک معماري سرويس گرا ايجاد مي شود و چطور سرويس گرايي در سازمان و روش هاي معماري پياده مي شود.
در اين قسمت يک رويکرد تکنيکي براي دسته بندي سرويس ها ارائه مي شود.با اين ذهنيت که بهترين راه براي طبقه بندي سرويس ها مطرح کردن لايه هاي مختلف معماري سرويس گرا و مراحل توسعه آن است.در شکل 2-2 لايه هاي معماري سرويس گرا نشان داده شده است.

شکل 2.2 لايه هاي داخلي معماري سرويس گرا
لايه سرويس هاي فرآيندي (هم نواسازي)
در بحث معماري سرويس گرا، هم نواسازي سرويس ارزش بيشتري نسبت به هم خواني دارد زيرا باعث خودمختاري و بي وضعيتي سرويس ها شده ودر نتيجه قابليت استفاده مجدد را به همراه دارد. هم نواسازي مي تواند منطق فرآيند را به عمليات سرويس ها متصل کند، در اينجاست که فرآيندهاي حرفه با سرويس ها متصل مي شوند. به کمک هم نواسازي، جريان کار و قوانين و شرط ها از فعاليتها جدا مي شوند، ترتيب و جريان فراخواني سرويس ها در هم نواساز اصلي در قالب زبانهايي چون BPEL پياده سازي مي شود، در عوض فعاليت هاي حرفه که اکنون بصورت سرويس ها پياده سازي شده اند از منطق و حالت فرآيندها جدا شده اند و بصورت واحدهاي خودمختار قابل فراخواني در سطح سازمان و حتي خارج آن در آمده اند. بدين ترتيب حالت و وضعيت فعلي فرآيند در سرويس هاي آن ذخيره نمي شود و اين سرويس هاي خوش تعريف، داراي دامنه و کارکرد بهتري بوده و طراحي آنها با توجه به مشخصات معماري سرويس گرا(قابليت استفاده مجدد، خود مختاري، بي وضعيتي، …) مهيا مي شود.

شکل 2.3 تجزيه فرايندهاي حرفه به واحدهاي سازنده اصلي(سرويس هاي حرفه)
منطق اين لايه شامل توالي و ترتيب کلان انجام سرويس به ذينفعان است و شامل موارد بسيارجزيي و تخصصي نمي شود. اين منطق به راحتي توسط ذينفعان قابل فهم است، براي مثال به کارمندان سازمان(ذينفعان داخلي) گفته مي شود براي محاسبه حقوق بايد در آخر ماه به مسئول مربوطه مراجعه کنند و دريافت آن به دو صورت با چک يا نقدي مي باشد. منطق اين لايه کلان بوده و نيازمندي ها و قوانين مربوط به آن در حوزه دانش مديران مياني سازمان مي باشد که البته براي ذينفعان نيز قابل فهم است.
سرويس هاي حرفه که توسط يک فرآيند هم نواسازي فراخواني شده، خود مي تواند از نظر شکل بصورت هم نواساز سرويس هاي نرم افزاري پياده سازي شود و معمولا نيز به اين صورت است. اما اين به معناي يکسان بودن با سرويس هاي هم نواسازيي نيست، همانطور که گفته شد نوع و کاربرد اين دو نوع سرويس ها با هم متفاوت است اگرچه هردو به نوعي از سرويس هاي سطح پايين تر خود استفاده مي کنند.
سرويس هاي هم نواسازيي هزينه يا پيچيدگي اضافه اي را بر زيرساخت هاي فناوري اطلاعات تحميل نمي کند، اين مفهوم نوعي نگاه به فرآيندها و زير فرآيندهاي حرفه از ديدگاه سرويس گرا است. هم نواسازي باعث مي شود پيچيدگي ها و قوانين جزيي حرفه از ديد ذينفعان(کاربران) اين لايه مخفي شود و باعث انعطاف پذيري و چابکي تعريف و اصلاح مولفه هاي سازند


دیدگاهتان را بنویسید