- امکان محقق شدن فرآیندها و ارزش کاری را توسط جامعه فراهم کند.
- امکان استفاده از فناوریهای متنوعی را جهت تسهیل تعاملات در جامعه فراهم کند.[17]”
- تعریف گروه باز: ” SOA یک سبک معماری است که از سرویس گرایی پشتیبانی می کند.”
سرویس گرایی طرز فکری است در قالب سرویسها، توسعه مبتنی بر سرویس و نتیجه سرویسها. یک سرویس یک نمایش منطقی است از یک فعالیت کاری تکرار شونده که دارای نتیجه است (مانند بررسی اعتبار مشتری، ارائه داده های وضع هوا، تلفیق گزارشها و…) مستقل است، ممکن است ترکیب سرویسهای دیگری باشد. برای سرویس گیرندگان یک جعبه سیاه است. یک سبک معماری ترکیبی است از ویژگیهای متمایزی که در آن، معماری اجرا یا بیان می شود.
( اینجا فقط تکه ای از متن پایان نامه درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )
سبک معماری ASO دارای ویژگیهای متمایز زیر است:
- بر مبنای طراحی سرویسها است که بیانگر فعالیتهای کاری واقعی تشکیل دهنده فرآیندهای کاری سازمانی یا بین سازمانی هستند.
- نمایش سرویسها می تواند برای ارائه متن (یعنی فرایند، هدف، قاعده و خط مشی کار، واسطهای سرویسها و مولفه های سرویسها) به کار رود.
- نیازمندیهای یکتایی را نسبت به زیر ساختها ایجاد می کند. (پیشنهاد شده است که پیاده سازیها از استانداردهای باز برای تحقق تعامل پذیری و شفافیت مکانی استفاده کنند.)
- پیاده سازیها مختص محیط اند یعنی بر اساس متن، فعال یا محدود می شوند و باید در همان متن توصیف شوند.
- نیاز به کنترل قوی بر نمایش و پیاده سازی و آزمایش سرویس وجود دارد.[12]”
- تعریف شرکت IBM : “معماری سرویس گرا چارچوبی برای برنامه های کاربردی است که کاربردهای روزمره کسب و کار را می گیرد و آنها را به عملکردها و فرآیندهای مختلف کاری- که به آنها سرویس اطلاق می شود- می شکند. SOA امکان ساخت، استقرار و یکپارچه سازی این سرویسها را بطور مستقل از برنامه های کاربردی و سکوی اجرا فراهم می کند.[18]”
با توجه به تعاریف فوق مشاهده می شود که معماری سرویس گرا یک سبک معماری فناوری اطلاعات است که بر مفهوم سرویس بعنوان واحد نمایش منطق کاری و سازه بلوک اصلی در توسعه نرم افزارها متکی است. این سبک معماری دارای اصولی است که آن را از روشهایی مانند توسعه مبتنی بر مولفه و توسعه شی گرا متمایز و رسیدن آن را به اهدافی مانند اتصال سست و قابلیت استفاده مجدد بالا تضمین می کند.
2-2-4- اجزاء معماری سرویس گرا
معماری سرویس گرا متشکل از چهار مفهوم تجریدی front-end برنامه، سرویس، مخزن سرویس و گذرگاه سرویس است که در شکل 2-2 مشاهده می شوند.
سرویسها عملکردهای کاری را جهت استفاده front- end برنامه و سایر سرویسها فراهم می کنند. یک سرویس خود دارای یک پیاده سازی است که شامل داده و منطق کاری می شود، بعلاوه قرارداد سرویس که عملکرد کاری موارد استفاده و محدودیتهای درخواست کننده را مشخص می کند، و نهایتاً واسط سرویس که بطور فیزیکی آن عملکرد را در معرض استفاده سرویس گیرندگان قرار می دهد. مخزن سرویس نیز قراردادهای سرویسها را برای تک تک سرویسها ذخیره می کند و گذرگاه سرویس ، ارتباط front- end برنامه و سرویسها را فراهم می کند.
شکل 2-2 اجزاء معماری سرویسگرا
الف- front-end برنامه
Front- end برنامه جزء فعال SOA است که فعالیت سیستمها را آغاز و کنترل می کند. انواع مختلفی از front-end ها وجود دارد، واضح ترین مثال، برنامه های دارای واسط گرافیکی کاربر مانند برنامه های تحت وب یا rich client ها هستند که مستقیماً با کاربران نهایی تعامل دارند. مثال دیگر، برنامه های دسته ای (batch) یا فرآیندهای با عمر طولانی هستند که متناوباً یا در اثر نتیجه رویدادهای خاص، عملکردی را فراخوانی می کنند. بهر حال کاملاً امکان پذیر است که یک front-end بیشتر مسئولیت خود در مورد یک فرایند کاری را به یک یا چند سرویس تفویض کند و نهایتاً همیشه front-end است که یک فرایند کاری را آغاز و نتایج آن را دریافت می کند.
ب- سرویسها
به بیان بسیار ساده، سرویسها قطعه نرم افزارهایی هستند که عملکرد مشخصی در یک سطح کاری بالا را محصور می کنند. سرویسها دارای قرارداد[24]، واسط[25] و پیاده سازی [26]هستند(شکل 2-3)
شکل 2-3 اجزای سرویس
- قرارداد سرویس :
قرارداد، مشخصه سازی غیر رسمی هدف، کارکرد، محدودیتها و نحوه استفاده از سرویس است. شکل این مشخصه سازی بسته به نوع سرویس می تواند متفاوت باشد . یکی از عناصر قرارداد سرویس ، تعریف رسمی واسط بر اساس زبانهایی مانند IDL و WSDL است، مزیت این تعریف رسمی تجرید بیشتر و استقلال بیشتر از تکنولوژی ، زبانهای برنامه نویسی ، میان افزارها، پروتکلهای شبکه و محیط اجراست. با این وجود لازم است به این نکته توجه شود که قرارداد سرویس ، اطلاعاتی بیشتر از مشخصه سازی رسمی را ارائه می دهد. قرارداد می تواند معنای عملکرد و پارامترهای سرویس را که فراتر از مشخصه سازی IDL و WSDL هستند نشان دهد.
- واسط :
عملکرد سرویس با بهره گرفتن از واسط در اختیار متقاضیان سرویس قرار می گیرد.
- پیاده سازی:
پیاده سازی سرویس بطور فیزیکی منطق کاری و داده های مناسب مورد نیاز را فراهم می کند. و قرارداد سرویس را محقق می سازد. پیاده سازی سرویس شامل یک یا چند فراورده مانند برنامه ها، داده های پیکربندی و غیره است.
- منطق کاری:
منطق کاری که توسط سرویس محصور [27]می شود بخشی از پیاده سازی است که با بهره گرفتن از واسط سرویس در دسترس قرار می گیرد.
- داده ها:
یک سرویس می تواند دارای داده ها نیز باشد بویژه اگر متمرکز بر داده باشد.
ج- مخزن سرویس