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

_

گذرگاه سرویس سازمانی  یا ESB چیست؟

ESB مخفف کلمه Enterprise Service Bus و به معنی گذرگاه سرویس سازمانی است. ESB (گذرگاه سرویس سازمانی) یک میان افزار است که برای ادغام سیستم‌ها و برنامه‌های مختلف سازمان استفاده می‌شود و جایگزین ارتباط نقطه به نقطه وب سرویس‌های سازمان می‌شود.
ESB یک لایه انتزاعی است، که به عنوان “یک مترجم سراسری” در حوزه وب سرویس‌ها عمل می‌کند و برقراری ارتباط بین چندین سیستم را ممکن می‌سازد که با “زبان” متفاوت صحبت می‌کنند. هنگامی که یک سیستم پیامی برای انتقال دارد ، گذرگاه خدمات سازمانی این پیام را ترجمه کرده و به گیرنده صحیح هدایت می‌کند. این قابلیت مهم باعث می‌شود که سازمان‌ها به راحتی بتوانند وب سرویس‌های قدیمی (legacy) خود را بدون نیاز به توسعه‌ی سامانه‌های قدیمی به شکل استاندارد و مطلوب خود درآورده و در اختیار سرویس ‌گیرندگان قرار دهند. گذرگاه خدمات سازمانی به طور چشمگیری فرآیند یکپارچه‌ سازی وب سرویس چندین محیط و سیستم  ناهمگن را ساده می‌کند.
گذرگاه سرویس سازمانی - پلتکو
گذرگاه خدمات سازمانی

کارکرد  ESB چگونه است؟

جایگاه ESB (گذرگاه خدمات سازمانی) در معماری زیر ساخت سازمان بدین صورت است که بعنوان یک واسط، بین وب سرویس‌های سازمان و سرویس گیرندگان قرار می‌گیرد (سرویس گیرندگان می‌تواند داخل یا خارج سازمان باشند) و از ارتباط دو به دو که عامل بسیاری از مشکلات است جلوگیری می‌کند. البته این جداسازی به معنای دور کردن سامانه‌ها از حالت یکپارچه نیست و اتفاقاً راه اندازی ESB باعث تسهیل فرآیند یکپارچه‌سازی سامانه‌ها و مستحکم ‌سازی معماری سازمان می‌شود.
پس از استقرار ESB یا همان گذرگاه سرویس‌های سازمانی، فراخوانی کلیه وب سرویس‌ها و سرویس گیرندگان از طریق ESB انجام می‌شود و کلیه درخواست‌ها به ESB زده می‌شود و ESB درخواست‌ها را به منبع انتقال داده و پاسخ  آنها را پس از دریافت به سرویس گیرندگان تحویل می‌دهد.
Enterprise Service Bus دارای قابلیت ‌‌هایی نظیر پیام‌رسانی ناهمگام، متعادل‌سازی بار، تبدیل انواع درخواست‌ها (soap, rest, jms, …) می‌باشد که معماری سازمان شما را مقیاس پذیر و منعطف می‌کند.

اهمیت استقرار esb  در سازمان

ESB (Enterprise Service Bus) نقش مهمی در یکپارچه سازی وب سرویس‌ها دارد. ESB به عنوان یک لایه میانی بین سرویس‌های مختلف و درخواست کنندگان سرویس‌ها عمل می‌کند.این لایه میانی با استفاده از پروتکل‌های مختلف مانند SOAP، REST و … ارتباط بین سرویس‌های مختلف را برقرار می‌کند.

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

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

esb چیست

فواید گذرگاه سرویس سازمانی

کاهش نقاط ارتباط وب سرویس‌ها

پیاده سازی قوانین تجاری سازمان

دسترسی همزمان و آنلاین به سرویس‌ها

یکپارچه سازی وب سرویس‌ها

سهولت ارتباط برای سرویس گیرندگان

تبادل داده برای یکپارچگی وب سرویس‌ها

استاندارد سازی سرویس‌های سازمان

وب سرویس برای کوئری های دیتابیس

ثبات اطلاعات سرویس‌ها در چند سرویس

کانال استاندارد تعاملات سرویس‌ها

ارائه چند وب سرویس از یک وب سرویس

ارتقا و فعال ماندن سرویس‌های قدیمی

راه اندازی ESB گذرگاه خدمات سازمانی

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

تمرکز اصلی این است که سیستم‌ها را از یکدیگر جدا کند در حالی که به آنها امکان برقراری ارتباط ثابت و قابل کنترل را می‌دهد. مفهوم “Bus” سرویس‌های سازمان را از یکدیگر جدا می‌کند. این امر معمولاً با استفاده از یک سرور پیام رسان مانند JMS یا AMQP حاصل می‌شود.

داده‌هایی که در Bus حرکت می‌کنند یک قالب متعارف است و تقریباً همیشه XML است. یک “آداپتور” بین سرویس‌ها و گذرگاه وجود دارد که داده‌ها را بین دو طرف جمع می‌کند.

آداپتور وظیفه مکالمه با برنامه Backend و تبدیل داده‌ها از قالب برنامه به قالب Bus را دارد. این آداپتور همچنین می‌تواند مجموعه‌ای از فعالیت‌های دیگر مانند مدیریت تراکنش، مسیریابی پیام، امنیت، نظارت، مدیریت خطا و … را انجام دهد. گذرگاه خدمات سازمانی معمولاً فاقد تابعیت هستند. قالب پیام متعارف قرارداد بین سیستم‌ها است.

قالب متعارف به این معنی است که یک قالب پیام ثابت در Bus وجود دارد و هر برنامه در Bus می‌تواند با یکدیگر ارتباط برقرار کند.

اصول اصلی ادغام گذرگاه خدمات سازمانی

بیایید با هم به نحوه‌ی معماری گذرگاه خدمات سازمانی نگاهی بیندازیم:
ترکیب : 
در ارکستراسیون چندین مولفه کوچک موجود در یک سرویس بزرگ که اهمیت بالایی دارد با هم ترکیب می‌شود. این کار را می‌توان برای دستیابی به تک تک خدمات مناسب و ارتقاء استفاده مجدد آنها و مدیریت مولفه‌های اساسی انجام داد.
تبدیل:
تبدیل داده‌ها بین قالب‌های داده‌های متعارف و قالب‌های داده‌های خاص مورد نیاز هر اتصال دهنده گذرگاه سرویس سازمانی انجام می‌شود. برای نمونه می‌تواند تبدیل بین قالب‌هایCSV ، Cobol copybook یا EDI به SOAP / XML یا JSON باشد.
فرمت های داده‌های Canonical می‌توانند نیازهای مرتبط با اجرای گسترده‌ی گذرگاه خدمات سازمانی را در جایی که تعداد زیادی مصرف کننده و ارائه دهنده وجود دارد ، با قالب‌ها و تعاریف داده‌های خاص خود، بسیار ساده کنند.
انتقال:
انتقال پیام‌ها در پروتکل ارتباطی بین چندین قالب (مانند HTTP ، JMS، JDBC).
پیاده سازی esb
میانجی‌گری:
فراهم کردن چندین رابط به منظور:
  1. پشتیبانی از نسخه‌های مختلف سرویس برای سازگاری معکوس یا استفاده‌های دیگر
  2. امکان ایجاد چندین کانال برای پیاده‌سازی مولفه‌های اصلی یکسان.

این نیاز دوم ممکن است شامل ارائه چندین رابط برای همان مولفه‌ها، یک رابط قدیمی و یک رابط سازگار با استاندارد (SOAP / XML) باشد.

 سازگاری غیر عملکردی:

برای یک ابتکار معمولی گذرگاه خدمات سازمانی می‌تواند شامل سازگاری در مورد نحوه‌ی اعمال و اجرای سیاست‌های امنیتی و نظارتی باشد.

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

پیاده سازی ESB در پلتکو

ما در پلتکو با بهره‌مندی از کارشناسان ارشد حوزه معماری زیر ساخت سرویس سازمانی و تجربه انجام پروژه‌های متعدد می‌توانیم با ارائه یک مشاوره تخصصی و رایگان معضلات و مشکلات سازمان شما را شناسایی کنیم و راهکارهای کارآمد که منجر به صرفه جویی مالی و زمانی می شود به شما معرفی کنیم.
عدم پیاده سازی ESB باعث می‌شود تا با زیاد شدن سرویس‌های سازمان و ارتباط دو به دو آنها با هم، یک ساختار پیچیده و در هم تنیده بوجود آید که علاوه بر خطرات احتمالی، مانع از توسعه آنها در آینده نیز خواهد شد. استفاده از گذرگاه خدمات سازمانی باعث می‌شود که با تغییر یک یا چند وب ‌سرویس در سازمان، نیازی به اطلاع دادن به سرویس گیرندگان سازمان برای تغییر در نحوه‌ی دریافت داده‌ها نباشد.

مشکلات سازمان‌هایی که معماری وب سرویس ندارند

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

مشکلات مدیریتی

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

مشکلات مالی

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

مشکلات برنامه نویسان

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

مشکلات عمومی

عدم امکان پیش گیری از وقوع قطعی وب سرویس‌های سازمان، سخت بودن فرایند توزیع بار، بر روی وب سرویس‌ها، عدم امکان استفاده یا توسعه وب سرویس‌های قدیمی سازمان بعلت نبود نیروی فنی یا نداشتن دانش مناسب، سخت بودن تبدیل سرویس‌های Soap به Rest،  ایجاد نارضایتی عمومی بعلت قطعی وب سرویس‌ها، عدم امکان بالا بردن سطح امنیتی ارتباطات وب سرویس‌های قدیمی 

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

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

همین حالا شروع کنید

ما در شرکت دانش بنیان پلتکو، آماده کمک کردن به شما هستیم

4 دیدگاه

  • سلام خداقوت
    استقرار esb روی امنیت ارتباط درونی و بیرونی چقدر موثر است ؟

    • سلام و عرض ادب

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

  • سلام مضررات پیاده سازی esb چست ؟ امکان دارد که به علت پیاده سازی این ابزار زمان پاسخ دهی پایین بیاید ؟

    • سلام و عرض ادب

      با توجه به معماری ESB با استقرار این زیرساخت سرور ESB به نقطه‌ی تکی شکست یا single point of failure سازمان تبدیل می‌شود و با پایین آمدن این سرور تمامی ارتباط بین سامانه‌های نرم‌افزاری قطع می‌گردد. از این رو در استقرار ESB حتما بایستی ملاحظات HA متناسب با سطح نیاز سازمان لحاظ گردد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *