در حال حاضر در سازمان ها از نرم افزارهای متعدد و متنوعی به صورت همزمان استفاده می شود که در اصطلاح مدل جزیره ای نامیده می شوند. به همین دلیل و با توجه به مشکلات متعدد استفاده از نرم افزارهای جزیره ای و وجود سیستم های متعدد سازمانی که هرکدام از تکنولوژی های خاص خود بهره می برند، لزوم استفاده از ابزاری که بتواند یکپارچه سازی بین سیستم ها را پیاده سازی نماید به شدت احساس می شود. همچنین تعدد بانک های اطلاعاتی در دستگاه های اجرایی مختلف مانعی بر سر راه یکپارچه سازی اطلاعات دستگاه ها می باشد. در گذشته از روش های مانند ایجاد ارتباط مستقیم از طریق اتصال مستقیم به پایگاه داده، ایجاد ارتباط مستقیم با دیگر سیستمها از طریق فراخوانی DLLها و توابع نرمافزار طرف مقابل و یا ایجاد ارتباط مستقیم از طریق فراخوانی وب سرویسهای نرمافزار طرف مقابل استفاده میشد. که این ارتباطات مستقیم مشکلاتی را نیز به همراه داشت که می توان به موارد ذیل اشاره کرد:
عدم وجود مدیریت یکپارچه بر ارتباطات بین نرمافزاری
استاندارد نبودن روش انتقال اطلاعات و نوع یکپارچهسازی
بالا رفتن هزینههای نگهداری و تغییر سیستمها برای سازمان
امکان ازبین رفتن اطلاعات و پیامها در حین انتقال و تبادل اطلاعات بین سیستمها (Sync- Async)