امروزه سازمانها به شدت متکی به تکنولوژیهایی هستند که هر کدام از آنها دارای ویژگیها و کاربردهای متفاوت و منحصربهفرد هستند، همچنین نرمافزارهای کاربردی مورد استفاده این سازمانها نیز از این قاعده مستثنی نبوده و هر کدام از آنها مبتنی بر تکنولوژی خاصی هستند.
این نرمافزارها غالباً به صورت مستقل (مستقل از سایر نرمافزارهای موجود در سازمان) و به منظور تأمین نیازهای بخش خاصی از سازمان تولید و توسعه مییابند که این امر باعث میشود تا هر کدام از این نرمافزارها، حیطهی کاربرد محدود به همان بخش از سازمان را داشته باشند و در نتیجه توانایی تعامل با سایر نرمافزارهای سازمان را نداشته باشند؛ بنابراین یکپارچهسازی نرمافزارهایی از این دست در قالب یک مجموعه واحد از فرایندهای کسبوکار، به عنوان یک نیاز و اولویت نمود پیدا میکند.
شکل ۱- ساختار سیستم های کاربردی سازمان، قبل از یکپارچهسازی (ساختار جزیرهای)
یکپارچهسازی سیستمهای کاربردی سازمان (Enterprise Application Integration-EAI) مکانیزمی را به منظور اشتراکگذاری دادهها و فرایندها فراهم میسازد.
سیستمهای کاربردی سازمانی بر اساس تکنولوژیهای جدید و قدیمی بوده و از طیف وسیعی از پلتفرمها، پایگاههای داده و نرمافزارهای کاربردی مبتنی بر زبانهای برنامهنویسی مختلف استفاده میکنند.
از این رو بهترین راهکار به منظور برقراری تعامل میان این نرمافزارها استفاده از EAI میباشد. با استفاده از EAI، نرمافزارها قادر خواهند بود به شکلی ثمربخش و بدون نیاز به ایجاد تغییر در ساختار دادهها و زیرساختهایشان با یکدیگر تعامل داشته و دادهها و فرایندهایشان را با سایر نرمافزارها به اشتراک بگذارند.
شکل ۲- ساختار سیستم های کاربردی سازمان، بعد از یکپارچهسازی
با توجه به توضیحات فوق این مفهوم را میتوان در یک جمله تعریف کرد:
"EAI مجموعهای است از فرایندها، استانداردها، نرمافزارها و سختافزارها که در راستای یکپارچهسازی دو یا چند سیستم کاربردی سازمان (نرمافزار کاربردی) عمل نموده و برای این سیستمها شرایطی را فراهم میسازد تا بتوانند در قالب یک سیستم واحد عمل کنند"
از فواید EAI میتوان به موارد ذیل اشاره کرد:
-به سیستمها و نرمافزارها کمک میکند تا بتوانند به صورت همزمان و لحظهای به اطلاعات یکدیگر دسترسی داشته باشند.
-با سادهسازی فرایندهای کسبوکار، راندمان و کارایی سازمان را افزایش میدهد.
-یکپارچگی اطلاعات را فراهم میسازد.
-توسعه و نگهداری سیستمها را آسان میسازد.
-ارتباطات با مشتری را بهبود میبخشد.
-ارتباط با زنجیره تأمین (Supply Chain) را بهبود میبخشد.
-نرمافزارهای کاربردی قدیمی (Legacy) را همچنان فعال و زنده نگه میدارد.
-فرایندهای کسبوکار را بهبود میبخشد و در نتیجه مدت زمان مورد نیاز برای عرضه محصول به بازار (Time-To-Market) را کاهش میدهد.
-تا حدودی از تغییرات در سطح فرایندی و یا سازمانی پشتیبانی میکند.
-نرمافزارهای کاربردی را استانداردسازی مینماید.
-تکنولوژی واکنشی (Responsive Technology) را برای نیازهای متغیر کسبوکار به خدمت میگیرد.
-نرمافزارهای کاربردی را مطابق با نیازهای تجاری حال و آینده، تغییر میدهد (تغییر شکل سیستمهای کاربردی).
۱- انواع EAI
یکپارچهسازی سیستمهای کاربردی سازمان میتواند در سطوح مختلفی اجرا شود:
-سطح داده (Data Level).
-سطح رابط برنامه کاربردی (Application Interface Level).
-سطح متد (Method Level).
-سطح رابط کاربری (User Interface Level).
۱-۱- EAI در سطح داده
این سطح از یکپارچهسازی شامل مجموعهای از تکنیکها، فرایندها و تکنولوژیهاست که انتقال داده میان منابع داده را امکانپذیر میسازند. مزیت اصلی این روش در عدم نیاز آن به ایجاد تغییرات در سطح کد (Source Code) میباشد که این امر، کاهش هزینههای توسعهی مجدد نرمافزارها را به همراه دارد.
۱-۲- EAI در سطح رابط برنامه کاربردی
در این سطح، دادهها و فرایندهای کسبوکار از طریق رابطهای نرمافزاری (مختص توسعهدهندگان) دسترسپذیر هستند. هر کدام از این رابطها دارای خصوصیات و توابع معینی هستند. با استفاده از این رابطها، توسعهدهندگان قادر خواهند بود تا بسیاری از نرمافزارهای کاربردی را کنار هم آورده و امکان اشتراکگذاری منطق تجاری (Business Logic) و اطلاعات را برای این نرمافزارها فراهم سازند.
۱-۳- EAI در سطح متد
در این سطح از EAI، منطق تجاری نرمافزارها به اشتراک گذاشته میشود. یک متد (مفهوم برنامهنویسی method) میتواند توسط تعداد زیادی از نرمافزارهای کاربردی قابلدسترس باشد و همچنین نرمافزارها میتوانند به متدهای یکدیگر دسترسی داشته باشند.
۱-۴- EAI در سطح رابط کاربری
در این روش، معماران و توسعهدهندگان میتوانند از رابطهای کاربری به عنوان یک نقطه اشتراک جهت یکپارچهسازی استفاده نمایند (استفاده از رابط کاربری مشترک برای نرمافزارها).
۲- معماری EAI
همچنینEAI میتواند بر اساس طراحی ساختار دستهبندی شود:
-توپولوژی Point To Point
-توپولوژی Hub-Spoke یا Broker
-توپولوژی Bus
۲-۱- توپولوژی Point To Point
Point To Point به عنوان یک روش قدیمی یکپارچهسازی شناخته میشود؛ این توپولوژی به نرمافزارها این امکان را میدهد تا با استفاده از یک "لوله" (Pipe) به یکدیگر متصل شوند. هر نرمافزار کاربردی با استفاده از یک "پیام" یا یک "رویهی فراخوانی" (Call Procedure) با نرمافزار مقابل خود ارتباط برقرار میکند. به ازای هر جفت از نرمافزارهای مرتبط، یک اتصال دهنده (Connector) به منظور برقراری ارتباط، ساخته و پیادهسازی میشود. این اتصال دهنده وظیفهی تبدیل و یکپارچهسازی داده برای هر جفت معین از نرمافزارها را بر عهده دارد. البته امکان اتصال بیش از دو نرمافزار کاربردی هم وجود دارد، اما این کار پیچیدگیهای بسیاری را به همراه خواهد داشت (در صورت زیاد بودن تعداد نرمافزارها).
شکل ۳ - یکپارچهسازی با معماری Point To Point
۲-۲- توپولوژی Hub-Spoke یا Broker
توپولوژی یکپارچهسازی Hub-Spoke از یک "واسط متمرکز" (Hub) و تعدادی تطبیقدهنده یا آداپتور (Spoke) تشکیل شده است. در واقع Spoke اتصال دهنده ایست که نرمافزار کاربردی را به Hub متصل میکند. این تطبیقدهنده، دادهها را به منظور برقراری ارتباط میان نرمافزار کاربردی و Hub ترجمه مینماید، به این صورت که پیامها تبدیل گشته، ترجمهشده و به سمت مقصد (نرمافزار به Hub یا بالعکس) هدایت میگردند.
۲-۳- توپولوژی Bus
طبیعت متمرکز مدل Broker، تنها نقطهی ضعف این مدل بود، چرا که اگر یک مؤلفه (Component) دچار مشکل شود، باعث ایجاد نقص در تمام شبکه میگردد. مدل Bus به عنوان راهحلی برای مشکلات مدل Broker، پدید آمد. این مدل هم از یک مؤلفه مسیریابی متمرکز استفاده میکند با این تفاوت که مابقی وظایف را میان سایر مؤلفهها تقسیم و توزیع میکند. این مؤلفهها میتوانند در نقاط مختلفی از شبکه، گروهبندی و میزبانی شوند. از قابلیتهای دیگر این مدل میتوان به "پردازش تراکنشهای امنیتی" (Security Transaction Processing) و قابلیت رفع خطا (Error Handling) اشاره کرد؛ این قابلیتها جزو مشخصههای مدل Bus میباشند. در مدل Bus، هر کدام از این قابلیتها در مؤلفههای مجزا گنجاندهشدهاند. مدل Bus یک راهکار مختصر با الگویی مستحکم است که میتواند با کمترین حجم کد نویسی و بدون اعمال تغییر بر نرمافزار کاربردی، طراحی و مورد استفاده قرار گیرد. امروزه این مدل با نام ESB (Enterprise Service Bus) شناخته میشود.
منبع: پایگاه دانش BPM رایورز