یکی از مشکلات مشترک فناوری اطلاعات اکثر سازمان ها در کشور، بحث عدم یکپارچگی فرایند، سرویس های نرم افزاری و بانک های اطلاعاتی است. حتی تحقیقات جهانی نشان می دهد که این مشکل فقط مخصوص به ایران نیست بطوریکه در ارزیابی صورت گرفته از مدیران فناوری اطلاعات شرکت های بزرگ جهانی مشخص شده که بالاترین اولویت کاری اکثر آنها موضوعات “یکپارچه سازی” بوده است: یکپارچه سازی سیستمهای اطلاعاتی، معماری راهکار سرویس یکپارچه، پلتفرم یکپارچه سرویس و نرم افزار، یکپارچه سازی نرم افزارهای سازمانی، گذرگاه سرویس، API Gateway
چالش ها و مشکلات عدم یکپارچگی سیستم-فرایند-سرویس:
عواملی که بر روی یکپارچهسازی سیستمها تاثیر میگذارند بسیار گسترده هستند و چالشهای گوناگونی را برای فراهمسازی این قابلیت ایجاد میکنند که این موارد در قالب دستههای زیر قابل بررسی است.
- چالشهای فنی تعاملپذیری
- در زمان اجرا، شامل تعاملپذیری سیستمهایی است که هر کدام با زبان برنامهنویسی متفاوتی توسعه داده شدهاند و از توابع کتابخانهای و استانداردهای توسعه متفاوتی استفاده میکنند.
- در زمان تولید، شامل تفاوتهایی است که بین فرآیندهای ساخت، محیطهای توسعه و چارچوبها، فرآیند ساخت نرمافزار و نتایج آن به وجود میآید.
- چالشهای طراحی و معماری تعاملپذیری
- چالشهایی که ناشی از انتخابهای طراحی یا معماری اشتباه و متفاوت و غیر تطابقپذیر بوده که شامل انتخابهای پیشین اشتباهی از استانداردهای مختلف است که ممکن است روی قابلیت برقراری ارتباط و تعاملپذیری تاثیر بگذارد.
- چالشهایی که ناشی از فرضیات اشتباه در مورد حوزه عملکرد برنامهها، مؤلفهها و سطوح مختلف تجرید است.
- چالشهایی که ناشی از فرضیات اشتباه در مورد زیرساخت لازم یا ایرادات تطابقپذیری بین پلتفرمهای متنوع عملیاتی است.
- چالشهای مربوط به فرآیندهای کسب و کار و تعاملپذیری سازمانی که ناشی از فرضیات بالقوه متفاوت در اهداف واحدهای سازمانی یا فرآیندهای پیادهسازی شده در سازمانهای جداگانه است که هر کدام از این رویهها میتواند به درستی در یک سازمانی که به صورت مستقل فعالیت میکند انجام شود ولی در زمانی که این سازمانها با یکدیگر یکپارچه میشوند این مشکلات بروز پیدا میکند.
راهکارهای یکپارچه سازی:
- یکپارچهسازی انسجام و یکپارچگی دادهای: هدف از یکپارچهسازی انسجام و یکپارچگی دادهای این است که بتوان داده را در میان تمامی برنامهها به شکلی منسجم و یکپارچه مبادله کرد. به عنوان مثال اگر یک مشتری، نشانی خود را در یک برنامه تغییر داد، این رخداد به تمامی برنامههای دیگر منتشر شود تا آنها پایگاه داده خود را با داده اخیر بهروزرسانی کنند. یک راهحل متداول برای این سناریو استفاده از انتشاردهندگان رخدادهای بهروزرسانی در میان برنامهها است. این انتشار میتواند در قالب پردازش دستهای باشد و یا میتواند بهصورت بلادرنگ و با استفاده از میانافزارهای مبتنی بر پیام صورت گیرد.
- یکپارچهسازی فرآیندهای تجاری که به صورت چندمرحلهای اجرا میشوند (پشتیبانی از هر دو نوع عملیات یکپارچهسازی کوتاهمدت و بلندمدت) : از منظر یکپارچهسازی، اجرای یک فرآیند کاری چند مرحلهای میتواند به صورت بالقوه وابستگیهای منطقی پیچیدهای را ایجاد کند که این وابستگیها بین برنامههایی که در مراحل اجرای مختلف این فرآیند کاری دخیل هستند به وجود میآید. بر اساس موقعیت، اجرای یک فرآیند کاری میتواند بین چندین گره مختلف توزیع شود که هر کدام به صورت کوتاهمدت و یا بلندمدت در حال اجرا هستند. یک راهحل متداول برای این مساله، استفاده از موتور فرآیندی توانمند و پشتیبانیکننده از این نوع فرآیندها است. راهحل دیگر استفاده از رخدادهای منتشر شونده است که هر کدام نشانگر فعالیتهای مرتبط با هر گام فرآیندی هستند.
- یکپارچهسازی برنامههای مرکب: در سناریوی یکپارچهسازی برنامههای مرکب، برنامههای جدید از طریق ترکیب مؤلفههای موجود و یا ساختارهای جدید ایجاد میشوند. حداقل برخی از مؤلفههای این مجموعه شامل برنامهها و مخازن دادهای جداگانه و غیر یکپارچه است. در نتیجه برنامه مرکب به ابزاری برای یکپارچهسازی این برنامهها و مخازن دادهای با سایر مؤلفهها تبدیل میشود.