معماری سرویسگرا
معماری سرویسگرا (به انگلیسی: Service-oriented Architecture (به اختصار SOA))، یکی از رهیافتهای طراحی نرمافزار با تمرکز بر طراحی سامانههای توزیعشده است. در این معماری کارکردهای نرمافزاری در قالب سرویس توسط مؤلفههای برنامههای کاربردی به دیگر مؤلفهها در بستر ارتباطات تحت شبکه ارائه میشود.[۱] [۲]
امروزه از این معماری در دستگاههای دولتی و شرکتهای خصوصی برای توسعه برنامههای کاربردی و سیستمها، یکپارچگی سیستمهای اطلاعاتی سازمانی یا تعاملات اطلاعاتی بین سازمانی و استاندارد وب سرویس (Web Service) و پروتکلهای آن استفاده میشود.[۱]
معرفی
[ویرایش]سرویس
[ویرایش]یک سرویس یک واحد مجزا و مستقل از یک وظیفهمندی است که میتواند به صورت مستقل و با کمترین وابستگی از دیگر بخشها استفاده، بروزرسانی و عمل کند. ویژگیهای یک سرویس عبارتند از: [۳]
- منطقاً نشان دهنده یک فعالیت کسبوکار با خروجی معین است.
- خودمختار است.
- محتویات و جزئیات آن بر مشتریان سرویس پوشیده است.
- سرویس ممکن است شامل دیگر سرویسها برای ارائه سرویس خود باشد.
سرویسهای متفاوت میتوانند برای ارائه وظیفهمندی برنامههای کاربردی بزرگتر با هم تجمیع و یکپارچه شوند. در واقع معماری سرویسگرا با برنامهنویسی مؤلفهگرا ( modular programming) ارتباط نزدیکی دارد. معماری سرویسگرا مؤلفههای نرمافزار توسعه یافته به صورت مجزا که به صورت مستقل و توزیع شده استقرار یافتهاند را با هم یکپارچه میسازد. این معماری توسعه نرمافزار مبتنی بر مؤلفه و ارتباط، پیرامون شبکه مؤلفهها بر مبنای اصل پنهانسازی در توسعه برنامههای کاربردی را تسهیل میکند.
پروتکلهای معماری سرویسگرا
[ویرایش]برخی از قراردادهای معماری سرویسگرا عبارتند از: [۱]
- (SOAP (Simple Object Access Protocol: ساختاری برای تبادل پیامها در قالب XML است که بین سرویسهای وب تبادل میشود.
- (WSDL (Web service Description Language: زبانی مبتنی بر XML که جهت توصیف ویژگیهای عملیاتی سرویسهای وب استفاده میشود و دارای دو بخش تعریف واسط و پیادهسازی است.
- (UDDI (Universal Description ,Discovery and Integration: واسطی است برای انتشار و شناسایی سرویسهای وب و شامل یک مخزن میشود که ارائه دهندگان به انتشار و تبلیغ سرویس خود میپردازند تا دیگران بتوانند آن را شناسایی کنند.
خواص معماری سرویسگرا
[ویرایش]مهمترین خواص معماری سرویسگرا عبارتند از: [۱] [۴]
- استفاده از استانداردهای مستقل از فناوری و مورد توافق برای ارائه مؤلفههای نرمافزاری تحت قالب سرویس
- معرفیکننده یک روش مشخص و مورد توافق برای تعریف و ارتباط بین مؤلفههای نرمافزاری
- مؤلفههای نرمافزاری منفرد میتوانند در ساخت دیگر نرمافزارها استفاده شوند
- تقویتکننده رهیافت سرهمبندی اجزای از قبل تعریف شده برای ساخت نرمافزارها به جای توسعه و پیادهسازی آنها
- میتواند به نرمافزارهای خارج سازمانی نیز مانند انواع داخلی آن متصل شوند.
گذرگاه سرویس سازمانی
[ویرایش]گذرگاه سرویس سازمانی ((enterprise service bus (ESB) یک زیرساخت نرمافزاری است که به عنوان یک لایه واسط از میانافزار، نیازمندیهایی مانند یکپارچه سازی بین سرویسها، امنیت، مدیریت، کنترل سرویس و مدیریت ارتباطات را پشتیبانی میکند. [۱] این میانافزار برنامهای کاربردی است که بین دیگر برنامههای کاربردی تجاری ارتباط برقرار میکند و در حالت ایدهال تمام ارتباطات و تبادلات بین برنامهها و سیستمهای سازمانی را مدیریت و تسهیل کند.
عدم یکپارچگی سرویسهای نرمافزاری و بانکهای اطلاعاتی انگیزه اصلی بهرهگیری از گذرگاه سرویس سازمانی در معماری سرویسگرا است. بطوریکه در شرکتهای بزرگ جهانی بالاترین اولویت کاری بیشتر مدیران فناوری اطلاعات یکپارچهسازی و سرویسگرایی است و بهرهگیری از گذرگاه سرویس سازمانی در این راستا میتواند بسیار تسهیلکننده یکپارچگی سیستمهای سازمانی باشد.[۱]
تاریخچه
[ویرایش]معماری سرویسگرا، نخستین بار با عنوان معماری مبتنی بر سرویس در سال 1998 توسط یک تیم یکپارچه سازی سرویسهای مدیریت و فرایندهای کسبوکار، مبتنی بر سرویس ارایه شد. [۵]
بیانیه سرویسگرایی
[ویرایش]در سال 2009 بیانیهای جهت معماری سرویسگرا بر مبنای 6 ارزش بنیادی ارائه شد. این شش ارزش بنیادین در معماری سرویسگرا عبارتند از: [۶]
- ارزشهای کسبوکار از راهبردهای فنی اهمیت بیشتری دارند.
- اهداف راهبردی از منافع پروژهای خاص اهمیت بیشتری دارند.
- تعاملپذیری ذاتی از یکپارچه سازیهای مقطعی اهمیت بیشتری دارد.
- سرویسهای اشتراکی از پیادهسازیهای خاص منظوره از اهمیت بیشتری برخوردار هستند.
- انعطافپذیری از سازماندهی اهمیت بیشتری دارد.
- بهبود تکاملی از کمالگرایی اولیه اهیمت بیشتری دارد.
تاریخچه معماری سرویسگرا در ایران
[ویرایش]شروع فعالیتهای معماری سرویسگرا در ایران به سالهای 84 و 85 باز میگردد. اولین تحقیقات و مطالعات دانشگاهی در این سالها انجام شد و هسته پژوهشی معماری سیستم های اطلاعاتی دانشگاه شهید بهشتی بایگانیشده در ۹ دسامبر ۲۰۱۸ توسط Wayback Machine از پیشگامان این حوزه بود، دکتر فریدون شمس مدیر هسته پژوهشی، هدایت چندین پایاننامه کارشناسیارشد با موضوع معماری سرویسگرا را به عهده گرفت(که تا آن زمان کمتر در دانشگاهها کار شده بود) و این روند تا سالهای بعد ادامه داشت. برگزاری دوازدهمین کنفرانس انجمن کامپیوتر در اسفند 1385 فرصت خوبی برای معرفی معماری سرویسگرا بود؛ در این کنفرانس یک کارگاه آموزشی مختص معماری سرویسگرا توسط امیر مهجوریان و دکتر فریدون شمس برگزار شد که نقش مهمی در آشنایی دانشجویان و جامعه علمی با معماری سرویسگرا داشت.[۱][۴]
جذابیت موضوع معماری سرویسگرا برای دانشجویان و مراکز دانشگاهی به همراه وجود منابع آموزشی کافی باعث شد از اواخر دهه 80 تا اوایل دهه 90، تعداد قابل توجهی از دانشجویان تحصیلات تکمیلی در دانشگاههای معتبر برای موضوع پایاننامه یا مقالات علمی به این موضوع بپردازند، موضوعات مرتبط با معماری سرویسگرا بعد از نیمه دهه 90 همچنان مورد توجه پژوهشگران و دانشجویان بود تا در چند سال اخیر با داغ شدن موضوع "معماری مایکروسرویس(مشتق شده از معماری سرویسگرا)"، توجهها به این عنوان جلب شد و مفاهیم سرویسگرایی با شکل جدیدتر و جذاب تر مطرح شد.[۱][۴]
با هدف ترویج و فرهنگسازی مفاهیم و استانداردهای معماری سازمانی و معماری سرویسگرا، در سال 1390 آزمایشگاه معماری سازمانی سرویسگرا در دانشگاه شهید بهشتی با حمایت سازمان فناوری اطلاعات ایران تأسیس گردید و پس از آن طی سالهای 94 تا 97، هفت شعبه از آزمایشگاههای معماری سازمانی سرویسگرا در 7 دانشگاه کشور راه اندازی گردید.[۱][۴]
به موازات توسعه مباحث علمی معماری سرویسگرا در کشور، شرکتهای نرم افزاری نیز برای بروزرسانی محصولات خود همسو با ترند روز دنیا اقدام به مدرن سازی سیستم های اطلاعاتی با رویکرد سرویسگرا نمودند، اکنون بیشتر شرکتهای نرمافزاری مدعی تبعیت از معماری سرویسگرا در محصولات خود هستند، اگرچه کیفیت و کمیت این ادعاها نیاز به راستیآزمایی دارد، که نشان دهنده اهمیت معماری سرویسگرا در حوزه معماری سیستم(و حتی کل حوزه فناوری اطلاعات) است.[۱][۴]
منابع
[ویرایش]- ↑ ۱٫۰۰ ۱٫۰۱ ۱٫۰۲ ۱٫۰۳ ۱٫۰۴ ۱٫۰۵ ۱٫۰۶ ۱٫۰۷ ۱٫۰۸ ۱٫۰۹ درگاه اینترنتی آزمایشگاه مرجع معماری سازمانی سرویسگرا soea.sbu.ac.ir
- ↑ "Chapter 1: Service Oriented Architecture (SOA)". msdn.microsoft.com
- ↑ "Service-Oriented Architecture Standards - The Open Group
- ↑ ۴٫۰ ۴٫۱ ۴٫۲ ۴٫۳ ۴٫۴ «درگاه اینترنتی هسته پژوهشی معماری سیستمهای اطلاعاتی isa.sbu.ac.ir». بایگانیشده از اصلی در ۹ دسامبر ۲۰۱۸. دریافتشده در ۳۱ مارس ۲۰۱۹.
- ↑ Abate, Aiken, Burke, Robert J., Dr. Peter, Joseph N. (2000). Achieving EAI Using A Services-Based Architecture. Wiley & Sons
- ↑ «www.soa-manifesto.org. Retrieved 2016». بایگانیشده از اصلی در ۲۵ ژوئیه ۲۰۱۷. دریافتشده در ۳۱ مارس ۲۰۱۹.