دانلود پایان نامه

اطلاعات است.
* معماری سرویس گرا پیکره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 تجزیه فرایندهای حرفه به واحدهای سازنده اصلی(سرویس های حرفه)
منطق این لایه شامل توالی و ترتیب کلان انجام سرویس به ذینفعان است و شامل موارد بسیارجزیی و تخصصی نمی شود. این منطق به راحتی توسط ذینفعان قابل فهم است، برای مثال به کارمندان سازمان(ذینفعان داخلی) گفته می شود برای محاسبه حقوق باید در آخر ماه به مسئول مربوطه مراجعه کنند و دریافت آن به دو صورت با چک یا نقدی می باشد. منطق این لایه کلان بوده و نیازمندی ها و قوانین مربوط به آن در حوزه دانش مدیران میانی سازمان می باشد که البته برای ذینفعان نیز قابل فهم است.
سرویس های حرفه که توسط یک فرآیند هم نواسازی فراخوانی شده، خود می تواند از نظر شکل بصورت هم نواساز سرویس های نرم افزاری پیاده سازی شود و معمولا نیز به این صورت است. اما این به معنای یکسان بودن با سرویس های هم نواسازیی نیست، همانطور که گفته شد نوع و کاربرد این دو نوع سرویس ها با هم متفاوت است اگرچه هردو به نوعی از سرویس های سطح پایین تر خود استفاده می کنند.
سرویس های هم نواسازیی هزینه یا پیچیدگی اضافه ای را بر زیرساخت های فناوری اطلاعات تحمیل نمی کند، این مفهوم نوعی نگاه به فرآیندها و زیر فرآیندهای حرفه از دیدگاه سرویس گرا است. هم نواسازی باعث می شود پیچیدگی ها و قوانین جزیی حرفه از دید ذینفعان(کاربران) این لایه مخفی شود و باعث انعطاف پذیری و چابکی تعریف و اصلاح مولفه های سازند


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