گذرگاه سرویس سازمانی /ESB

گذرگاه سرویس سازمانی (به انگلیسی Enterprise Service Bus)، راهکاریست برای یکپارچه سازی نرم‌افزارهای مورد استفاده در سازمان‌ها که بصورت جزیره‌ای مورد استفاده قرار گرفته است. برای تبیین مفهوم فوق لازم است تا با مفهوم گذرگاه (bus) آشنایی یافت. گذرگاه (bus) مفهومیست که تاریخچه آن به معماری سخت افزارهای رایانه بر‌می‌گردد. بعد از تبیین و استفاده از این مفهوم بود که صنعت سخت‌افزار توانست ابزارهای مختلفی را از قبیل کارت‌های صوتی و گرافیکی، مودم، شبکه و سایر ابزارها را تنها با استفاده از استانداردی مشخص و واحد، به رایانه وصل نماید. تنها کافیست که ابزار مورد نظر را در شیار مشخص شده قرار داد. بعد از قرارگیری ابزار مورد نظر در محل تعیین شده، توسط مادربورد، شناسایی شده و مورد استفاده قرار می‌گیرد.با پیشرفت تکنولوژی و پیشرفت نرم‌افزارها، سازمان‌ها برای افزایش کارایی و کاهش زمان انجام فعالیت‌ها، از نرم افزارهای کاربردی متعددی استفاده می‌نمایند. در بخش‌های مختلف سازمان با توجه به نیازمندی همان بخش، نرم افزاری مورد استفاده قرار می‌گیرد. این نرم افزارها بصورت جزیره‌ای در هر سازمانی وجود دارد.یکی از مهمترین دلایلی که هر سازمانی نیازمند استفاده از ESB در زیرساخت‌های خود می‌باشد، رقابتی‌تر شدن بازار کسب و کار و نیازمندی سازمان‌ها به رشد و بهبود چابکی در سازمان است. ESB به عنوان یک نرم افزار مبتنی بر معماری سرویس‌گرا، توانسته است تا نرم‌افزارهای مختلفی که در سازمان‌ها وجود دارد، یکپارچه نماید.قبل از بوجود آمدن مفهوم ESB، سازمان‌ها برای یکپارچه سازی نرم‌افزارهای خود از ارتباط نقطه به نقطه (point to point) استفاده میکردند. از جمله معایب این روش میتوان به کنترل سخت و قابلیت توسعه پایین، اشاره نمود.تصویر 1: نمایی از یک ESBچرا باید از گذرگاه سرویس سازمانی استفاده کرد؟افزایش چابکی سازمان، کاهش زمان ورود به بازار، جلوگیری از بروز خطاها، صرفه جویی‌های مالی و زمانی از رایج‌ترین دلایلی است که شرکت‌ها، گذرگاه خدمات سازمانی را به عنوان ستون فقرات زیرساخت IT خود در نظر می گیرند و تمایل دارند که ESB را در سازمان خود پیاده سازی کنند. علاوه بر این، گذرگاه خدمات سازمانی راهی را برای استفاده از سیستم‌های موجود یا قدیمی شما ارائه می‌دهد تا بدون نیاز به کد نویسی و دغدغه‌های دیگر بتوانید سیستم‌های قدیمی خود را وارد چرخه جدید بنماید.سطوح ESB:گذرگاه خدمات سازمانی را در سه سطح می‌توان دسته‌بندی کرد .(تصویر 2)تصویر 2: سطوح ESBسطح اول ابزارهایی هستند که صرفا برای یکپارچه‌سازی نرم‌افزارهای سازمان استفاده می‌شوند و اصطلاحاً به آنها Integration Framework می‌گویند.سطح دوم ESBها، سطح گسترده‌تری از Integration Frameworkها هستند که به آن «گذرگاه سرویس سازمان» یا همان ESB گفته می‌شود.سطح سوم ESBها نیز که به آن Integration Suite می‌گویند، ترکیبی از ESBها و BPMSها هستند که علاوه بر یکپارچه‌سازی نرم‌افزارهای سازمان، قابلیت یکپارچه کردن فرآیندهای سازمان را نیز با نرم‌افزارها فراهم می‌کند بطوریکه در سازمان، می‌توان یک یکپارچگی کامل ایجاد نمود.وظایف اصلی 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 مجوز: پروانه اختصاصي سيستم عامل: Windows8- ابزار IBM Integration Bus توليد کننده: شرکت IBM مجوز: پروانه اختصاصي زبان برنامه‌سازي: Java، ESQL ،C++ ،Visual Basic .NET سيستم عامل: مستقل از سيستم‌عامل برای چه شرکت‌هایی ESB مناسب است ؟سازمان‌ها برای ارائه خدمات خود به صورت آنلاین از وب سرویس استفاده می‌کنند. وقتی تعداد وب سرویس‌ها کم است یا اهمیت آنها زیاد نیست بروز نقص فنی مشکل زیادی بوجود نمی‌آورد اما مشکلات اصلی زمانی بوجود می‌آید کهتعداد وب سرویس‌ها زیاد می شود مثل بانک‌ها | موسسات مالیتعداد زیر مجموعه های داخلی سازمان زیاد می‌شود مثل وزارت نفت | وزارت ارتباطاتوب سرویس اهمیت استراتژیک دارد مثل بورس | سازمان هواپیمایی کشوری | ستاد انتخاباتسازمان از طریق وب سرویس کسب درآمد فراوان لحظه ای دارد مثل همراه اول | ایرانسلارتباط مستمر وب سرویس بین منبع و سرویس گیرنده مهم می باشد مثل دفتر مرکزی فروشگاه های زنجیره ای با فروشگاه‌ها | گمرکمعرفی برخی از شرکت‌های ارائه دهنده خدمات ESB:1- شرکت دانش بنیان طراحی و معماری کاریز سیستم پویا:اين شركت كه در مركز رشد دانشگاه شهيد بهشتی تشکیل شده است، که خدمات متنوعی در ارتباط با معماری سرویس‌گرا انجام می‌شود. پکیج خدمات یکپارچه‌سازی سیستم‌ها و بانک‌های اطلاعاتی مرتبط با فناوری ESB :طراحی تفصیلی معماری گذرگاه سرویس سازمانتدوين استانداردهاي يکپارچه­ سازي براي اقدامات آتی سازمانتامین سرور و راه اندازی زیرساخت یکپارچه سازی (esb)انجام يکپارچه سازي بين سامانه ­ها مطابق متدولوژي ارائه شده (تعدادی سرویس پایلوت)آموزش و انتقال دانش به سازمان ها برای پیاده سازی سایر سرویس ها2- شرکت داده‌پرداز پویای شریف پلتفرم یکپارچه‌سازی سازمانی داده پرداز وظیفه مدیریت و تجمیع اطلاعات سرویس‌های یک سازمان را برعهده دارد. این پلتفرم نرم‌افزاری مرکزی برای پردازش و ارائه اطلاعات در مجموعه‌های بزرگ می‌باشد.یکی از مهم‌ترین دلایلی که استفاده از پلتفرم ESB داده‌پرداز به سازمان‌ها و یا شرکت‌های بزرگ در بستر فناوری اطلاعات توصیه می‌شود، توسعه پذیری و چابکی این پلتفرم است. ویژگی‌های دیگر این پلتفرم شامل دارای زیرساخت توسعه‌پذیر، ایجاد ارتباط و بهینه‌سازی سیستم‌ها، افزایش بهره‌وری سامانه‌ها، امکان اتصال به وب‌سرويس‌ها و پايگاه‌های داده، پشتیبانی از تعداد بالای کاربر همزمان و کاهش هزینه‌های توسعه و پشتیبانی نرم افزارهاست.3- شرکت وصل یکی از پلتفرم‌های ارائه داده شده توسط این شرکت با نام اسپارا، در ارتباط با یکپارچه سازی سرویس های سازمانی، امکان قیمت گذاری سرویس‌ها بر اساس سازمان و گزارشات دقیق و کاربردی است.اسپارا امکان تعریف و مدیریت APIها رو به سادگی برای شما فراهم میکنه، سرعت شما در ارائه خدمات رو بیشتر میکند و سازمان شما را برای رهبری بازار آماده می‌کند.4- شرکت داده کاوان تصمیم یاراین شرکت توسط جمعی از نخبگان دانشگاه صنعتی شریف تاسیس شده است و یکی از فعالیت های تخصصی در شرکت دانش بنیان فوق استفاده از پلتفرم پلتکو جهت پیاده‌سازی گذرگاه سرویس سازمانی می‌باشد. پلتکو “پلتفرم یکپارچه سازی و مدیریت وب سرویس” می‌باشد.این مطلب، بخشی از تمرینهای درس معماری نرم‌افزار در دانشگاه شهیدبهشتی است.منابع:https://dadehpardaz.com/esbhttps://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%8Chttps://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