به طور کلی برخی از مزایای به کارگیری معماری سرویس گرا عبارتند از:
-
- یکپارچه سازی برنامه های موجود
-
- بهبود یکپارچه سازی داده ها
-
- سرعت بخشیدن به توسعه ی برنامه های کاربردی سفارشی
-
- سهولت برون سپاری جهانی
-
- تسریع در انجام فرآیندهای سیستم اطلاعاتی و …]۳۰[.
۲-۸ تعریف گذرگاه سرویس
تعاریف متفاوتی در منابع گوناگون برای گذرگاه سرویس سازمانی ارائه گردیده است که تعدادی از آنها به شرح زیر می باشد:
ESB به عنوان یک لایه هوشمند، توزیع شده، تعاملی و پیام رسان برای اتصال برنامه های کاربردی و سرویس هایی که معمولا به صورت توزیع شده از طریق زیرساخت های ارتباطی سازمان ها با هم ارتباط دارند، عمل می کند]۳۱[.
مجموعه ای از استاندارها جهت ارائه یک زیرساخت عملیاتی و قدرتمند برای پشتیبانی عملیات یکپارچه سازی برنامه های کاربردی توزیع شده]۳۲[.
ESB به عنوان یک معماری است که از ترکیب وب سرویس، پیام رسانی میان افزار، مسیریابی هوشمند و تبدیل اطلاعات بدست می آید]۳۳[.
ESB به عنوان متصدی و مسئول مسیریابی، تبدیل و کنترل ارتباطات بین ارائه کننده و مصرف کننده خدمات می باشد]۳۴ [.
ESB یک الگوی معماری و یک کلید مهم واساسی در اجرای زیرساخت های معماری سرویس گرا می باشد، در واقع ESBشرایطی برای تعامل بین سرویس های ناهمگن و رابط های کاربری که دارای عدم تطابق هستند فراهم می نماید]۳۵[.
ESB یک سیستم مبتنی بر استانداردهای توزیع شده پیام رسانی همزمان و یا غیرهمزمان توسط میان افزارها می باشد که قابلیت همکاری و تعامل امن بین برنامه کاربردی سازمان ها را با بهره گرفتن از XML، وب سرویس، رابط های کاربری و مسیریابی مبتنی بر قوانی فراهم نموده و به یکپارچه سازی سرویس ها در میان چندین برنامه کاربردی در داخل و خارج سازمان کمک می کند. این امر از طریق ایجاد گذرگاهی استاندارد و ارائه تطبیق دهنده هایی برای تبادل اطلاعات بین برنامه ها صورت می گیرد.
شکل ۲-۳٫ ارتباط بین برنامه های کاربردی مختلف در ] ESB 36[
۲-۸-۱ مسیریابی و مقیاس پذیری
از ویژگی های مهم استفاده از ESB حل مشکل توسعه سیستم در روش ارتباط نقطه به نقطه است. همان گونه در بخش هایی فبلی هم مطرح گردید جهت برقراری ارتباط به صورت نقطه به نقطه برای N برنامه کاربردی نیاز به N(N-1)/2 ارتباط می باشد که این روش در سازمان های نسبتا بزرگ و بزرگ اصلا مناسب نبوده و قابل اجرا نمی باشد. نکته مهم در برقراری ارتباطات بین برنامه های کاربردی کاربردی در روش ESB این است که برای ارتباط از یک گرگاه مشترک استفاده می گردد و برنامه ها به صورت مستقیم با هم ارتباط ندارند. در واقع تعداد ارتباطات مورد نیاز برای برقراری تعامل بین برنامه برای N برنامه برابر با تعداد آنها، یعنی N می باشد که نسبت به روش نقطه به نقطه بسیار ساده تر و بهینه تر می باشد.
شکل ۲-۴٫ ارتباط غیر مستقیم بین برنامه های کاربردی با بهره گرفتن از قابلیت مسیریابی پیام در ] ESB 37 [
برای ارتباط غیر مستقیم بین برنامه های کاربردی از طریق یک گرگاه مشترک در ESB علاوه بر کاهش تعداد ارتباطات موردنیاز برای تعامل برنامه ها مزایای دیگری نیز دارد که از جمله می توان به مواردی از قبیل نگهداری و بروزرسانی ساده تر سیستم یکپارچه و همچنین افزایش چابکی در پیاده سازی ساختار یکپارچه سازی برنامه های کاربردی سازمان اشاره نمود.
۲-۸-۲ تبدیل پروتکل انتقال
عدم تطابق پروتکل های ارتباطی در برنامه های کاربردی سازمان، یکی دیگر از مشکلات موجود در یکپارچه سازی برنامه های کاربردی در سازمان ها می باشد و دلیل آن توسعه برنامه ها در سازمان ها و عدم استفاده از پروتکل های یکسان در پیاده سازی آن ها می باشد به نحوی که ممکن است در برخی موارد عدم تطبیق پروتکل های ارتباطی در نرم افزار ارائه دهنده سرویس و نرم افزار مصرف کننده سرویس رخ دهد. استفاده از پروتکل یکسان توسط کلیه برنامه های کاربردی سازمان در عمل دارای محدودیت های فراوان بوده و غیر قابل اجرا می باشد.
شکل ۲-۵٫ برقراری ارتباط بین برنامه های کاربردی با پروتکل های انتقال مختلف با بهره گرفتن از پیاده سازی گرگاه سرویس سازمان ] ESB 37 [
۲-۸-۳ تبدیل پیام
موارد دیگری که در پیاده سازی ESB مدنظر قرار گرفته و برای آن راه حل ارائه گردیده است، تبدیل پیام ها و حل مشکل عدم تطبیق فرمت پیام ها و داده ها می باشد. یکی از مشکلاتی که در یکپارچه سازی برنامه های کاربردی در سازمان ها وجود دارد این است که فرمت داده ها و پیام ها در مصرف کننده سرویس و فرمت مورد نیاز برای تامین کننده سرویس با یکدیگر تفاوت دارد و در نتیجه این امر مانع برقراری یا ارتباط و تبادل داده ها بین برنامه ها می گردد.
بنابراین یکی دیگر از کارکردهای اصلی که باید توسط ESB ارائه گردد، تبدیل پیام ها و یا داده ها می باشد. هنگامی که این قابلیت با دو قابلیت اصلی دیگر یعنی مسیریابی و تبدیل پروتکل های ارتباطی ترکیب شود، در نتیجه برنامه های کاربردی می توانند به راحتی و بدون نیاز به تطابق پروتکل ها و فرمت پیام ها و داده ها با یکدیگر ارتباط برقرار کنند.
شکل ۲-۶٫ با بهره گرفتن از ESB برنامه های کاربردی می توانند حتی زمانی که فرمت پیام ها و پروتکل های ارتباطی متفاوت دارند، با یکدیگر تعامل داشته باشند] ۳۷ [
۲-۸-۴ ویژگی ها و مزایای گذرگاه سرویس
با توجه به مطالب مطرح شده در قسمت قبلی، ESBویژگی های کلیدی ذیل را ارائه می دهد ] ۳۷ [:
مسیریابی مبتنی بر محتوا و متن
تبدیل پروتکل های انتقال
تبدیل پیام ها و داده ها
سرویس و امکاناتی که با استفاده ازESBفراهم می گیرد فراتر از برقراری اتصال و تعامل بین برنامه های کاربردی می باشد و با استفاده ازESBسرویس های ارزش افزوده ای نیز حاصل می گردد که تعدادی از آن ها در ادامه بیان می گردد] ۳۸[:
فراهم کردن امکان اتصال
مسیریابی هوشمند
تامین امنیت و قابلیت اطمینان تعامل
مدیریت سرویس
نظارت و ثبت رخدادها
۲-۸-۵ اجزای گذرگاه سرویس
به منظور اجرای ویژگی ها و وظایف مطرح شده برای ESBتعدادی از مولفه ها و اجزا در ساختار تشکیل دهنده آن مورد نیاز می باشد که ضمن نمایش آن ها در شکل شماره ۳-۱۹ تعدادی از آن ها در ادامه بیان می گردد] ۳۹ [:
سازگارکننده ها: از اجزای اصلی ESBهستند وشرایطی را فراهم می آورند تا ESBبتواند با ورودی/ خروجی متفاوت تعامل داشته باشد.به ازای هر مصرف کننده و یا ارائه دهنده سرویس، یک سازگارکننده خاص وجود دارد که تنها ترکیب خاصی از پروتکل های و فرمت های پیام را تشخیص می دهد.به عنوان مثال می توان سازگارکننده ای را نام برد که کلیه درخواست های ورودی بر مبنای SOAP را روی HTTP ارائه می دهد.
توزیع کننده: به عنوان یک نقطه ورود مرکزی عمل می کند و وظیفه آن دریافت اطلاعات از سازگار کننده ها و ارسال به قسمت مربوطه برای مسیریابی، تبدیل، غنی سازی، و غیره می باشد. توزیع کننده درخواست ها را به سمت اداره کننده درخواست ها ارسال می کند و همراه با آن قابلیت مسیریابی مبتنی بر محتوا را در ESB فراهم می نمایند.
شکل ۲-۷٫ اجزای منطقی تشکیل دهنده ] ESB 39 [
اداره کننده درخواست ها: هر سرویس اداره کننده درخواست مخصوص به خود دارد و وظیفه آن انتقال پارامترهای خاص مربوط به سرویس به موتور مسیریابی برای اجرای مناسب سرویس می باشد.
موتور قوانین و مسیریابی: وظیفه این مولفه، اجرای تبدیل و غنی سازی وظایف و مسیریابی آنها برای تحویل به نمایندگان سرویس خاص می باشد.
نماینده های سرویس: به عنوان نقطه انتهایی برای دسترسی به سرویس خاص هستند و با بهره گرفتن از سازگارکننده ها با ارائه دهندگان سرویس ارتباط برقرار می کنند.
موتور تبدیل: این جزء ازESB کلیه پیام ها و یا داده های ورودی را به فرمت مناسب برای ارائه کننده سرویس تبدیل می کند.
اجزاء غنی سازی : این مولفه به ESB اجازه می دهد تا محتویات پیام را مطابق با نیاز ارائه دهنده سرویس و از طریق یک منبع خارجی (مانند: پایگاه داده) تقویت نماید.