zahra khabar
zahra khabar
خواندن ۷ دقیقه·۳ سال پیش

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

گذرگاه سرویس سازمانی (به انگلیسی Enterprise Service Bus)، راهکاریست برای یکپارچه سازی نرم‌افزارهای مورد استفاده در سازمان‌ها که بصورت جزیره‌ای مورد استفاده قرار گرفته است.

برای تبیین مفهوم فوق لازم است تا با مفهوم گذرگاه (bus) آشنایی یافت. گذرگاه (bus) مفهومیست که تاریخچه آن به معماری سخت افزارهای رایانه بر‌می‌گردد. بعد از تبیین و استفاده از این مفهوم بود که صنعت سخت‌افزار توانست ابزارهای مختلفی را از قبیل کارت‌های صوتی و گرافیکی، مودم، شبکه و سایر ابزارها را تنها با استفاده از استانداردی مشخص و واحد، به رایانه وصل نماید. تنها کافیست که ابزار مورد نظر را در شیار مشخص شده قرار داد. بعد از قرارگیری ابزار مورد نظر در محل تعیین شده، توسط مادربورد، شناسایی شده و مورد استفاده قرار می‌گیرد.

با پیشرفت تکنولوژی و پیشرفت نرم‌افزارها، سازمان‌ها برای افزایش کارایی و کاهش زمان انجام فعالیت‌ها، از نرم افزارهای کاربردی متعددی استفاده می‌نمایند. در بخش‌های مختلف سازمان با توجه به نیازمندی همان بخش، نرم افزاری مورد استفاده قرار می‌گیرد. این نرم افزارها بصورت جزیره‌ای در هر سازمانی وجود دارد.

یکی از مهمترین دلایلی که هر سازمانی نیازمند استفاده از ESB در زیرساخت‌های خود می‌باشد، رقابتی‌تر شدن بازار کسب و کار و نیازمندی سازمان‌ها به رشد و بهبود چابکی در سازمان است. ESB به عنوان یک نرم افزار مبتنی بر معماری سرویس‌گرا، توانسته است تا نرم‌افزارهای مختلفی که در سازمان‌ها وجود دارد، یکپارچه نماید.

قبل از بوجود آمدن مفهوم ESB، سازمان‌ها برای یکپارچه سازی نرم‌افزارهای خود از ارتباط نقطه به نقطه (point to point) استفاده میکردند. از جمله معایب این روش میتوان به کنترل سخت و قابلیت توسعه پایین، اشاره نمود.

تصویر 1: نمایی از یک ESB
تصویر 1: نمایی از یک ESB

چرا باید از گذرگاه سرویس سازمانی استفاده کرد؟

افزایش چابکی سازمان، کاهش زمان ورود به بازار، جلوگیری از بروز خطاها، صرفه جویی‌های مالی و زمانی از رایج‌ترین دلایلی است که شرکت‌ها، گذرگاه خدمات سازمانی را به عنوان ستون فقرات زیرساخت IT خود در نظر می گیرند و تمایل دارند که ESB را در سازمان خود پیاده سازی کنند. علاوه بر این، گذرگاه خدمات سازمانی راهی را برای استفاده از سیستم‌های موجود یا قدیمی شما ارائه می‌دهد تا بدون نیاز به کد نویسی و دغدغه‌های دیگر بتوانید سیستم‌های قدیمی خود را وارد چرخه جدید بنماید.

سطوح ESB:

گذرگاه خدمات سازمانی را در سه سطح می‌توان دسته‌بندی کرد .(تصویر 2)

تصویر 2: سطوح ESB
تصویر 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 مجوز: پروانه اختصاصي سيستم عامل: Windows

8- ابزار IBM Integration Bus

توليد کننده: شرکت IBM مجوز: پروانه اختصاصي زبان برنامه‌سازي: Java، ESQL ،C++ ،Visual Basic .NET سيستم عامل: مستقل از سيستم‌عامل

برای چه شرکت‌هایی ESB مناسب است ؟

سازمان‌ها برای ارائه خدمات خود به صورت آنلاین از وب سرویس استفاده می‌کنند. وقتی تعداد وب سرویس‌ها کم است یا اهمیت آنها زیاد نیست بروز نقص فنی مشکل زیادی بوجود نمی‌آورد اما مشکلات اصلی زمانی بوجود می‌آید که

  • تعداد وب سرویس‌ها زیاد می شود مثل بانک‌ها | موسسات مالی
  • تعداد زیر مجموعه های داخلی سازمان زیاد می‌شود مثل وزارت نفت | وزارت ارتباطات
  • وب سرویس اهمیت استراتژیک دارد مثل بورس | سازمان هواپیمایی کشوری | ستاد انتخابات
  • سازمان از طریق وب سرویس کسب درآمد فراوان لحظه ای دارد مثل همراه اول | ایرانسل
  • ارتباط مستمر وب سرویس بین منبع و سرویس گیرنده مهم می باشد مثل دفتر مرکزی فروشگاه های زنجیره ای با فروشگاه‌ها | گمرک

معرفی برخی از شرکت‌های ارائه دهنده خدمات ESB:

1- شرکت دانش بنیان طراحی و معماری کاریز سیستم پویا:

اين شركت كه در مركز رشد دانشگاه شهيد بهشتی تشکیل شده است، که خدمات متنوعی در ارتباط با معماری سرویس‌گرا انجام می‌شود.

پکیج خدمات یکپارچه‌سازی سیستم‌ها و بانک‌های اطلاعاتی مرتبط با فناوری ESB :

  • طراحی تفصیلی معماری گذرگاه سرویس سازمان
  • تدوين استانداردهاي يکپارچه­ سازي براي اقدامات آتی سازمان
  • تامین سرور و راه اندازی زیرساخت  یکپارچه سازی (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





معماری_نرم_افزار_بهشتیesbگذرگاه خدمات سازمانیابزارهای esbشرکت های ارائه دهنده esb
کارشناس تست وکیفیت نرم افزار در شرکت پردازشگران سامان و در پروژه بلوبانک
شاید از این پست‌ها خوشتان بیاید