نرم افزار مدیریت سرویس ها
معرفی
نرم افزار ESB به منظور برقراری ارتباط بین سرویسهای مختلف یک نرم افزار در سطح enterprise و یا نرم افزارهای مختلف مورد استفاده قرار میگیرد. کلیه نرم افزارهای سرویسگیرنده در یک سازمان، درخواست خود را به ESB ارسال نموده، سپس ESB درخواست را پردازش و در صورت لزوم اصلاح کرده و آن را به سرویس دهنده مربوطه تحویل و نتیجه را پس از دریافت، در صورت لزوم پردازش کرده و به سرویس گیرنده تحویل میدهد.
با توجه به انعطاف پذیری و استفاده از پروتکلهای ارتباطی بین نرم افزارها جهت ارتباط بین نرم افزارهای مختلف و بعضا ناهمگون، ESB یکی از بهترین ابزارها در حوزه محاسبات توزیع شده میباشد. نرم افزار ESB باید این قابلیت را داشته باشد که جایگزین تمام ارتباطات مستقیم بین نرم افزارها شده و این ارتباطات را از طریق خود ایجاد نماید. برای دستیابی به این هدف ESB میبایست عملکرد کلیه سیستمهای مرتبط را کپسوله سازی نماید. زمانیکه ESB پیامی دریافت میکند، این پیام به نرم افزار مربوطه هدایت میشود. به دلیل اینکه غالبا نرم افزارها با مدلهای پیام مشابهی توسعه پیدا نمیکنند، ESB میبایست پیام دریافت شده را به فرمتی که برای نرم افزار سرویس دهنده قابل درک باشد تبدیل نماید. وظیفه Software Adapter برآورده نمودن این وظیفه میباشد. ESB بر پایه مدل پیام (Message Model[1]) و طراحی درست عملکردهای نرم افزارها عمل میکند.
قابلیتهای سیستم :
امکان دریافت و ارسال اطلاعات از طریق وب سرویس (SOAP, REST)، پایگاه داده و فایل اکسل
امکان map کردن فیلدهای مبدا برای استفاده در نرم افزار مقصد
امکان ارسال درخواست به چند نرم افزار بصورت همزمان
تغییر فرمت اطلاعات؛ به عنوان مثال تبدیل json به xml و بالعکس
پشتیبانی از ارتباطات غیر همزمان به منظور مقابله با مشکلات ناشی از قطعی ارتباطات شبکه و غیره
مانیتورینگ سرویسها شامل موارد قطعی و وصلی، هر سرویس و ...
ارسال پیامهای هشدار در صورت قطع/وصل شدن سرویسهای مبدا و یا مقصد
امکان تهیه گزارشات مدیریتی
امکان تعیین سطوح دسترسی برای هر نرم افزار
احراز هویت نرم افزار متقاضی اطلاعات به منظور دسترسی به سرویسهای خاص (استفاده از نام کاربری و کلمه عبور)
بررسی فرمت اطلاعات سرویسهای مبدا جهت تشخیص تغییرات و ارسال پیام در صورت تغییر در فرمت دادههای ارسالی
ثبت log از کلیه ارتباطات، اطلاعات ورودی و اطلاعات خروجی
مانیتورینگ عملکرد سرویسها در سیستم در هر لحظه
مزایا
کاهش هزینههای مربوط به نگهداری و استقرار نرم افزارهای سازمان
مبتنی بر معماری سرویس گرا
کنترل کامل ارتباطات بین نرم افزارها
بررسی سطوح دسترسی جهت دسترسی به سرویسها
کاهش زمان شناسایی مشکلات در زمان بروز مشکل؛ با توجه به مانیتورینگ کلیه ارتباطات، در صورت بروز مشکل، بدون نیاز به دیباگ نرم افزارهای مبدا و مقصد میتوان نسبت به شناسایی محل وقوع مشکل اقدام نمود.
نسبت به روش ادغام ارتباطات از طریق کد، امکان کانفیگ بیشتری دارد.
سهولت در تغییر سرویسها از لحاظ منبع و ساختار