معماری جدید مجموعه نرم افزاری دیدگاه که با نام معماری زاگرس از آن یاد می شود، جدای از تفاوتهای بنیادی که بواسطه تفاوتهای نوع تفکر در معماری خود با نسلهای ۴ و ۵ دیدگاه دارد، بدلیل استفاده از یک فریمورک رابط کاربری مدرن تجربهای متفاوت را برای کاربران به ارمغان خواهد آورد و مزایای قابل توجهی برای مشتریان ایجاد میکند.
برای ساخت یک بنا ، اول باید به اسکلتبندی آن در قالب سازهای محکم و با استقامت فکر شود. اگر نرمافزار را تمثیلی از یک سازه بگیریم، معماری نرمافزار معادل اسکلت سازه است. با این حساب وقتی صحبت از تغییر معماری نرمافزار میشود درواقع پروژهای به اندازهی بازنویسی کامل آن نرم افزار تعریف شده است. بنابراین پرسش کلیدی این است که چرا چارگون تصمیم گرفت معماری مجموعه نرمافزاری دیدگاه را تغییر دهد؟
عوامل گستردهای در این تصمیم موثر بودهاند که برخی از مهمترین آنها در مجموعه مقالات اهمیت بازمهندسی اتوماسیون اداری دیدگاه، به تفصیل شرح داده شده است.
اما به طور خلاصه میتوان گفت وقتی نرمافزاری برای مدت ۱۰ تا ۱۵ سال در شرکتها استفاده شده باشد؛ بارها و بارها در طول زمان تغییر کرده، وفق داده شده و گسترش پیدا کرده است. این تغییرات در طول حیات نرمافزار باعث ناپایداری میشود. نرمافزار همچنان کار میکند؛ اما هر تغییر باعث ایجاد تاثیرات غیرقابل کنترلی در سایر قسمتهای آن میشود و در نهایت نرمافزار را غیر قابل نگهداری میکند. در این شرایط نیاز است که با بازمهندسی نرمافزار حیات دوبارهای به او بخشیده شود.
به عبارت دیگر مهمترین عواملی که باعث چنین تصمیمی شد پایین آوردن هزینه تغییرات و کم کردن زمان Deliver کردن محصولات نرم افزاری دیدگاه به مشتری بود. از اهداف دیگر در این تحول بزرگ میتوان به امکان بروزرسانی نرمافزارهای مختلف به شکل مستقل از یکدیگر اشاره کرد.
مدل معماری جدید (زاگرس) چیست؟
معماری جدید مدلی مشابه معماری مشهور پیازی (onion architecture) است که قسمتهای مختلف نرمافزار حول یک هسته متمرکز قرار میگیرند. در این معماری اجزای مختلف تنها هسته مرکزی را میبینند و از آن شناخت دارند و از وجود قسمتهای دیگر سیستم آگاه نیستند. این عدم آگاهی باعث میشود تا رشد و بلوغ آن جزء از سیستم به اجزای دیگر وابسته نباشد. بدین شکل هر جزء میتواند مستقلا Develop شود، از تکنولوژی دلخواه استفاده کند، به طور مستقل تست شود و تغییرات آن روی قسمتهای دیگر سیستم تاثیر نگذارد. بنابراین میتوان انتظار داشت در معماری جدید، نرمافزار سریعتر و کمباگتر باشد و تغییرات مورد نیاز مشتری با سرعت بیشتری در آن پیادهسازی شود.
پایگاه داده در معماری زاگرس چگونه است؟
در یک سیستم نرمافزاری مبتنی بر مدیریت دادههای کاربران، ارتباط با یک یا چند پایگاه داده بزرگ، از مهمترین دغدغههای معماری سیستم است.
حجم بسیار بالای تراکنشهای بین سرور وب و پایگاه داده، اندازه بالای دیتا در هر تراکنش، ارتباط توزیعشده تراکنشها در پایگاهدادههای مختلف و پاسخ به نیازهای کسب و کار پیچیده سیستمهای 5 حوزهي دیدگاه از جمله ملاحظاتی است که حساسیت بالای انتخاب یک مکانیزم مطمئن ارتباطی بین پایگاه داده و نرمافزار را ضروری میکند. تحقیقات فنی و نرمافزاری دو گزینه پیش روی تیم توسعه زیرساخت چارگون گذاشت:
گزینه اول انتخاب یک ORM پیشرفته با قابلیتهای فراوان بود. این انتخاب کدنویسی و نگهداشت کد را برای چارگون بسیار کمهزینه میکرد اما کاهش سرعت پردازش در سرورهای مشتریان را به همراه داشت.
گزینه دوم، انتخاب و توسعه یک Micro ORM با قابلیتهای پایه بود، این گزینه هزینه کدنویسی و نگاهداشت بالاتری داشت اما سرعت و بهینگی را به نحوه منحصر به فردی بالا میبرد.
در نهایت گزینهي دوم، انتخاب شرکت چارگون بود تا حداکثر سرعت و بهینگی ارتباط با دادههای ذخیره شده مشتریان را با ایجاد یک لایه نازک و سبک دسترسی داده توسط این Micro ORM در معماری جدید خود ایجاد کند.
زاگرس و نسل جدید کنترلهای دیدگاه
تیم توسعه زیرساخت چارگون با هدف پاسخگویی به نیاز رو به رشد نرم افزارهای جدید دیدگاه، کار بر روی نسل جدید کنترلها را از حدود دوسال پیش آغاز کرده بود. به این منظور مشکلات موجود بررسی شد تا با تغییراتی که زاگرس ایجاد میکند در نسل جدید تمرکز بر روی ایجاد فرم هایی باشد که سریعتر رندر شوند، ایمن باشند و هزینه نگهداشت کمتر و توسعه پذیری بالاتری داشته باشند.
چارگون بر روی تکنولوژیهای روز، بررسیهای زیادی بر روی این فاکتورها داشت و در نهایت تصمیم گرفت که MVVM Pattern موجود که با استفاده از Knockout پیاده سازی شده بود را کنار بگذارد و با استفاده از React کنترلهای جدید را توسعه دهد.
معماری جدید، نه تنها نیاز به تغییر در Stack تولید داشت بلکه نیازمند تغییر در تفکر طراحی بود. کنترلهای React به خاطر ذات Component Base خود، قابلیت توسعهپذیری بالایی دارند و جدا سازی Business از Presentation در سطح کنترل های React راه را برای تستپذیری نسل جدید هموار میکند.
دیدگاه 5 با توجه به قابلیت نمایش همزمان فرمهای مختلف از نرمافزارهای دیدگاه نیاز به زیرساخت قدرتمندی دارد که توانایی پاسخگویی این حجم از اطلاعات را دارا باشد و کامپوننتهای جدید با استفاده از تکنولوژی Virtual DOM در این زمینه بصورت بسیار کارآمدتری عمل میکنند.
در نهایت با بهرهگیری از ابزارهای تولید جدید، چارگون نسل جدید رابط کاربری را توسعه داد تا مشتریان دیدگاه بتوانند از مزیت های تکنولوژی روز دنیا بهره مند شوند.
استاندارد جدید رابط کاربری مطابق با Material Design شرکت گوگل
مطالعه بر روی رفتار کاربرها نشان داده که هرچه رابط کاربری سادهتر باشد و تجربه کاربری آن به تجربه های کاربری در دنیای واقعی نزدیکتر باشد، کاربر راحتتر میتواند با نرمافزار ارتباط برقرار کند و از کار کردن با آن راضیتر خواهد بود. بر این اساس چارگون در پروژه تغییر ظاهر دیدگاه به دنبال استانداردی بود که ساده و زیبا باشد، کار کردن با آن آسان باشد و در پلتفورمهای متفاوت تجربه یکپارچهای را ارائه کند و نیز کار کردن طولانی مدت با آن کاربر را خسته نکند. در دنیا استانداردهای متنوعی برای پیادهسازی رابط کاربری وجود دارد و چارگون از بین همه آنها استاندارد Material Design شرکت گوگل را انتخاب کرد که تمام جوانب مد نظر را یکجا در خود داشت. تیم زیرساخت از نقاط قوت material design استفاده کرد و بر مبنای آن توانست استاندارد جدیدی را برای رابط کاربری دیدگاه طراحی کند که هم نیازهای پیچیده نرم افزارهای دیدگاه را پوشش دهد و هم کار کردن با آن برای کاربر روان و خوشایند باشد. بخش مهمی از این تغییرات، یعنی تغییرات میزکار طی هفتههای آینده در اولین نسخه زاگرس به دست مشتریان خواهد رسید.