تعریف سرویس (Service)
تعریف سرویس: كاري كه به وسيله
يك سرويس دهنده انجام مي شود كه ممكن است انجام يك درخواست كوچك روي داده مانند دريافت
يا ذخيره اطلاعات باشد يا مربوط به انجام كاري پيچيده تر مانند چاپ يك تصوير باشد
.
در معماري سرويس گرا معمولا سرويس را بصورت خاص تر تعريف
مي كنند و به نوعي مضمون آن را با شيء و مولفه مرتبط مي دانند. واضح است كه ضرورتي
براي استفاده از متدولوژي هاي شيء گرا يا مبتني بر مولفه جهت معماري سرويس گرا وجود
ندارد و اصلا همان گونه كه بارها گفته شده معماري سرويس گرا مستقل از سكو است، اما
مي توان گفت مفهوم و مضمون "سرويس" شباهت هائي با شيء و مولفه داشته است.
در ادامه مقايسه اي اجمالي بين اين سه مفهوم ارائه شده است :
|
مدلسازي
مبتني بر كلاس
|
شيء
|
برنامه
نوسي شيء گرا
|
(تحليل و طراحي شيء گرا)
|
ارث
بري
|
|
چند
ريختي
|
|
بسته بندي
|
|
بسته
بندي
|
مولفه
|
استفاده
مجدد
|
(توسعه مبتني بر مولفه)
|
استقرار
اجزاء
|
|
اندازه پذيري
|
|
اتصال
سست
|
|
استفاده
مجدد
|
سرويس
|
فدراسيون
|
(معماري سرويس گرا)
|
چابكي
|
|
مستقل از سكو
|
تعریف معماری سرویس گرا
معماری سرویس گرا (Service Oriented Architecture) رهیافتی برای ساخت
سیستم های توزیع شده است كه كاركردهای نرم افزاری را در قالب سرویس ارائه می كند.
این سرویس ها هم توسط دیگر نرم افزارها قابل فراخوانی هستند و هم برای ساخت سرویس
های جدید مورد استفاده قرار می گیرند، این معماری برای یكپارچه سازی فناوری ها در
محیطی كه انواع مختلفی از سكوهای نرم افزاری و سخت افزاری وجود دارد ایده آل است (IBM)
آشنائی با معماری سرویس گرا (SOA)
"معماري سرويس گرا " مفهومي جديد نيست و از دهه
90 وجود داشته است ولي آنچه جديد است توانائي اجرا و عينيت بخشيدن به آن است كه به
كمك ابزارها و پروتكل هاي مربوطه ميسر شده است. معماري سرويس گرا از ديدگاه هاي مختلف
قابل بررسي است، هر فرد يا ذينفع بر طبق جايگاه خود تصويري از معماري سرويس گرا دارد،
در ادامه از سه ديدگاه كارشناسان حرفه، معماران و طراحان معماري سرويس گرا مورد بررسي
قرار مي گيرد.
كارشناسان حرفه: مجموعه اي از سرويس
ها كه سازمان مايل به ارائه آنها به مشتريان يا شركاء خود است. (تعريف سرويس كسب و
كار)
معماران: سبكي از معماري كه حاوي قوانين، الگوها و ضوابطي
است كه منجر به ايجاد خصايصي نظير پيمانه اي بودن(modularity)، بسته بندي، اتصال سست، استفاده مجدد
و تركيب پذيري شده و از نظر ساختار از يك ارائه دهنده سرويس و يك درخواست كننده سرويس
تشكيل شده است.
طراحان و پياده سازان: يك سبك(مدل) برنامه
نويسي كه از استانداردهائي مانند (SOAP،UDDI،WSDL، ..) و فناوری هائي نظير سرويس هاي وب
استفاده مي كند و قابليت تعامل پذيري بين مولفه هاي نرم افزاري را بدون توجه به سكو
و فناوری پياده سازي آنها پشتيباني مي كند.
نكاتي در خصوص معماري سرويس گرا:
·
هم راستاي كسب و كار
سازمان است
·
هم موضوعي فني است
و هم نوعي سبك تفكر است
·
مبتني بر اتصال سست
است و از پيام رساني استفاده مي كند
·
قادر به ساخت سيستم
هاي تركيبي است
·
از مولفه هاي قابل
استفاده مجدد(سرويس) تشكيل شده است
·
مهمترين دستاورد آن
انعطاف پذيري و چابكي فناوري اطلاعات در برابر تغييرات حرفه است.
·
زيرساخت ارتباطي براي
اين معماري مي بايست مستقل از پروتكل هاي لايه هاي زيرين باشد.
Service Oriented Architecture Definition
بعضي از شركت هاي تجاري كه راه حل هاي فني براي پياده سازي
اين معماري توليد نموده اند، تعاريفي فني براي معماري سازماني ارائه داده اند :
معماري سرويس گرا از نگاه IBM :
رهيافتي براي ساخت سيستم هاي توزيع شده است كه كاركردهاي
نرم افزاري را در قالب سرويس ارائه مي كند. اين سرويس ها هم توسط ديگر نرم افزارها
قابل فراخواني هستند و هم براي ساخت سرويس هاي جديد مورد استفاده قرار مي گيرند، اين
رهيافت براي يكپارچه سازي فناوری ها در محيطي كه انواع مختلفي از سكوهاي نرم افزاري
و سخت افزاري وجود دارد ايده آل است. خواص معماري سرويس گرا به اين شرح است:
·
استفاده از استانداردهاي
مستقل از فناوری و مورد توافق براي ارائه مولفه هاي نرم افزاري تحت قالب سرويس
·
معرفي كننده يك روش
مشخص و مورد توافق براي تعريف و ارتباط بين مولفه هاي نرم افزاري
·
مولفه هاي نرم افزاري
منفرد مي توانند در ساخت ديگر نرم افزارها استفاده شوند
·
تقويت كننده رهيافت
سرهم بندي اجزاء از قبل تعريف شده براي ساخت نرم افزارها به جاي توسعه و پياده سازي
آنها
·
مي تواند به نرم افزاهاي
خارج سازماني نيز مانند انواع داخلي آن متصل شوند.
معماري سرويس گرا
از نگاه ORACLE :
مجموعه اي از سرويس هاي خود شمول(self-contain) كه قادر به ارتباط با يكديگر بوده و خواص
اصلي آنها به اين قرار است:
·
اتصال سست
·
دانه درشتي
·
جهت فراخواني بر روي
گذرگاه(bus)
منتشر مي شوند
·
تعريف سرويس در سطح
كسب و كار و منتج شده از فرآیندها باعث انعطاف پذيري و چابكي فناوري اطلاعات در پشتيباني
از تغييرات حرفه مي شود.
معماري سرويس گر از نگاه Forrester:
سبكي از طراحي، پياده سازي و مديريت هر دوي نرم افزارهاي
كاربردي و زيرساخت ها كه:
·
نرم افزارهاي كاربردي
بصورت واحدهاي كاركردي مبتني بر حرفه سازماندهي مي شوند و از طريق شبكه قابل دسترس
هستند.
·
خصيصه هاي كيفيت سرويس(امنيت،
كارائي، سبك يكپارچه سازي و ..) به روشني براي هر سرويس تعريف و مشخص مي شود.
·
زيرساخت هاي نرم افزاري
مسئوليت كاري مديريت دسترسي به سرويس ها و اجراي آنها را بر عهده مي گيرند.
·
پروتكل ها و زيرساخت
هاي اين معماري مي بايست مورد توافق و نافذ باشد ولي به فناوری خاصي وابسته نباشد.
«« تحقیق درس مهندسی نرم افزار - استاد بهروز سروش »»