تکنولوژی، معماری و زیرساخت فنی نرم‌افزار اتوماسیون اداری فراگستر

تکنولوژی، معماری و زیرساخت فنی

نرم‌افزار اتوماسیون اداری فراگستر

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

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

۱- مشخصات فنی نرم‌افزار اتوماسیون اداری فراگستر در یک نگاه

Web Application
Microsoft ASP.NET MVC 5 / .Net Framework 4.6Web Application Framework
Microsoft Windows Server 2016Operation System
C#Programming languages
Microsoft SQL Server 2016Relational Database Management System
Visual Studio 2017Software Development IDE for Application
TFSSource code management, Requirements management, Project management, Automated builds
Mock, Automated TestTesting and Release Management
ScrumFramework for Managing Work
IISWeb Server
Signal-RAsynchronous Notifications to Client-Side Technology
RedisIn-Memory Distributed Data Cache and Message Broker
(۱) Built-in Monitoring / (2) Integrated with Windows Performance Counters
Analyze the Performance
Dealing with Large Volumes of Computer-Generated Log Messages ApproachLog Management
WCF, REST, SOAPDistributed Application Data Transfer Technology
Stimul.NET Platform Reporting Component
TypeScriptStrict Syntactical Superset to JavaScript (development of large applications and trans-compiles to JavaScript)
jQuery, Knockout (partial)JavaScript Libraries & Client-Side Declarative Bindings
Responsive DesignWeb pages render on a Variety of Devices and Window or Screen Sizes
VSTOMicrosoft Outlook and Word add-ins Integrations Built by Using Our Web-Based Platform
OWASPWeb Application Security Standard
Token Based AuthenticationProviding Security to the Web API and Plugins
Acunetix, Wireshark, metasploit, nicto, nessus, nmapSecurity Automate Checking Tools
Open Source – Customized ProcessMakerBusiness Process Management Engine
MySqlProcess Management Database
APACHEProcess Management Web Server
NGINX (Recommended)Recommended Network Load Balancing (Scalability to Handle a Growing Amount of Work)
ManageEngine (Recommended)Recommended Enterprise IT Management Software for Operations Management and Monitoring
Mobile app Development
RESTful servicesMobile Application Data Transfer Technology
XcodeSoftware Development IDE for iOS, watchOS
Android StudioSoftware Development IDE for Android
Token Based AuthenticationSecurity Authentication
Behjoo
JAVAProgramming Language
LUCENEInformation Retrieval Technology
FaraGostar Persian AnalyzerPersian Support

۲- معماری و زیرساخت فنی نرم‌افزار اتوماسیون اداری

۱-۲ معماری نرم‌افزار

نرم‌افزار وب، بار اصلی تعاملات با کاربران و ارتباط با شبکه‌های را شامل می‌شود و بسیار از خدمات از طریق آن ارائه می‌شود. بنابراین بکارگیری یک معماری مناسب برای نرم‌افزار از اهمیت بسزایی برخوردار است. نرم‌افزارهای فراگستر نیز براساس معماری Multilayer که شامل لایه‌های منطقی و فیزیکی مختلف و جداگانه می‌باشند ساخته شده‌اند.

از مزایای تولید نرم‌افزارها براساس این معماری می‌توان به موارد ذیل اشاره نمود:

  • بروزرسانی و توسعه آسان‌تر نرم‌افزارها باتوجه بجدابودن اجزا وفایل‌های هر لایه
  • گسترش‌پذیر بودن نرم‌افزار (Scalability) که امکان توزیع سیستم رابر روی سرورهای متعدد فراهم می‌سازد
  • افزایش خوانایی سورس برنامه‌ها و در نتیجه افزایش کیفیت کدها و کاهش هزینه برای نگهداری و توسعه آنها
  • اعمال تغییرات در لایه‌های مختلف با حداقل تاثیر در بخش‌های مرتبط دیگر
  • امکان بکارگیری نیروهای متخصص در لایه‌های مختلف

فراگستر از بستر ASP.NET MVC برای تولید نرم‌افزارهای خود بهره گرفته است. از ویژگیهای این تکنولوژی می‌توان به توسعه سریع و ساختار یافته­‌تر نرم‌­افزار و سرعت بیشتر در اجرای سیستم اشاره نمود.

چهارچوب فناوری تولید نرم‌­افزارهای تحت وب فراگستر از جمله سیستم اتوماسیون اداری بر پایه Net Framework 4.6. بوده و برهمین اساس این نسخه از این فناوری می‌بایست بر روی سرور میزبان Application نصب گردد.

نرم‌افزار اتوماسیون اداری فراگستر بر اساس پایگاه داده SQL Server طراحی گردیده است و این نرم‌افزار با نس ۲۰۱۶ این پایگاه داده ارائه می‌گردد.

نرم‌افزار اتوماسیون اداری فراگستر بدون هیچگونه محدودیتی بر روی سیستم عامل‌های Windows، Android، IOS، Mac و Linux مورد استفاده قرار گرفته و کلیه مرورگرهای مندرج در فهرست ذیل نیز قابلیت اجرای سیستم را بدون هیچگونه شرایطی را خواهند داشت.

به واسطه استفاده از فناوریهای نوین در تولید نرم‌افزار و رعایت استانداردهای روز W3C در سیستم پیشنهاد می‌گردد از دو نسخه آخر کلیه مرورگرها استفاده گردد.

نرم‌افزار اتوماسیون اداری فراگستر در تمام فرم‌های و صفحات سیستم به صورت کاملاً responsive طراحی شده و بر همین اساس کاربر می‌تواند در نمایشگرهای مختلف از جمله Tablet ها بدون به هم ریختگی یا محدودیتی با نرم‌افزار کار کند.

۲-۲ چارچوب کاری

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

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

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

در سال‌های اخیر، روش‌های توسعه چابک به‌عنوان روش‌هایی جدید، متفاوت و مؤثر مطرح ‫گردیده‌اند. روش‌های چابک از اصولی پیروی می‌نمایند که در مواردی به‌طور کامل در مقابل روش‌های متداول پیشین قرارگرفته است و ‫مؤثر، بدان جهت که با اقبال جامعه توسعه‌دهندگان در مورد توسعه گونه‌هایی ‫از پروژه‌های نرم‌افزاری روبرو شده است.

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

چارچوب یا فرایند مدل اسکرام یک چارچوب تکرارپذیر و افزایشی برای کنترل پروژه (مدیریت نرم‌افزار) است که معمولاً در زیرشاخه مدل فرایند تولید نرم‌افزار چابک و سریع است؛ و یک نوع مدل تولید نرم‌افزار در مهندسی نرم‌افزار به‌حساب می‌رود.

۳-۲ الگوی توسعه نرم‌افزار

Test-Driven Development یا TDD فن برای توسعه نرم‌افزارهای است. این روش به‌صورت بالا به پایین انجام می‌شود. ابتدا کلیات پروژه به‌صورت نمونه اولیه پیاده‌سازی می‌شود و بعد از تأیید شدن عملکرد برنامه کدهای اصلی با Mock جایگزین می‌شود. آزمون‌ها به‌صورت Test Case نوشته می‌شوند و درنهایت بعد از نوشته شدن کد refactoring صورت می‌گیرد.

TDD در واقع متدی برای طراحی نرم‌افزار است و نه آزمون نرم‌افزار. البته آزمون نرم‌افزار توسط TDD به‌صورت مناسب انجام می‌شود. برای مثال یک class که انتظار می‌رود یک object از نوع user را ایجاد نماید و در کل برنامه از این object استفاده خواهد شد، با تغییری در پایگاه داده، باعث می‌شود متدهایی از این آبجکت دیگر معنی نداشته باشند و لازم است حذف شوند. بنابراین در هر قسمت از برنامه که این متدها وجود داشته باشد، کار نخواهد کرد.

ولی اگر از روش TDD استفاده شود و برای هر قسمت آزمون نوشته‌شده باشد، بعد از تغییرات با استفاده از آزمون‌ها، می‌تواند متوجه تغییرات در بخش‌های مختلف شده و نسبت به رفع آن‌ها اقدام کرد. در واقع TDD باعث می‌شود کد مرتبی نوشته شود که به‌خوبی کار می‌کند. برای اجرای TDD نیاز به Automated Test Unit است.

۴-۲ اصول بکارگرفته شده در برنامه‌­نویسی

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

این پنج اصل می‌بایست بکار گرفته شوند تا نرم‌فزار تولید شده قابلیت TDD را داشته باشد.

  • اصل مسئولیت واحد Single Responsibility Principle
  • اصل Open/Close
  • اصل Liskov Substitution
  • اصل تفکیک رابط (Interface Segregation)
  • اصل وارونگی وابستگی

۵-۲ فرآیند طراحی رابط کاربری

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

در فراگستر دو عملیات UX Design و UI Developer از یکدیگر جدا می‌باشد که نقش‌ها به شکل زیر با یکدیگر در تعامل هستند.

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

نمایانگر نقش ux Design, UI Developer

در سامانه بهره‌گیری از قوانین طلایی تئومندل، برای طراحی واسط کاربر بسیار مهم است که شامل موارد زیر است.

  • واگذاری کنترل به کاربر
  • کاهش بار حافظه کاربر
  • سازگار کردن رابط

۱- اعطای کنترل به کاربر:

در موارد بسیاری ممکن است طراح برای آسان کردن پیاده‌سازی رابط، قیدوبندها و محدودیت‌ها را معرفی کند و امکان دارد حاصل کار رابطی باشد که ساختن آن آسان بوده ولی کاربردش ناامیدکننده است. مندل برخی اصول طراحی که به کاربر امکان کنترل می‌دهند را تعریف می‌کند:

  • ایجاد تعامل انعطاف‌پذیر
  • امکان ایجاد وقفه و خنثی‌سازی در تعامل کاربر
  • کارآمد ساختن تعامل همراه با پیشرفت سطوح مهارتی و امکان سفارشی کردن آن
  • مخفی کردن موارد فنی داخلی از کاربران عادی
  • طراحی تعامل مستقیم با اشیایی که روی صفحه‌نمایش ظاهر می‌شوند

۲- کاهش بار حافظه کاربر:

تا هراندازه می‌توان، می‌بایست از بار حافظه کاربر کاسته شود، هر چه الزام کاربر در حفظیات بیشتر باشد، میزان خطای او در تعامل با سیستم بیشتر خواهد بود.

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

۳- سازگار کردن رابط:

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

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

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

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

در حین طراحی رابط کاربر، چهار مسئله معمول طراحی تقریباً همیشه سطحی تلقی می‌شوند:
  • زمان پاسخگویی سیستم
  • تسهیلات کمکی کاربر
  • خطا گردانی اطلاعات
  • برچسب‌گذاری فرمان

۶-۲ فرآیند آزمونهای واحد

ابتدا بایستی واژه Mock را بصورت لفظی معنی کنیم، این واژه به معنی ‌ساختگی و تقلیدی است. حال باید دید در دنیای برنامه‌نویسی به چه معنی است. در برنامه‌نویسی شیءگرا، شیءهایmock، اشیاء شبیه‌سازی‌شده هستند که رفتار شیءهای واقعی را با روش‌های کنترل‌شده تقلید می‌کنند.

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

بطور خلاصه می‌توان بیان کرد که mocking، ساختن شیءهای است که رفتار شیءهای واقعی را شبیه‌سازی می‌کنند. نه‌تنها این روش باعث می‌شود که آزمون‌های شما سریع‌تر اجرا شوند بلکه به شما این امکان را می‌دهد که به‌جای تمرکز روی وابستگی‌های خارجی، روی آزمون قابلیت کد خود تمرکز نمایید.

زمانیکه شیء‌ای یکی از ویژگی‌های زیر را داشته باشد، ممکن است که استفاده از یک شیء mock به‌جای آن مفید باشد:
  1. نتایج غیرقطعی را تدارک می‌بیند مانند زمان کنونی
  2. دارای شرایطی باشد که بازسازی و یا ساخت آن مشکل باشد مانند خطاهای موجود در شبکه
  3. کند باشد مثلاً اگر برای مقداردهی اولیه باید یک پایگاه داده بزرگ بارگذاری شود.
  4. بیش از این وجود ندارد و یا ممکن است رفتارش تغییر کند.
  5. شامل اطلاعات یا روش‌هایی باشد که منحصراً به‌منظور آزمون وجود دارند.

با یک­ مثال مطلب روشن‌تر خواهد شد.

فرض کنید یک برنامه دارید که باید در زمان خاصی اجرا شود، اگر از شیء واقعی که زمان کامپیوتر است استفاده کنید، ممکن است که به ساعت‌ها انتظار نیاز داشته باشیم. حال اگر شیء mock معادل زمان را برای برنامه خود بنویسیم، دیگر می‌توانیم زمان را خودمان برای آن تنظیم نماییم و بدین ترتیب وابستگی به یک شیء بیرونی (ساعت کامپیوتر) از بین خواهد رفت.

۷-۲ آزمون یکپارچگی

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

برنامه‌های کاربردی، می‌بایست این آزمون را انجام دهند که عبارتند از:
  • آزمون واحد: آزمودن هر ماژول در همان زمان
  • آزمون ادغام: آزمون ترکیب ماژول با برنامه
  • آزمون قابلیت استفاده: کیفیت کاربر پذیری در تعامل با سایت
  • آزمون پذیرش: تعیین اینکه آیا سایت مطابق با اهداف اصلی کسب‌وکار و چشم‌انداز طراحی‌شده باشد

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

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

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

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

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

۸-۲ ارزیابی کارایی نرم‌افزار

کارایی نرم‌افزار و شبیه سازی تعداد کاربران بالا در نرم‌افزار توسط شبیه‌سازهای فناوری Net. انجام میشود. تست‌های کارایی از طریق ماژول‌هایی که رفتار کاربر را شبیه‌سازی می‌نمایند به انجام میرسد. برای مثال در متدهایی وجود دارند که میتوانند ۱۰۰۰ نامه را به صورت همزمان ارسال نمایند.

این رفتار با بعد کاربری آن براساس تابع‌های توزیع پوسان به ابزار تست داده شده و کارایی و قدرت تحمل فشار سیستم اندازه‌گیری میشود. بر اساس نتایج بدست آمده اشکالات مرتبط با پایگاه داده ماننده Query Blocking و … شناسایی و رفع میگردد.

از ویژگی‌های مهم اتوماسیون اداری فراگستر کارایی بالای برنامه برای پردازش‌های گسترده می‌­باشد.

ارزیابی کارایی نرم‌افزار
ارزیابی کارایی نرم‌افزار

۹-۲ معماری نشر

بیشتر وب‌سایت‌ها هم‌اکنون از مدل سه­ لایه‌ای پیروی می‌کنند که شامل وب، برنامه کاربردی و پایگاه ­داده است، همان‌گونه که در شکل زیر ملاحظه می‌کنید.

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

در حالتی که نیاز است سیستم بر روی رایانش ابری یا دارای توان Load Balancing باشد، لازم است از مدل مشخص‌شده در شکل زیر برای نشر سیستم وب استفاده گردد.

نشر سیستم وب

نشر سیستم وب

در این ساختار، متعادل‌کننده بار، مسئول توزیع بار بین وب سرورها خواهد بود و به‌صورت متمرکز می‌تواند توزیع بار بین وب سرورها را انجام دهد. با توجه به اینکه در سامانه‌های مبتنی بر رایانش ابری روزانه میلیون‌ها درخواست، از وب سرورها تقاضا می‌شود، متعادل‌کننده بار، نقش مهمی ایفا خواهد کرد. البته می‌توان «کنترل‌گر تحویل برنامه کاربردی»، به‌جای متعادل‌کننده بار، جایگزین نمود تا قابلیت‌های پیشرفته‌تری را دریافت کرد.

فهرست این قابلیت‌ها در جدول زیر آمده است.
Load balancingRedirection rulesStatic content serving
Content compressionCache header manipulationDynamic page caching
Rate limiting/throttlingDynamic page rewriting to improve performanceSSL/TLS termination
Web application firewallURL rewriting

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

در شکل زیر نمایی از برنامه نشر آمده است.
نمایی از برنامه نشر
نمایی از برنامه نشر

نمایی از تولید نسخه جدید برنامه

تنظیم جلسه دمو و دریافت پیشنهاد قیمت

با تکمیل فرم زیر کارشناسان فراگستر جهت ارائه دموی نرم افزار با شما تماس خواهند گرفت. همچنین از طریق تلفن ۴۲۶۲۳-۰۲۱ داخلی ۱ در ساعات اداری شنبه تا چهارشنبه از ساعت ۸ الی ۱۷ و پنجشنبه ها از ساعت ۸ الی ۱۳ پاسخگوی شما خواهیم بود.

دمو ببینید
۴۲۶۲۳ (۰۲۱)