گذرگاه سرویس سازمانی (به انگلیسی Enterprise Service Bus)، راهکاریست برای یکپارچه سازی نرمافزارهای مورد استفاده در سازمانها که بصورت جزیرهای مورد استفاده قرار گرفته است.
برای تبیین مفهوم فوق لازم است تا با مفهوم گذرگاه (bus) آشنایی یافت. گذرگاه (bus) مفهومیست که تاریخچه آن به معماری سخت افزارهای رایانه برمیگردد. بعد از تبیین و استفاده از این مفهوم بود که صنعت سختافزار توانست ابزارهای مختلفی را از قبیل کارتهای صوتی و گرافیکی، مودم، شبکه و سایر ابزارها را تنها با استفاده از استانداردی مشخص و واحد، به رایانه وصل نماید. تنها کافیست که ابزار مورد نظر را در شیار مشخص شده قرار داد. بعد از قرارگیری ابزار مورد نظر در محل تعیین شده، توسط مادربورد، شناسایی شده و مورد استفاده قرار میگیرد.
با پیشرفت تکنولوژی و پیشرفت نرمافزارها، سازمانها برای افزایش کارایی و کاهش زمان انجام فعالیتها، از نرم افزارهای کاربردی متعددی استفاده مینمایند. در بخشهای مختلف سازمان با توجه به نیازمندی همان بخش، نرم افزاری مورد استفاده قرار میگیرد. این نرم افزارها بصورت جزیرهای در هر سازمانی وجود دارد.
یکی از مهمترین دلایلی که هر سازمانی نیازمند استفاده از ESB در زیرساختهای خود میباشد، رقابتیتر شدن بازار کسب و کار و نیازمندی سازمانها به رشد و بهبود چابکی در سازمان است. ESB به عنوان یک نرم افزار مبتنی بر معماری سرویسگرا، توانسته است تا نرمافزارهای مختلفی که در سازمانها وجود دارد، یکپارچه نماید.
قبل از بوجود آمدن مفهوم ESB، سازمانها برای یکپارچه سازی نرمافزارهای خود از ارتباط نقطه به نقطه (point to point) استفاده میکردند. از جمله معایب این روش میتوان به کنترل سخت و قابلیت توسعه پایین، اشاره نمود.
چرا باید از گذرگاه سرویس سازمانی استفاده کرد؟
افزایش چابکی سازمان، کاهش زمان ورود به بازار، جلوگیری از بروز خطاها، صرفه جوییهای مالی و زمانی از رایجترین دلایلی است که شرکتها، گذرگاه خدمات سازمانی را به عنوان ستون فقرات زیرساخت IT خود در نظر می گیرند و تمایل دارند که ESB را در سازمان خود پیاده سازی کنند. علاوه بر این، گذرگاه خدمات سازمانی راهی را برای استفاده از سیستمهای موجود یا قدیمی شما ارائه میدهد تا بدون نیاز به کد نویسی و دغدغههای دیگر بتوانید سیستمهای قدیمی خود را وارد چرخه جدید بنماید.
سطوح ESB:
گذرگاه خدمات سازمانی را در سه سطح میتوان دستهبندی کرد .(تصویر 2)
وظایف اصلی ESB عبارتند از:
بیایید با هم به نحوهی معماری گذرگاه خدمات سازمانی نگاهی بیندازیم:
– ترکیب :
در ارکستراسیون چندین مولفه کوچک موجود در یک سرویس بزرگ که اهمیت بالایی دارد با هم ترکیب میشود. این کار را میتوان برای دستیابی به تک تک خدمات مناسب و ارتقاء استفاده مجدد آنها و مدیریت مولفههای اساسی انجام داد.
– تبدیل:
تبدیل دادهها بین قالبهای دادههای متعارف و قالبهای دادههای خاص مورد نیاز هر اتصال دهنده گذرگاه سرویس سازمانی انجام میشود. برای نمونه میتواند تبدیل بین قالبهایCSV ، Cobol copybook یا EDI به SOAP / XML یا JSON باشد. فرمت های دادههای Canonical میتوانند نیازهای مرتبط با اجرای گستردهی گذرگاه خدمات سازمانی را در جایی که تعداد زیادی مصرف کننده و ارائه دهنده وجود دارد ، با قالبها و تعاریف دادههای خاص خود، بسیار ساده کنند.
– انتقال:
انتقال پیامها در پروتکل ارتباطی بین چندین قالب (مانند HTTP ، JMS، JDBC).
– میانجیگری:
فراهم کردن چندین رابط به منظور:
الف) پشتیبانی از نسخههای مختلف سرویس برای سازگاری معکوس یا استفادههای دیگر
ب) امکان ایجاد چندین کانال برای پیادهسازی مولفههای اصلی یکسان.
این نیاز دوم ممکن است شامل ارائه چندین رابط برای همان مولفهها، یک رابط قدیمی و یک رابط سازگار با استاندارد (SOAP / XML) باشد.
– سازگاری غیر عملکردی:
برای یک ابتکار معمولی گذرگاه خدمات سازمانی میتواند شامل سازگاری در مورد نحوهی اعمال و اجرای سیاستهای امنیتی و نظارتی باشد. علاوه بر این، اهداف مقیاس پذیری و در دسترس بودن را می توان با استفاده از چندین نمونه گذرگاه خدمات سازمانی برای تأمین افزایش توان عملیاتی (مقیاس پذیری) و از بین بردن نقاط شکست (SPOF) ، که هدف اصلی سیستمهای حیاتی سازمان است، به دست آورد.
معرفی محصولات مطرح در سالهای اخیر در زمینه ESB :
1- ابزار Mule ESB
توليد کننده: شرکت MuleSoft مجوز: پروانه اختصاصي براي نسخههاي اختصاصي زبان برنامهسازي: Java سيستم عامل: مستقل از سيستمعامل
2- ابزار WSO2 Enterprise Integrator
توليد کننده: شرکت WSO2 مجوز: Apache Software License Version 2.0 زبان برنامهسازي: Java سيستم عامل: مستقل از سيستمعامل
3- ابزار JBoss ESB
توليد کننده: شرکت Red Hat مجوز: GNU Lesser General Public License زبان برنامهسازي: Java سيستم عامل: مستقل از سيستمعامل
4- ابزار OpenESB
توليد کننده: انجمن OpenESB مجوز: CDDL زبان برنامهسازي: Java سيستم عامل: مستقل از سيستمعامل
5- ابزار Petals ESB
توليد کننده: کنسرسيوم OW2 مجوز: LGPL 2.0 زبان برنامهسازي: Java سيستم عامل: مستقل از سيستمعامل
6- ابزار ServiceMix
توليد کننده: شرکت Apache Software Foundation مجوز: Apache License 2.0 زبان برنامهسازي: Java سيستم عامل: مستقل از سيستمعامل
7- ابزار Microsoft BizTalk Server
توليد کننده: شرکت Microsoft مجوز: پروانه اختصاصي سيستم عامل: Windows
8- ابزار IBM Integration Bus
توليد کننده: شرکت IBM مجوز: پروانه اختصاصي زبان برنامهسازي: Java، ESQL ،C++ ،Visual Basic .NET سيستم عامل: مستقل از سيستمعامل
سازمانها برای ارائه خدمات خود به صورت آنلاین از وب سرویس استفاده میکنند. وقتی تعداد وب سرویسها کم است یا اهمیت آنها زیاد نیست بروز نقص فنی مشکل زیادی بوجود نمیآورد اما مشکلات اصلی زمانی بوجود میآید که
معرفی برخی از شرکتهای ارائه دهنده خدمات ESB:
1- شرکت دانش بنیان طراحی و معماری کاریز سیستم پویا:
اين شركت كه در مركز رشد دانشگاه شهيد بهشتی تشکیل شده است، که خدمات متنوعی در ارتباط با معماری سرویسگرا انجام میشود.
پکیج خدمات یکپارچهسازی سیستمها و بانکهای اطلاعاتی مرتبط با فناوری ESB :
2- شرکت دادهپرداز پویای شریف
پلتفرم یکپارچهسازی سازمانی داده پرداز وظیفه مدیریت و تجمیع اطلاعات سرویسهای یک سازمان را برعهده دارد. این پلتفرم نرمافزاری مرکزی برای پردازش و ارائه اطلاعات در مجموعههای بزرگ میباشد.
یکی از مهمترین دلایلی که استفاده از پلتفرم ESB دادهپرداز به سازمانها و یا شرکتهای بزرگ در بستر فناوری اطلاعات توصیه میشود، توسعه پذیری و چابکی این پلتفرم است. ویژگیهای دیگر این پلتفرم شامل دارای زیرساخت توسعهپذیر، ایجاد ارتباط و بهینهسازی سیستمها، افزایش بهرهوری سامانهها، امکان اتصال به وبسرويسها و پايگاههای داده، پشتیبانی از تعداد بالای کاربر همزمان و کاهش هزینههای توسعه و پشتیبانی نرم افزارهاست.
3- شرکت وصل
یکی از پلتفرمهای ارائه داده شده توسط این شرکت با نام اسپارا، در ارتباط با یکپارچه سازی سرویس های سازمانی، امکان قیمت گذاری سرویسها بر اساس سازمان و گزارشات دقیق و کاربردی است.
اسپارا امکان تعریف و مدیریت APIها رو به سادگی برای شما فراهم میکنه، سرعت شما در ارائه خدمات رو بیشتر میکند و سازمان شما را برای رهبری بازار آماده میکند.
4- شرکت داده کاوان تصمیم یار
این شرکت توسط جمعی از نخبگان دانشگاه صنعتی شریف تاسیس شده است و یکی از فعالیت های تخصصی در شرکت دانش بنیان فوق استفاده از پلتفرم پلتکو جهت پیادهسازی گذرگاه سرویس سازمانی میباشد. پلتکو “پلتفرم یکپارچه سازی و مدیریت وب سرویس” میباشد.
این مطلب، بخشی از تمرینهای درس معماری نرمافزار در دانشگاه شهیدبهشتی است.
منابع:
https://dadehpardaz.com/esb
https://karizsystem.ir/
http://vasl.ir/platform/enterprise-service-bus/
https://fa.wikipedia.org/wiki/%DA%AF%D8%B0%D8%B1%DA%AF%D8%A7%D9%87_%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_%D8%B3%D8%A7%D8%B2%D9%85%D8%A7%D9%86%DB%8C
https://www.faragostar.net/enterprise-service-bus-introduce/
https://platco.ir/services/integration-web-services/enterprise-service-bus/
https://medium.com/coderscorner/100-open-source-esb-429471fd0577