میکروسرویس های مدیا

مدیریت رسانه و اتوماسیون

میکروسرویس های عمومی

این میکروسرویس های ماژولار با هدف فراهم کردن قابلیت ها و امکانات عمومی اتوماسیون صمیم ایفای نقش می کنند. درواقع هر میکروسرویس وظیفه پیاده سازی یکی از قابلیت های کلیدی اتوماسیون را بر عهده خواهد داشت. مجموعه میکروسرویس های مورد نیاز هر مشتری، براساس نیازسنجی اولیه مشخص شده و در کنار اتوماسیون قابل ارائه می باشند.

سرویس Compression وظیفۀ فشرده‌سازی فایل‌ها و پوشه‌ها را بر عهده دارد. این سرویس قادر است تا با به‌کارگیری یکی از ابزارهای قابل پشتیبانی، فایل(ها) یا پوشه(های) ورودی را به یک فایل فشرده تبدیل و در مقصد ذخیره کند. عملیات فشرده‌سازی به یکی از فرمت‌های فشرده‌سازی قابل انجام می‌باشد. در این صورت، نسبت فشرده‌سازی نیز با توجه به محتوای فایل(های) ورودی و فرمت فشرده‌سازی انتخابی متغیر خواهد بود.

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

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

طبق تعریف، به فرایند ایجاد یک خروجی با اندازۀ ثابت از روی یک ورودی با اندازۀ متغیر، هش یا هشینگ گفته می‌شود. به عبارتی ورودی در این فرایند می‌تواند داده‌ای با هر اندازه باشد، اما اندازۀ دادۀ خروجی بدون توجه به دادۀ ورودی همواره مقداری ثابت است. این کار با به‌کارگیری یک سری فرمول‌های ریاضی صورت می‌پذیرد که به آنها توابع هش گفته می‌شود. مجموعۀ این توابع‌ در کنار هم، منجر به ایجاد الگوریتم هشینگ می‌گردد. در واقع الگوریتم هشینگ به شیوۀ پیاده‌سازی توابع هش گفته می‌شود. سرویس Hash با استفاده از الگوریتم هشینگ SHA-512، فایل ورودی را صرفنظر از اندازۀ آن دریافت کرده و یک رشته خروجی با اندازۀ 64 بایت (معادل 128 کاراکتر هگزادسیمال) به عنوان خروجی ارائه می‌دهد. خروجی سرویس Hash می‌تواند برای مقاصد مختلفی همچون اطمینان از صحت نقل و انتقال فایل، اندیس‌گذاری فایل‌ها، جستجوی فایل‌های همسان در یک فضای ذخیره‌سازی و غیره مورد استفاده قرار گیرد.

در هر بار اجرای سرویس Hash برای فایلی با محتوای ثابت، مقدار به دست آمده دقیقاً معادل مقدار قبلی آن می‌باشد. از آنجا که این فرایند بر روی محتوای فایل انجام می‌شود، حتی در صورت تغییر نام و آدرس فایل نیز خروجی یکسان برای آن تولید خواهد شد.

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

از سرویس Notify برای ارسال پیام‌های متنی به گیرندگان پیام استفاده می‌شود. این سرویس قادر است تا یک پیام متنی مشخص را از طریق کانال انتقال پیام به یک گیرندۀ خاص ارسال کند. در هر بار اجرای این سرویس، تنها یک کانال جهت انتقال پیام انتخاب و به کار گرفته می‌شود.

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

از سرویس WatchFolder برای رصد (مانیتور) کردن تغییرات یک پوشه در فضای ذخیره‌سازی (Storage) استفاده می‌شود. این سرویس با دریافت آدرس پوشه‌ای موجود در این فضا به عنوان پارامتر ورودی، تمامی رویدادهای قابل پشتیبانی در آن را تشخیص داده و توسط روش‌های ارسال رویداد به اطلاع ‎ Samim BPMS می‌رساند. رویدادهای این سرویس، کاربرد زیادی در طراحی فرایند دارند. گاهی اوقات در طراحی فرایند، نیاز به رصد وضعیت یک پوشه و اطلاع از وقوع رویدادهایی در آن وجود دارد. در این شرایط، با به‌کارگیری سرویس WatchFolder و انتخاب یک یا چند مورد از روش‌های ارسال رویداد، می‌توان رفتار فرایند را بر مبنای رویدادهای ارسالی از این سرویس به شکل مناسب طراحی و پیاده‌سازی کرد.

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