چكيده
در
اين مقاله به بررسي "معماري سرويس گرا" در توليد نرم افزار، به عنوان
يکي از آخرين دستاوردهاي صنعت مهندسي نرم افزار، پرداخته مي شود.
كلمات كليدي
سرويس هاي وب، Web Services،
معماري سرويس گرا ، مهندسي نرم افزار ، Service Oriented Architecture، SOA,RUP
معماري سرويس گرا يعني سبکی از معماري که هدف آن دستیابی به اتصال سست در ارتباطات بین
مولفه هاي
نرم افزاري است. سرویس واحدي از کار است که توسط ارائه
دهنده سرویس
انجام می شود تا نتیجه مطلوب براي درخواست کننده
سرویس را
مهیا نماید. هر دوي ارائه دهنده و درخواست کننده سرویس،
نقش هائی
هستند که بوسیله عوامل نرم افزاري به جاي عوامل انسانی
انجام می
شوند
"معماري سرويس
گرا" به عنوان يکي از آخرين دستآوردها در توليد نرم افزار، به نظر مي
رسد، در سالهاي آتي معماري غالب صنعت
فناوري اطلاعات و ارتباطات باشد. علت بوجود آمدن اين معماري، ايده اي بود که در
ذهن تعدادي از معماران آن وجود داشت و آن " نرم افزار به عنوان سرويس"
بود.
در مدل "نرم افزار به عنوان سرويس" شما
نرم افزار خود را بگونه اي طراحي مي کنيد که قابل استفاده توسط سيستم هاي ديگر
باشد يعني ديگران مي توانند براي استفاده
از سرويس شما ثبت نام کنند و هر موقع که لازم داشتند از خدمات آن بهره ببرند. تا
زماني که شما به سرويس متصل هستيد، شما مي توانيد هر لحظه که خواستيد از سرويس
استفاده کنيد.
اين معماري توسط دو
شرکت IBM,
Microsoft بوجود آمد، که هر دو شرکت طي
سالهاي اخير از حاميان اصلي سرويسهاي وب[*] و عامل بسياري از ابداعات جديد در حيطه سرويس
هاي وب، مانند [†]UDDI[‡],WSE بوده اند.
سير تکامل و رشد [§]XML، با پيدايش سرويس هاي وب همراه بود. يک سرويس وب بهترين راه حل
براي پياده سازي معماري سرويس گرا است، مخصوصا وقتي ديدگاه استفاده از کل کاربران
اينترنت به عنوان کاربران بالقوه سرويس مطرح باشد. شما پايه کار خود را بر پروتکل HTTP بنا مي نهيد، پروتکلي که از همه پروتکل هاي ديگر روي اينترنت قابل
دسترس تر است. با نگاه به قابلتهاي سيستم هاي نرم افزاري مبتني بر معماري سرويس
گرا، شما متوجه خواهيد شد که سرويس هاي وب بسياري از موارد مطرح شده در بالا را
رعايت مي کنند اما تعدادي از اصول مطرح شده را هم زير پا مي گذارند که آن را بررسي
مي کنيم:
·
کارايي: XML که عنصر اصلي سازنده سرويسهاي وب است، نسبت به ساير مکانيزم هاي
انتقال اطلاعات (binary) از سربار بسيآر زيادي برخودار است
·
قابليت اطمينان در تراکنش ها:
اگر شما در يک تراکنش از يک سرويس وب استفاده کنيد، چگونه مي توانيد صحت تراکنش[**]
را تضمين کنيد در حالي که تمام کارهاي شما مبتني بر اينترنت و پروتکل HTTP است؟.
·
امنيت: شما چگونه مي توانيد
کاربران سرويس خود را تصديق هويت[††]
کنيد تا بعد از آن بتواند صلاحيت آنها را
در استفاده از سرويس تان مورد بررسي قرار دهيد؟
·
تعریف سرویس
عملی
که به
وسیله یک
سرویس دهنده انجام می
شود و
از نظر
سرویس گیرنده ارزشمند است. ممکن است
انجام یک
درخواست کوچک
روي داده مانند دریافت یا
ذخیره اطلاعات باشد یا
مربوط به
انجام کاري پیچیده تر مانند پردازش یک
تصویر باشد.
·
تعريف
سرويس در معماري سرويس گرا
در معماري سرویس گرا معمولا سرویس را بصورت