فرمت : Word
تعداد صفحات : 182
معماری سرویس گرا به سرعت به عنوان نخستین ائتلاف و راه حل معماری محیطهای محاسباتی ناهمگون و پیچیده معاصر پدیدار گشته است . [1]SOA نیازمند این است که سازمانها مدلهای کسب و کار خود را ارزیابی کنند, به ایجاد تکنیکهای تحلیل و طراحی مبتنی بر سرویس بیاندیشند و طرحهای گسترش و پشتیبانی روابط مابین فروشنده , مشتری و شریک تجاری را ارزیابی کنند . طراحان نمی توانند انتظار مدیریت توسعه یک پروژه سرویس گرا را داشته باشند بدون اینکه به شیوه طراحی دقیق و متدولوژی توسعه تکیه داشته باشند . از آنجایی که متدولوژی توسعه مبتنی بر سرویس اهمیت حیاتی در توصیف ,ساخت , پالایش و تطبیق فرایندهای کسب وکاری دارد که تغییرپذیری بالایی دارند و تا به حال روش مناسب و منسجمی برای توسعه برنامه های کاربردی تجاری قدرتمند وجود ندارد , هدف این تحقیق ارائه روشی برای طراحی مبتنی بر سرویس می باشد . در این تحقیق از تکنیکها و مباحث مطرح درSOA استفاده شده و برای طراحی سرویس گرا روشی پیشنهاد می شود . تمرکز تحقیق بر روی فرایند طراحی می باشدکه اصول و تکنیکهای کافی برای مشخص کردن , ساخت و پالایش فرایندهای کسب وکاری که به سرعت دچار تغییر می شوند فراهم می کند . روش پیشنهای برای ایجاد کنترل متمرکز از تجرید لایه های سرویس و طبقه بندی انواع سرویس استفاده نموده و در کنار استفاده از سیستمهای موروثی در حمایت از استراتژیهای کوتاه مدت سازمانها ,بر اساس اصول طراحی و اصول سرویس گرائی در راستای استراتژیهای بلند مدت عمل می کند تا در تامین اهداف تجاری و حمایت از فرایندهایی که به سرعت دچار تغییر می شوند مفید واقع شود . همچنین زمینه تعامل عاملهای مختلف فرایند که در سطح چندین سازمان گسترده شده اند فراهم می شود و با تحلیل تغییرپذیری, انعطاف پذیری سیستم در حمایت از نقاط متغیر فرایندها و تغییر در سیاستهای کسب و کار افزایش می یابد . بدین منظور در ادامه بحث ابتدا سبکهای مختلف توسعه نرم افزار به همراه سبک مبتنی بر سرویس و اصول سرویس گرائی به تفصیل بررسی می گردد , سپس چرخه حیات معماری سرویس گرا و فاز تجزیه و تحلیل که مقدمه ای برای طراحی می باشد مورد بررسی قرار می گیرد و در ادامه با بیان اصول و الگوهای طراحی موجود , راهکار پیشنهادی با نمونه پیاده سازی شده به صورت مشروح بیان می گردد .
کلمات کلیدی : SOA , Layer, Service Type , Process ,Variation , Granularity .Composition
مقدمه
در طول چهار دهه اخیر، میزان پیچیدگی نرم افزارها بصورت صعودی افزایش یافته و تقاضا برای نرم افزارهای قدرتمندتر بیشتر شده است. در این میان، به نظر می رسد که روشهای قدیمی جوابگوی نیازهای در حال رشد کنونی نیستند و نیاز به ایجاد و بکارگیری روشهائی است که بوسیله آنها بتوان بر این پیچیدگیها بصورت کاراتر و در زمانی کوتاهتر غلبه کرد. از سوی دیگر امکان کنار گذاشتن یکباره سیستمهای نرم افزاری موجود که تا به حال مشغول سرویس دهی به مشتریان بوده اند، وجود ندارد و می بایست سیستمهای جدید را بصورت یکپارچه و در کنار همین سیستمهای فعلی بوجود آورد. معماری سرویس گرا، با تکیه بر اصول سرویس گرائی و محاسبات و سرویس های توزیع شده و بر پایه پروتکلهای شبکه و لایه های منطقی سرویس و همچنین زبانهایی که تولید نرم افزارهای توزیع شده را فراهم می کنند، به عنوان راه حلی مناسب جهت از میان برداشتن مشکلات و مسائل مذکور مطرح گردیده است[20,21].
SOA مجموعه ای از اصول , نظریه ها و تکنیکهایی را فراهم می کند که فرایندهای کسب و کار , اطلاعات و دارایی های تشکیلات بتوانند به شیوه مؤ ثری سازماندهی شوند و این فرایندها می توانند برای پشتیبانی از طرحهای استراتژیک و سطوح بهره وری که در محیطهای رقابتی کسب و کار مورد نیاز هستند, گسترش داده شوند . بسیاری از تشکیلات اقتصادی در استفاده اولیه شان از SOA چنین پنداشتند که از مولفه های موجود به عنوان سرویس وب می توانند استفاده کنند و عنوان کردند تنها با ایجاد سرویسهای پوشاننده[2] و رها کردن مولفه های زیرین غیر قابل دسترس, این کار عملی خواهد بود . در نتیجه پیاده سازی لایه نازکی از SOAP/WSDL/UDDI بالای برنامه کاربردی موجود یا مولفه هایی که سرویسهای وب را تحقق می بخشند , تا حد گسترده ای در صنعت نرم افزار تجربه شد . اما تا به حال روش مناسبی برای ایجاد برنامه های کاربردی تجاری قدرتمند وجود ندارد . اگرچه طبیعت مولفه ها مناسب استفاده از آنها به عنوان سرویس وب می باشد , در بیشتر موارد اینطور نیست و برای طراحی مجدد و ارائه کارکرد مولفه ها به شیوه صحیح و از طریق سرویس وب نیازمند تلاش مضاعفی می باشیم[9] .
پیاده سازی موفق SOA مستلزم این است که به مفاهیم و استراتژیهای پیاده سازی که خصوصیات و ویژگیهای اساسی SOA را فرموله می کنند , توجه شود . به مجرد پیاد ه سازی موفق SOA , مزایایی در جهت کاهش زمان توسعه و ایجاد محصول , بهره برداری از کاربردهای انعطاف پذیر با پاسخ دهی سریع و امکان اتصال پویای استدلالهای کاربردی شرکای تجاری , حاصل می شود . یک پیاده سازی کامل SOA نه تنها در ارتباط با گسترش و صف آرایی سرویسها می باشد بلکه امکان استفاده از سرویسها درجهت اجتماع برنامه های کاربردی متمایز و ایجاد کاربرد مرکب را منعکس می سازد.
ارائه روشی برای طراحی مبتنی بر سرویس