عبدالرسول سهیل نقشی
عبدالرسول سهیل نقشی
خواندن ۱۰ دقیقه·۳ ماه پیش

چگونه یک پلتفرم یکپارچه سازی طراحی می‌شود

یک پلتفرم یکپارچه‌سازی ترکیبی از نرم افزار، بهترین شیوه ها و فرآیندهای داخلی است که اطمینان حاصل می کند که این ترکیب در طول زمان تکامل می‌یابد و نیازهای یکپارچه سازی را در حال حاضر و همچنین در آینده برآورده می‌کند. اما با نگاهی به گذشته، در واقع برای ایجاد یک پلت فرم یکپارچه سازی چه چیزی لازم است؟

اگر فقط به ادغام و آنچه که در چارچوب یکپارچه سازی است توجه شود، در واقع باید بسیار ساده باشد. این به سادگی در مورد انتقال اطلاعات از یک مکان به مکان دیگر است - اطمینان حاصل کنید که تمام اطلاعات در مکان مناسب در زمان مناسب در دسترس هستند تا فرآیندهای تجاری، فنی، مانیتورینگ و تصمیم سازی شما بتوانند به روشی که انتظار می رود کار کنند. بنابراین، نگاهی به گذشته - و برنامه ریزی برای آینده - واقعاً فقط چند مرحله وجود دارد که باید هنگام ایجاد چنین پلت فرم یکپارچه سازی دنبال کنید. این مراحل لزوماً به ترتیب خاصی انجام نمی شوند، اما شما باید همه این موارد را به طور همزمان در تمام مراحل چرخه عمر پلتفرم در نظر گرفته شود.

پنج مرحله ای که در مورد نحوه ایجاد یک پلت فرم یکپارچه سازی رعایت گردد:

1- مراقب عملکرد اولیه باشید

این احتمالاً ساده‌ترین بخش زمانی است که می‌خواهید یک پلتفرم یکپارچه‌سازی ایجاد کنید، اما باید آن را بسیار جدی گرفت – در نهایت، این بخش مسئول بخش اصلی همه چیزهایی است که پلت فرم یکپارچه‌سازی شما برای انجام آن طراحی شده است. یک راه حل ادغام تقریباً همیشه بسیار ساده است، حداقل اگر از راه دور به آن نگاه کنید. ادغام همیشه از مجموعه ای محدود از قابلیت ها ساخته می شود و این قابلیت ها به خوبی شناخته شده اند. به هر حال، از زمانی که بیش از دو رایانه وجود داشت که باید حول یک فرآیند تجاری کار کنند، نوعی راه حل یکپارچه سازی وجود داشته است. بنابراین، برای مدیریت یک کار ساده انتقال اطلاعات از یک برنامه به برنامه دیگر چه نیازی است؟ چهار چیز: رابط ها، ترجمه، کنترل و نظارت.

2- رابط ها

برای شروع، باید رابط هایی برای برنامه های یکپارچه داشته باشید. شما باید نرم افزاری ایجاد کنید که قادر به برقراری ارتباط با برنامه های کاربردی مختلف باشد که توسط فروشندگان مختلف ساخته شده است، روی سرورهای مختلف اجرا شود، احتمالاً توسط سازمان های مختلف مدیریت می شود و ممکن است به صورت جغرافیایی توزیع شود.برای این کار، احتمالاً تعدادی آداپتور یا اتصال دهنده ایجاد خواهید کرد که ارتباط را ممکن می کند. علاوه بر این، شما مجموعه‌ای ازAPIها را ایجاد می‌کنید که برنامه‌های یکپارچه می‌توانند زمانی که از پلتفرم ادغام شما درخواست می‌کنند تا کاری از طرف آن‌ها انجام دهد، از آن‌ها استفاده کنند. در گذشته، پلتفرم‌های یکپارچه‌سازی وجود داشتند که تعداد قابل توجهی رابط‌های مختلف داشتند. یک آداپتور برای برنامه A، یک آداپتور دیگر برای برنامه B، برنامه C و Infinitum وجود داشت. اما امروز، حقیقت این است که تنها تعداد انگشت شماری از آداپتورها- یا رابط هایAPI - مورد نیاز است. این تا حدی به دلیل استانداردسازی APIها است، اما به احتمال زیاد، به دلیل فرآیند فکری توسعه نرم‌افزار، بسیاری از فروشندگان در سال‌های گذشته از آن عبور کرده‌اند. به جای اینکه باور داشته باشیم که همه چیز را می توان با یک مجموعه نرم افزاری واحد انجام داد، این رویکرد در روند فعلی پذیرفته شده است. به جای داشتن یک ERP بزرگ، شرکت‌ها به مجموعه‌های نرم‌افزاری تخصصی برای عملیات‌های مختلف متکی هستند - خواه حسابداری، مدیریت سفارش، مدیریت انبار، مدیریت پروژه... و از آنجایی که همه این برنامه‌ها برای انجام تنها یک کار محدود در یک فرآیند تجاری طراحی شده‌اند، باید بتوانند با برنامه‌هایی که از سایر بخش‌ها مراقبت می‌کنند، ارتباط برقرار کنند. این منجر به وضعیتی شده است که برنامه‌ها با استفاده از مجموعه محدودی از پروتکل‌های ارتباطی استاندارد مانند REST یا سرویس‌های وب، APIهای مستند و با تعریف بیشتری را ارائه می‌کنند. چند پروتکل دیگر را نیز اضافه کنید - مثلاًFTP، SFTP، AS2، اتصال به پایگاه داده و شاید برخی دیگر، بر اساس نیاز مشتریانتان - و شما آنجا هستید. شما از بخش اول عملکرد اصلی مراقبت کرده اید.

3- ترجمه

اگرچه برنامه‌ها، API ارائه می‌کنند، اما هنوز به یک زبان صحبت نمی‌کنند. برای ما انسان‌ها، می‌توانیم وقتی ملاقات می‌کنیم به یک زبان مشترک سوئیچ کنیم (اغلب آن زبان انگلیسی است)، اما برنامه‌ها هنوز «زبان» داخلی خود را دارند که از آن استفاده می‌کنند، و هیچ زبانی مشابه انگلیسی در دسترس نیست. به همین دلیل، نیاز به خدمات ترجمه در پلتفرم ادغام شما وجود دارد. پیامی که برنامهA ارسال می کند ممکن است حاوی یک شی تجاری (مثلاً یک سفارش) ، داده های یک هواساز یا موقعیت یک گیت کنترل دسترسی باشد که هر دو طرف آن را درک می کنند، اما از آنجا که برنامه A با "زبان" متفاوتی ارتباط برقرار می کند، برنامه B معنی A را نمی فهمد. این شبیه وضعیتی است که در آن شما در حال چانه زنی با تاجری است که هیچ زبان مشترکی با شما ندارد - هر دوی شما می دانید که در حال مذاکره برای قیمت هستید، اما هیچ یک از طرفین نمی دانند که چانه زنی چگونه پیش می رود. به همین دلیل، پلتفرم ادغام شما باید بتواند پیام ها و اسناد را بین شرکت کنندگان مختلف ترجمه کند. باز هم، زمانی که در حال توسعه پلتفرم یکپارچه سازی خود هستید، این به ندرت مشکل ساز می شود، زیرا راه های متعددی برای دستیابی به چنین خدمات ترجمه ای وجود دارد. در واقع، تمام زبان های برنامه نویسی مدرن بیش از اندازه کافی برای این کار ارائه می دهند. برخی از تبدیل‌های XSLT، نقشه‌بردارهای گرافیکی و ابزارهایی از این قبیل را به معادله اضافه کنید، و با این نیاز تمام شده‌اید. بنابراین، شما رابط‌هایی برای برقراری ارتباط دارید و می توانید اطلاعات رد و بدل شده بین طرف های مختلف را ترجمه کنید. شما تقریباً آماده هستید، اما دو چیز وجود دارد که هنوز باید در مورد عملکرد پایه خود مراقبت کنید - کنترل و نظارت. این دو جزء یک "چتر" ایجاد می کنند که در آن همه چیز جالب - انتقال و تبدیل اطلاعات - اتفاق می افتد.

4- کنترل

اولین مورد از دو بخش از باقیمانده که برای ایجاد یک پلتفرم یکپارچه سازی حیاتی است، کنترل است. فقط دریافت اطلاعات، ترجمه/تغییر آن و ارسال آن به برنامه دیگری کافی نیست. در واقعیت همیشه کمی پیچیده تر است. اول از همه، ممکن است چندین منبع وجود داشته باشد که باید اطلاعات را از آنها واکشی کنید، و ممکن است چندین سیستم مقصد وجود داشته باشد که داده های خود را به آنها ارسال می کنید، شما باید با پلتفرم خود از سناریوهای یک به یک، یک به چند، چند به یک و چند به چند پشتیبانی کنید. مواردی مانند مسیریابی مبتنی بر محتوا، دسته‌بندی، حذف دسته‌بندی و غیره را اضافه کنید. علاوه بر این، باید به خاطر داشته باشید که با برنامه هایی سر و کار دارید که همیشه تحت کنترل شما نیستند. هنگام ایجاد یک راه حل یکپارچه سازی که در بالای پلتفرم شما ساخته شده است، باید تمام سناریوهای خطای احتمالی را در نظر بگیرید. برخی از رایج ترین سناریوها شامل مواردی مانند:

برنامه یکپارچه در دسترس نیست: ممکن است یک خطای شبکه وجود داشته باشد، شاید برنامه برای نگهداری از کار افتاده باشد، یا اتفاق دیگری افتاده است برنامه یکپارچه ناگهان شروع به صحبت با یک زبان یا لهجه کاملاً ناشناخته می کند: شاید به دلیل ارتقاء نرم افزار یا تغییر در پیکربندی که از آن بی اطلاع بودید. محتویات پیامی که دریافت کرده اید به سادگی اشتباه است: شما باید بتوانید قبل از انتقال شکست به سایر بخش های فرآیند کسب و کار، ورودی را تجزیه و تحلیل و تأیید کنید. شما از یک برنامه یکپارچه درخواست کرده اید که اطلاعات را پردازش کند و منتظر پاسخ هستید اما هرگز پاسخی دریافت نمی کنید: شاید برنامه یکپارچه سازی شما اطلاعات اشتباهی را برای برنامه مقصد ارائه کرده باشد و در حال خفگی باشدو غیره. هنگامی که با چندین برنامه یکپارچه سر و کار دارید، میلیون ها چیز ممکن است اشتباه پیش برود. خوشبختانه، شما همیشه می توانید احتمالات را به تعداد محدودی از احتمالات محدود کنید، اما همچنان باید بتوانید این خطاها را مدیریت کنید. هنگامی که به استفاده از پلتفرم خود ادامه می دهید، راه های دیگری برای شکست راه حل ادغام خود پیدا خواهید کرد و به آن احتمالات نیز رسیدگی خواهید کرد. به همین دلیل، شما باید نوعی لایه کنترل پلتفرم قابل مدیریت، قابل تنظیم و تنظیم مجدد را در بالای راه حل یکپارچه خود ایجاد کنید. تقریباً در تمام راه‌حل‌های یکپارچه‌سازی مدرن، این لایه کنترلی به شکل کنترل فرآیند/جریان کاری ایجاد می‌شود.

5- نظارت

اکنون، این ممکن است یکی از حیاتی ترین عناصر در پلتفرم شما باشد. شما همیشه توسعه دهندگان و کاربران کسب و کار خود را در موقعیتی خواهید یافت که می خواهند بدانند چه اتفاقی می افتد و چه اتفاقی افتاده است. هنگامی که شخصی در حال توسعه راه حل یکپارچه سازی است، به یک نمای "اشکال زدایی" نیاز دارد تا ببیند راه حل او چگونه کار می کند. هنگامی که راه حل استقرار می یابد، مشتری شما می خواهد ببیند که آیا اطلاعات او به درستی رد و بدل شده است یا خیر. و در نهایت، وقتی مشکلی پیش می‌آید، یک نفر (شاید مشتری شما، یا شاید پرسنل پشتیبانی خودتان) باید بتواند ببیند چه مشکلی رخ داده است، و مهم‌تر از آن، چرا. نظارت را می توان به سه مورد تقسیم کرد که احتمالاً می خواهید از پلت فرم یکپارچه سازی خود ارائه دهید: نظارت در سطح پلت فرم: شما باید بتوانید درک کنید که پلت فرم شما چگونه کار می کند. آیا همه سرورها فعال هستند؟ آیا شبکه فعال است؟ توان عملیاتی پلتفرم شما چقدر است و غیره. بسته به اینکه چگونه می‌خواهید پلتفرم خود را استقرار دهید، تصمیم می‌گیرید که کاربر نهایی چه کسی باشد – برای پلتفرم‌های یکپارچه‌سازی داخلی، کاربر نهایی احتمالاً سازمان فناوری اطلاعات مشتری شما است و برای سیستم‌های ابری. پلتفرم های یکپارچه سازی، به احتمال زیاد عملیات خود شماست. نظارت در سطح راه‌حل: توسعه‌دهنده شما و شاید افراد پشتیبان شما می‌خواهند بفهمند چه اتفاقی می‌افتد و چه اتفاقی در راه‌حلی که به کار گرفته شده است. همانطور که بحث شد، میلیون ها چیز وجود دارد که ممکن است اشتباه پیش برود، و هنگامی که اطلاعات به درستی منتقل نمی شوند، باید بتوانید سریع عمل کنید. نظارت بر کسب و کار: از آنجایی که راه حلی که در بالای پلتفرم یکپارچه سازی شما ساخته شده است، ارائه اطلاعات بین برنامه ها خواهد بود، و از آنجایی که تبادل اطلاعات را کنترل می کند، ممکن است برای فرآیندهای کسب و کار مشتری شما حیاتی باشد، مشتریان شما می خواهند دید سطح بالایی از آنچه درحال رخداد است داشته باشند.

اگر در کسب وکار ( روند انجام کار از قبیل فرآیندهای کنترلی، امنیتی، کسب و کار، فرآیندهای مالی و ..) خطایی رخداده باشد، برای ارزیابی رخداد، معیارها اغلب دارای ویژگی هایی مانند "حجم"، "ارزش" یا "خروجی" هستند - هر چیزی که می تواند برای نظارت بر نحوه عملکرد کسب و کار استفاده شود، این سطح از نظارت - که اغلب در راه حل های یکپارچه سازی به عنوان "نظارت فعالیت تجاری" نامیده می شود - جایی است که احتمالاً می خواهید از برخی نمودارها، چراغ های راهنمایی و نمودارهای دایره ای استفاده کنید. شما باید آماده باشید تا به همه این نیازهای نظارتی مختلف پاسخ دهید همه آنها هم برای تجارت و هم برای عملیات بسیار مهم هستند و به احتمال زیاد کاربران نهایی متفاوتی با علایق و مجموعه مهارت های متفاوت خواهند داشت، این را هنگام ایجاد راه حل(های) نظارتی خود در نظر بگیرید.

برگرفته از وب سایت coneksion

یکپارچه سازی
نزدیک به دو دهه در حوزه سیستمهای جریان ضعیف به عنوان طراح و ارائه کننده راهکار، مهندس مشاور و بررسی کننده گزارش و طراحی پیمانکار فعالیت نموده و علاقمند و فعال حوزه های ELV, IoT, ICT, IT هستم.
شاید از این پست‌ها خوشتان بیاید