Project Description

مقدمه

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

ویژگی ها

امنیت – قابلیت افزودن https

3 نوع https می‎توان راه اندازی کرد:

  1. اختصاصی: در این حالت شما می‎توانید از شرکت های بسیار معتبر و دارای ضمانت پشتیبانی اعتبارنامه ssl تهییه کنید و به صورت اختصاصی نصب و راه اندازی کنید.
  2. Lets Encrypt: سیستم اعتبار رایگان و مناسب برای اینترنت می باشد. همچنین رایگان بودن آن محبوبیت بسیاری برای آن فراهم کرده است. این سیستم بسیار مناسب شرکت هایی است که در بستر اینترنت فعالیت می کنند. و در شروع کار هستند. اما بعد از مدتی بهتر است به گزینه اول مهاجرت کنید. در این روش به دلیل شلوغ بودن سرور های Lets Encrypt امکان حذف بسته ها وجود دارد و در صورتی که سیستمتان مانتور باشد Packet Lost دریافت خواهید کرد.
  3. Self-sign Encryption: در این حالت خود سرور خدمات رسان جوابگوی تایید اعتبارنامه https می باشد. این حالت مناسب سیستم های سازمانی است.

امکان ارسال تصویر و صدا تنها در بستر https ممکن می باشد و درصورت نبود https دستگاه های ورودی و خروجی توسط سیستم اجازه فعالیت ندارند.

سفارشی سازی – قابلیت افزودن قالب فارسی

قالب خاص، چند زبانه و زبان پیشفرض (فارسی) از ویژگی های خوب این نرم افزار تحت وب می باشد.

امنیت – قابلیت تغییر پورتها

سیستم های آموزش مجازی معمولا به یک سیستم دیگر متصل می گردند (مثلا: آموزش مجازی یا مدیریت جلسات). از این رو درگاه ورودی کاربران سیستم مدیریت جلسات می باشد. پس این سیستم ها می توانند کاربران را به سمت درگاه برگذاری جلسات Jitis هدایت کنند. پس لازم نیست پورت های فعالیت درگاه 80 یا 443 باشد.
این کار مزایای زیادی دارد که شامل:

افزایش امنیت و مخفی بودن در برابر حملات Brute Force می باشد که میتوان با تعییر پورت های رایج سیستم به این مهم دست یافت.

ماژولار یا مبتنی بر کامپوننت بودن

  • واسط وب کاملا فارسی و چند زبانه، امکان تعیین زبان پیشفرض (مثلا فارسی)
  • ماژول etherpad: امکان پنل اشتراکی در جلسه آنلاین
  • ماژول jigasi: امکان اتصال به سرور SIP و از طریق آن به تلفن های SIP
  • ماژول jibri: امکان ضبط ویدئو
  • ماژول jicofo: ماژول سیستم چت مرکزی در برگذاری جلسه آنلاین
  • ماژول prosody: کاربر نرم افزار تحت وب از طریق واسط وب به این بسته متصل می باشد و سایر بسته ها از طریق این بسته مدیریت می گردند. درواقع هسته مرکزی نرم افزار تحت وب در این قسمت قرار دارد.
  • مدیریت کیفیت تماس

زیرساخت پیاده سازی

زیرساخت ماژول جلسات آنلاین هرمز

زیرساخت ماژول جلسات آنلاین Jitis

سیستم عامل لینوکس

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

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

ما در مجموعه تحلیل یار این ابزار ها را غیرفعال می کنیم و به جای آن تمرکز خود را روی ابزار های کاربردی می گذاریم. در نتیجه منابع شما صرف کارایی و اهداف سیستم شما می گردد.

داکر

داکر یکی از ابزار های بروز و کاربردی است که زیاد مورد استقبال قرار گرفته است. اما ما فقط به خاطر جدید تر بودن به آن میل پیدا نکرده ایم. بلکه مدیریت منابع و ماشین های سبک آن (که با نام Container شناخته می شوند) مدیریت سرور را بهتر می کنند.

مدیریت بسته ها

بسته های مورد استفاده که در بالا بیان شدند باید دریک سیستم و یا چند سیستم مجزا نصب شوند و به دلایل زیر (در پیاده سازی سنتی) مدیریت آنها سخت می شود:

  1. وابستگی هرکدام از سیستم ها به افزونه ها و بسته های مرتبط
  2. بروزرسانی بسیار سخت هرکدام از بسته ها
  3. سیستم های کش حرفه ای باید در ماشین دیگری مستقر گردند (در صورت نیاز)
  4. دخالت ابزار ها در منابع یکدیگر و سخت بودن تنظیم ابزار هایی مثل SELinux

همچنین ما در مجموعه تحلیل یار سعی کردیم این موارد را با استفاده از Container ها مدیریت کنیم و با استفاده از Container مشکلات زیادی مرتفع گردیدند که به شرح زیر می باشند.

  1. جداسازی زیرساخت هرکدام از بسته ها در یک Container مجزا
  2. بروز رسانی سریعتر با حذف کانتینر مورد نظر و ایجاد کانتینر جدید
  3. ارائه سرور های کش حرفه ای بر بستر همان ماشین
  4. با توجه به جدا سازی سرویس ها نیاز به مدیریت سیستم توسط SELinux کمتر احساس می گردد.
  5. مدیریت منابع توسط Container
  6. ارائه ابزار های مانیتورینگ بر روی یک Container مجزا (البته بهتر است همیشه ابزار های مانیتورینگ روی ماشینی دیگر باشند تا کل تغییرات ماشین مانیتور گردد – مثلا مانیتورینگ را به سرورزبیکس و یا یک ماشین جدا با Prometheus بسپارید)
مدیریت منابع توسط Container

در سیستم های قدیمی منابع سیستم تماما توسط هسته لینوکس مدیریت می شد و اما در حال حاضر مدیریت منابع بر دوش داکر که یک هسته حرفه ای بر بستر هسته لینوکس می باشد مدیریت می گردد.

ظاهر نرم افزار تحت وب Jitis