ESB چیست؟
زمان تقریبی مطالعه: 3 دقیقه
ESB برگرفته شده از واژههای Enterprise Service Bus و بمعنای ابزاری برای یکپارچه کردن انواع برنامههای کاربردی که توسط چندین شرکت تهیه شده است، میباشد. بعبارت دیگر ESB بستر مناسبی برای یکپارچگی کل نرمافزارهای سازمان فراهم میآورد؛ بطوریکه امروزه در سطح دنیا، بسیاری از شرکتهای قدرتمند و مشهور در زمینه ESB فعالیت دارند.
- اما بطور عمیقتر مفهوم ESB چیست؟
- ESB چگونه یکپارچگی بین نرمافزارهای سازمان را فراهم میآورد؟
- ESB از چه رویکردهایی برای یکپارچهسازی پشتیبانی میکند؟
- آیا الگوهای استانداردی در زمینه یکپارچهسازی نرمافزارهای سازمان وجود دارد؟
- ضرورت بکارگیری ESB برای سازمانهایی که از نرمافزارهای مختلف استفاده میکنند چقدر است؟
- آیا شرکتهای بزرگ دنیا مثل ebay ، Amazon، Fujitsu ، Dell و … هم از ESB بهره میبرند؟
- ارتباط ESB با BPMS چگونه است؟
- ESB چگونه میتواند باکمک BPMS، نرمافزارهای سازمان یا فرآیندهای سازمان را یکپارچه کند؟
اینها پرسشهایی است که قصد داریم در ادامه این مقاله به آنها پاسخ دهیم.
مفهوم ESB چیست؟
همانطور که میدانیم فروشندگان متعددی محصولی را با عنوان ESB ارائه مینمایند که قبل از شناسایی آنها، لازم است ابتدا تعریف صحیحی از ESB را ارائه نماییم.
ESB را در سه سطح میتوان دستهبندی کرد که در شکل زیر آنها را مشاهده مینمایید:
- سطح اول ابزارهایی هستند که صرفا برای یکپارچهسازی نرمافزارهای سازمان استفاده میشوند و اصطلاحاً به آنها Integration Framework میگویند.
- سطح دوم ESBها، سطح گستردهتری از Integration Frameworkها هستند که به آن «اتوبوس خدمات سازمان» یا همان ESBگفته میشود.
- سطح سوم ESBها نیز که به آن Integration Suite میگویند، ترکیبی از ESBها و BPMSها هستند که علاوه بر یکپارچهسازی نرمافزارهای سازمان، قابلیت یکپارچه کردن فرآیندهای سازمان را نیز با نرمافزارها فراهم میکند بطوریکه در سازمان، میتوان یک یکپارچگی کامل ایجاد نمود.
در ادامه به بررسی هر سه بخش فوق میپردازیم:
* چارچوبی برای یکپارچهسازی (Integration Framework)
Integration Frameworkها به پیادهسازی الگوهای یکپارچهسازی استاندارد کمک میکنند. برای آشنایی با الگوهای یکپارچهسازی، میتوانید به سایت http://www.eaipatterns.com مراجعه نمایید.
از Splitter و Content base routers میتوان بعنوان نمونههایی از الگوهای استاندارد یکپارچهسازی نام برد. دستوراتی که بصورت API در این ابزارها وجود دارند به برنامه نویسان اجازه میدهد تا بتوانند بصورت شفاف و قابل فهم نرمافزارها را با یکدیگر یکپارچه نمایند.
Nservice Bus، Apache Camel و Spring Integration نمونههایی از این چارچوبهای کاری هستند. NService Bus بمنظور استفاده در محیط .Net و Apache Camel و Spring Integration بمنظور استفاده در محیط Java میباشند. توسط این چارچوبهای کاری بسیاری از فعالیتهای تیمی خلاصه شده و ضریب موفقیت پروژه افزایش مییابد.
* اتوبوس خدمات سازمان (Enterprise Service Bus)
همانند Integration Frameworkها ، ESBها نیز باعث ایجاد یکپارچگی در سطح برنامههای کاربردی سازمان میشوند. پایه ESBها نیز Integration Frameworkها هستند ولی قدرت و توان بسیار بالاتری نسبت به چارچوبهای کاری دارند.
ESBها ابزارهای قدرتمندی علاوه بر یکپارچهسازی، برای انتشار (Deployment)، مدیریت (Administration) و پایش، در زمان اجرا دارند. محیط گرافیکی آنها بستر بسیار کارآمدی را برای پیادهسازی سناریوهای مختلف یکپارچهسازی فراهم میآورد. عملیات یکپارچهسازی بصورت گرافیکی و با Drag & Drop و بدون برنامهنویسی گسترده انجام میشود. ابزارهای ESB مزیت فوقالعادهای را درخصوص کاهش هزینه و رفع پیچیدگیهای یکپارچهسازی فراهم میآورد.
*مجموعه کامل یکپارچهسازی (Integration Suite)
ساختار فناوری اطلاعات سازمان از افراد، فرآیندها و برنامههای کاربردی تشکیل شده است، بنابراین برای ایجاد یکپارچهسازی کامل در سطح سازمان باید کلیه عناصر مطرح شده با یکدیگر به نحو مناسبی ارتباط برقرار نمایند. همانگونه که در بخش ESB مطرح شد، ESB ها تنها قابلیت یکپارچگی در سطح برنامههای کاربردی را داشتند اما برای ایجاد یکپارچگی بین تمام عناصر موجود در سازمان اعم از افراد، فرآیندها و برنامههای کاربردی ضروریست تا از قابلیتهای سیستمهای BPM نیز در کنار ESBها بهره برد تا با بکارگیری فعالیتهای این سیستمها در کنار یکدیگر یکپارچگی کامل را در سطح سازمان ایجاد نمود.
خوب است بدانید: سیستمهای ECM چیست و روند توسعه جهانی آنها چگونه است؟
بعبارت گویاتر، سیستمهای BPM، فرآیندها و افراد را به یکدیگر متصل میکند و برنامههای کاربردی نیز از طریق ارتباط تنگاتنگ BPM و ESB به افراد و فرآیندها متصل میشوند. از این روست که شرکتهای بزرگ دنیا که بدلیل نیازهای انکارناپذیر از سیستمهای متفاوت استفاده مینمایند، در سطح جامعی یکپارچه هستند و از مزایای آن بهره میبرند.
در پایان میتوان به نام برخی از نرمافزارهای ESB مطرح در دنیا اشاره نمود:
- IBM Websphere
- dBoss EAP
- WSO2
- Mule ESB
- Oracle ESB