گذرگاه سرویس سازمانی ESB
یکی از اصلی ترین ماژولهای محصول شرکت ماژول گذرگاه سرویس سازمانی میباشد که وظیفه یکپارچه سازی رو انجام میدهد. در یکپارچهسازی، قلب تپنده و غیر قابل حذفی وجود دارد به نام ESB که این ابزار کار اصلی در یکپارچهسازی را انجام میدهد؛ گذرگاه خدمات، ویژگیهایی از ESB که در این راهکار نیاز بوده را پیادهسازی کرده است. علاوه بر تجمیع، برقراری ارتباطات و مسیریابی، قابلیتهای ویرایش پیام به صورت در لحظه و در زمان اجرا را دارا میباشد. همچنین امکان تبدیل پروتکلها و پیامهای مبتنی بر پروتکلهای مختلف به یکدیگر از دیگر قابلیتهای این ابزار است. قابلیتهای Orchestration و Mediation در کنار سایر الزامات در این بستر، در نظر گرفته شده است.
تمام پیامها با استاندارهای Messaging رد و بدل میشود و لذا ضمانت ارسال و دریافت پیامها در شبکه وجود دارد. در کنار این بحث، نوع طراحی راهکار که شامل چند سطح از گذرگاه خدمات است این امکان را میدهد که با توجه به جایگاه سازمان، داشتهها و مشتریان بتوان قابلیتهای سامانه را کم و یا زیاد کرد. این امکان با توجه به قابلیتهای منعطف این طراحی است.
در این گذرگاه تمامی توسعههای فنی و یکپارچهسازی توسعه داده میشود. در باقی بخشها micro-serviceها و سایر خدمات ایجاد میگردد و در این بخش است که همهی سرویسها و ابزارها با یکدیگر orchestrate شده و خدمات نهایی سازمان برای انتقال به پرتال توسعهدهندگان، آماده سازی میشوند.
• سامانه پیشنهادی به عنوان یک Gateway بین سیستمهای ارائه کنندگان و مصرف کنندگان قرار میگیرد. در بسیاری از مواقع نیاز به تغییری در پیامهای ارسالی و پاسخهای دریافتی است که این تغییرات ممکن است شامل تغییر پروتکلهای پیامهای ارسالی مانند تغییر از SOAP به REST، تغییر پارامترهای ارسالی و یا دریافتی و امثال آن باشد. سامانه پیشنهادی این امکان را خواهد داشت تا تمامی تغییرات را در فاصله Proxy نمودن درخواستهای انجام دهد. این بدان معنی است برای مثال درخواست (Request) کاربر به سامانه از نوع Rest بوده ولی سرویس ارائه شده و متصل شده به سامانه از نوع SOAP است. در این میان سامانه در حین انتقال اطلاعات و درخواست نمودن از سامانه Back-End تغییر پروتکل را انجام داده و ارتباط برقرار میشود به این موضوع تحت عنوان On the fly transform مطرح است که سامانه از آن به طور کامل پشتیبانی مینماید.
همچنین در مواقعی این نیاز به وجود خواهد آمد تا از سامانه به عنوان واسط، تغییری در محتوای درخواست انجام دهد که این ویژگی تحت عنوان Mediation پیام یا واسطهگری مطرح است و سامانه پیشنهادی دارای این امکان میباشد. مثال این امکان تغییر فرمت تاریخ پیام دریافتی و ارسال با فرمت متفاوت به سمت سیستم منتشر کننده Service provider است. این امکان در مواقعی که وبسرویس افزوده شده از به دامنه وسیعی از کاربران ارائه میشود بسیار نمود پیدا میکند زیرا که ممکن است ارائه کننده سرویس سیاستهای متفاوتی در منتشر نمودن سرویس در به هر مجموعه خاص در نظر دارد.
پشتیبانی از پروتکلهای قابل پیشبینی: باتوجه به اینکه گذرگاه به عنوان واسطه بین وبسرویسهای استفاده شده توسط اپلیکیشنها و سیستمهای فناوری اطلاعات و مخابراتی خواهد بود ممکن است بنا به نیاز کارفرما سرویسهای متفاوتی تحت پروتکلهای خاصی از این سیستمها استخراج شود و نیاز آن وجود داشته باشد تا این سرویسها در قالب یک API به بیرون از سازمان منتشر شود. در این خصوص گذرگاه پیشنهادی با تحویل گرفتن هر گونه API استخراج شده از سیستمهایی که با پروتکلهای ارتباطی ذیل کار میکنند امکان انتشار وبسرویس آن را پشتیبانی خواهد کرد. این پروتکلها از قبیل موارد زیر میباشند:
• Mail (SMTP)
• REST
• SOAP
• JMS
• HTTP/HTTPS
• Web socket
• WSDL
• UDDI
• XML-RPC
• JSON-RPC
همچنین لازم به ذکر است مدیریت تبدیل اطلاعات، فرمتها و پارامترها (Transformation) مطابق موارد زیر قابل انجام میباشد:
• XML به JSON
• JSON به XML
• SOAP به REST
• REST به SOAP
• امکان تبدیل و تغییر در اجزا درخواست (از قبیل headers و query و path و http Method و payload و authorization)
• امکان تبدیل و تغییر در اجزا پاسخ (از قبیل headers و status Code و status Massage و payload)
توضیحات: MEP(message exchange pattern) به معنای الگوی تبدیل پیام میباشد که نحوه اتصال و ارتباط دو بخش مختلف یک برنامه کاربردی یا سیستمهای مختلف با یکدیگر را در ESB توصیف میکند. در راستای تبدیل پیام در الگوهای استاندارد، شرکت مسیر هوشمند یکپارچه نوین از صورتهای مختلف آن پشتیبانی مینماید این استانداردها و الگوها عبارتند از:
• Request/Reply: نمونهی عادی درخواست و دریافت پاسخ است.
• Request/Reaction: مدلی که در آن از call back استفاده میشود تا فراخوانیکننده منتظر پاسخ نماند.
• Inversion of Communication: در این مدل، که بیشتر در معماری EDA مورد استفاده قرار میگیرد، مصرفکنندگان به شکل غیرفعال با استفاده از عضویت در یک جریان رویداد، توسط صاحب داده از محتوا با خبر میشوند.
• Saga: این الگو برای زمانی که پایگاه یا منبع دادهای مشترک در بین چند سرویس استفاده میشود کاربردی است تا خوانش و بازخوانی داده را از یک منبع مشترک نامتناقض کند. در معماری SOA کمتر این الگو فرصت ظهور پیدا کرده است و در معماری Micro-Service این الگو بسیار پرکاربرد است یکی از الگوهای پر مصرف decomposition است.
موارد دیگری که سرویس یکپارچهسازی از آنها پشتیبانی مینمایید:
• امکان تغییر و اصلاح فرایندها بدون نیاز به کد نویسی ازطریق محیط کاربر
• امکان اتصال به تمامی پایگاههای دادهی رایج برای تولید وبسرویس را داشته باشد. این نیازمندی در بخش DAL به خوبی شرح داده شده است.
• قابلیت ارتباط سیستم با سایر سیستمهای درون و برون سازمانی بر روی بسترهای ارتباطی استاندارد از جمله وبسرویس، پایگاه داده و … .
• قابلیت نسخهبندی وبسرویسها (Versioning) با قابلیت ارائه بر اساس ورژن
• ارتباط با صف پیام (Message broker)
• امکان فراخوانی وبسرویسها با استفاده از قابلیتهای Failover و Load Balance.
• انتقال پیامهای بین سامانهها و برنامههای درون و بیرون سازمانی بهمنظور ایجاد مرکزیت واحد اتصال، جلوگیری از اتصالات چندگانه و مدیریت واحد تبادل اطلاعات.
• تغییر فرمت و متغیرهای ورودی و خروجیِ وبسرویسها در تبادل پیام بین سامانهها و برنامهها
• ترکیب پاسخ چند وبسرویس در خروجی بهصورت ترتیبی و همزمان
• مدیریت احراز هویت و دسترسی برای ورود به سامانه
• مانیتورینگ تبادل داده و توافقنامه سطح خدمات هر سرویس
• ارائه امنیت استاندارد وبسرویسها بر روی هر سرویس با توجه به نیاز
• ارائه گزارشهای فراخوانی، همراه با خطا، حسابرسی و ثبت لاگ بر روی هر سرویس
• طراحی بر مبنی معماری سرویسگرا (SOA)
• قابلیت مدیریت فرآیند بهمنظور اضافه شدن وبسرویس، تأیید اضافه شدن، انتشار، درخواست، بررسی و اتخاذ دسترسی
• ارائه داشبورد از اطلاعات وبسرویسها
• مانیتورینگ (سرویس و سختافزار)، ارسال اعلان، هشدار و بستر تجمیع لاگ
• صف پیام بهمنظور مدیریت انتقال پیامها و همچنین پشتیبانی از فرآیندهای ناهمزمان
• مدیریت نرخ درخواستها از ورودی و خروجی
• اعمال احراز هویتهای مختلف مانند Oauth2 و Basic
• امکان اعمال سیاستهای مدیریت تعداد درخواست و دسترسیهای استفاده
• مدیریت سرویسها اعم از بررسی و تفکیک کردن و مدیریت تعداد درخواستها، تفکیک و ارسال به صف انتظار، تقسیم در انتظار پاسخ و تعیین زمانبندی ارسال درخواست و یا پاسخ)
• امکان اضافه نمودن پیام به پاسخ Service provider در کنار Status codeهای مدیریت شده.
• تضمین تحویل پیام
• امکان ارائه پروتکلهای مختلف به سرویسگیرندگان
• محدود سازی پاسخگویی به وبسرویسها از طریق یک IP خاص
• قابلیت اطلاع رسانی تغییر سرویس به کاربران
• یکپارچهسازی، انتشار اطلاعات، مدیریت و پایش APIها
• اجرایی نمودن اصول کلی و استانداردهای کلان سازمان در خصوص معماری ارتباط وب سرویسها با یکدیگر
• تغییر پروتکلهای وب سرویسها به یکدیگر به صورت On the fly
سرویس ESB از کیت توسعه نرمافزار خود به منظور توسعه و اتصال سرویسها پشتیبانی مینماید و با استفاده از استانداردهای EI( Enterprise Integration) تمامی یکپارچهسازیها پیادهسازی میشوند.
که توسعه و یکپارچهسازی سرویسها روی این ESB با دانش برنامه نویسی نسبتا کم در یک محیط توسعه و همچنین از طریق یک پنل قابل انجام است. در واقع برای یکپارچهسازیهای سادهتر قابلیت انجام آنها کاملا از طریق پنل قابل انجام است و برای توسعههای پیچیده میبایست با استفاده از یک زبان اسکریپتی استفاده نمود.
همچنین در بخشی از گذرگاه سرویس سازمانی (ESB) یک سرویس تحت عنوان Data access layer (DAL) خواهد بود که مدیریت اتصال به انواع اقسام پایگاه دادهها را برعهده خواهد گرفت.
بدون دیدگاه