هارمونی
تکنولوژیها
در برید
ارائۀ راهکارهای جامع نرمافزاری، منوط به حل مسائل مختلف، با روشهای متفاوت است و ما در برید برای حل هر مسئله با متدولوژیها و تکنولوژیهای متعددی مواجهیم که باید میان آنها هماهنگی و هارمونی مناسبی وجود داشته باشد. فقط از طریق این هارمونی و همنوازی است که میتوانیم پاسخهای مناسبی به نیازهای مشتریان خود بدهیم.
هارمونی در پرگار یعنی هماهنگی کامل میان:
- معماری
- تکنولوژی
- متدولوژی
- امنیت
در دنیای راهکارهای نرمافزاری، انتخاب تکنولوژیها و هماهنگی متدولوژیها در کنار رعایت اصول امنیتی، بسیار حائز اهمیت هستند؛ ایجاد هماهنگی و هارمونی میان اجزاء و فعالیتهای مختلف، باعث بهینهشدن نتایج، صرفهجویی در زمان و ارائۀ محصولاتی باکیفیت میشود.
تخصص، انعطاف، هماهنگی و مدیریت؛
یک هارمونیِ کارآمد.
1-معماری Architecture
معماری رویداد محور:
با توجه به اینکه در محصول پرگار از زیرساخت Messaging برای ارتباط میان سیستمها استفاده میشود و براساس معماری رویدادمحور(Event-Driven)، شما میتوانید بهسادگی و از طریق Web API میان پرگار و سایر سامانههای نرمافزاری ارتباط ایجاد کنید.
معماری دامنهمحور:
در لایۀ Business معماری پرگار، طراحیِ دامنهمحور(Domain-Driven) به تیم طراحی ما این امکان را داده است که کمترین میزان وابستگی را به تکنولوژیهای مربوط به لایههای واسط کاربری و Database داشته باشد و این امر منجر به طولانیترشدنِ عمر محصول ما شده است.
معماری سرویسگرا (SOA):
این رویکرد بر ارائۀ عملکردهای نرمافزاری در قالب خدمات(سرویسها) تمرکز دارد و امکان
یکپارچهسازی و ادغام اجزای از پیش آمادهشده را برای ساخت یک محصول نرمافزاری فراهم میکند.
اتخاذ رویکرد سرویسگرا در توسعۀ محصول پرگار، باعث انعطاف بیشتر این محصول شده است و پرگار
میتواند بهسادگی به سایر سیستمهای نرمافزاری داخلی و خارجی متصل شود و این انعطاف، به
سازمان و کسبوکار شما این امکان را میدهد که بدون نگرانی بابت سازگاری سیستم، بتوانید
تصمیمات تجاری جدیدی را اتخاذ کنید.
"پرگار با معماری سرویسگرا ، این امکان را دارد که با سرعت بیشتری فرآیندهای جدید را پیادهسازی کند و اجزای نرمافزار را با سهولت بیشتری با یکدیگر ترکیب کند و این امر برای سازگارشدن با تغییرات هرروزۀ دنیای تکنولوژی ، یک مزیت اساسی محسوب میشود."
معماری مبتنی بر CQRS:
معماری محصول پرگار از مدل CQRS پیروی میکند تا این محصول بتواند عملکرد و کارایی بهتر را در عین حفظ یکپارچگی دادهها بههمراه داشته باشد. این یعنی در پرگار، Commandها از Queryها جدا هستند و در تمام لایههای نرمافزار، از لایۀ UI گرفته تا لایۀ Database، فراخوانی آنها از جداول مجزا صورت میگیرد؛ همین هماهنگی باعث میشود که علاوهبر موارد امنیتی، افزایش Performance و بهبود کارایی محصول پرگار نیز، کاملاً مشهود باشد.
قابلیتهای مقیاسپذیری و تلفیق:
راهکارهای نرمافزاری ارائهشده توسط شرکت برید، قابلیت تطبیق با نیازهای متغیر کسبوکار شما را دارند و میتوانید آنها را بدون دردسر Scale کنید. معماری محصولات ما و نحوۀ بهکارگیری تکنولوژیها برای توسعۀ آنها، به سازمان شما این امکان را میدهد که بدون مواجهه با محدودیتهای غیرضروری رشد کند و تا هر میزان که نیاز است در راستای اهداف مدنظرتان، متحول شود.
2-فناوری Technology
استفاده از Async بهجای Sync:
در معماری محصول پرگار، با بهکارگیری تکنولوژیهای ناهمزمان Async، تأثیرات قابلتوجهی در
عملکرد و پاسخگویی سیستم بهوجود آمده است. بهکارگیری Async به پرگار این امکان را داده است که
بتواند با افزایش تعداد سرویسدهندگان، بهراحتی سرعت و حجم پاسخگویی را افزایش بدهد. با
تکنولوژی Async برخلاف Sync، دیگر قرار نیست که منابع سرویسدهنده در لحظه پاسخگوی
سرویسگیرندهها هم باشند و با ایجاد صفهای انتظار Queue، امکان پاسخگویی به درخواستهای
سرویسگیرندگان در واحد زمان تا حد بسیار زیادی بالا میرود.
استفاده از این تکنولوژی، باعث توسعهپذیری بالای سیستم پرگار در لایههای مختلف شده است و
آستانۀ تحمل پرگار را تاحد بسیار زیادی افزایش داده است.
توسعۀ مبتنی بر مکانیزم ORM:
در محصول پرگار، از یک کامپوننت Open-source بهنام NHibernate برای پیادهسازی ORM استفاده شده است و همین امر باعث شده است که پرگار بتواند از پایگاه دادههای مختلف مانند MySQL، Oracle و SQL Server پشتیبانی کند.
محصول پرگار به پایگاه دادۀ خاصی وابسته نیست و شما محدودیتی در رابطه با انتخاب پایگاه داده ندارید.
:Single Page Application
با اتخاذ مدل SPA در طراحی و معماری محصول پرگار، تجربۀ کاربری تا حد بسیار زیادی بهبود پیدا
کرده است.
در این مدل، کدهای رابط کاربری مثل Java Script، HTML و CSS بهصورت یکجا یا مقطعی، روی Client
ذخیره میشوند و تجربۀ کاربری یکپارچه و سریعتری را موجب میشوند.
گذرگاه سرویس سازمانی (Enterprise Service Bus):
گذرگاه سرویس سازمانی(ESB)، یک مدل برای سادهسازی ارتباط بین سیستمها و زیرسیستمهای مختلف یک
محصول نرمافزاری است؛ این مدل که مبتنی بر اصول معماری سرویسگرا طراحی شده است، برای
یکپارچهسازی اجزای مختلف محصول پرگار بهکار گرفته شده است و ارتباط بین لایههای مختلف پرگار،
براساس مدل گذرگاه سرویس سازمانی صورت میگیرد.
با استفاده از این مدل علاوهبر سادهشدن ایجاد تغییرات، قابلیتهای امنیتی سیستم پرگار نیز در
تمام لایهها افزایش یافته است و امکان کنترل کامل اطلاعات در تمامی سطوح میسر شده است.
زبانهای برنامهنویسی:
در طراحی محصول پرگار، تمرکز اصلی ما بر سازگاربودن رابطهای کاربری و ایجاد ارتباط کارآمد بین سیستمهای مختلف است؛ با پشتیبانی از فناوریهای متنوع از قبیل React Native و Angular، راهکارهای نرمافزاری ما، قابلیت ادغام و یکپارچگی با پلتفرمهای مختلف را دارند.
Angular
سیستم جامع پرگار در لایه وب با استفاده از زبان برنامهنویسی Angular نوشته شده است. در واقع Angular یک پلتفرم برای ساختن برنامههای تکصفحهای در لایۀ Client است که از HTML و TypeScript استفاده میکند. این چارچوب نرم افزاری برای Enterprise Application بسیار مناسب است و این امکان را در اختیار ما گذاشته است تا پرگار را به صورت Responsive طراحی و به مشتریان ارائه نماییم.
.NET
Net. یک ماشین مجازی برای کامپایلکردن و اجرای برنامههای نوشتهشده به زبانهای مختلف مانند C# است که تیم توسعه برید از این چارچوب برای تولید پرگار استفاده مینماید.
C#
پرگار در سمت سرور بر مبنای C# توسعه یافته است. مقیاسپذیری بالا بهواسطۀ کدهای بهینهشده، امکان تسریع روند توسعه با توجه به ملایمبودن منحنی یادگیری و سرعت توسعۀ بالا از جمله مزایایی است که موجب شده است این زبان برنامهنویسی برای پرگار انتخاب شود.
React Native
RN یک چارچوب محبوب برنامهنویسی در بستر JavaScript است که با استفاده از آن میتوان با یک پایگاه کد، یک برنامه را برای پلتفرمهای مختلف موبایل ایجاد کرد. ما با استفاده از این فناوری، پرگار را به صورت نرمافزار موبایل (iOS و Android)، در اختیار مشتریان قرار دادهایم.
NHibernate
NHibernate یک راهکار بسیار کارآمد برای مدیریت اطلاعات در چارچوب .Net است. در واقع این راهکار، یک ORM محسوب میشود؛ یعنی تکنیکی برای سازگارکردن دادهها برای ثبت در پایگاه داده است. به واسطه استفاده از این فناوری، پرگار بدون وابستگی میتواند با تمامی پایگاههای داده رایج ارتباط داشته باشد.
3-متدولوژی Methodology
میزان اهمیت انتخاب روش مناسب برای توسعۀ یک نرمافزار بر هیچکس پوشیده نیست؛ با اتخاذ رویکرد اسکرام، تخصیص کارآمد منابع، مدیریت زمان و اولویتبندی فعالیتها، همواره در صدد این هستیم که نیازمندیهای مشتریان را در سریعترین و بهینهترین حالت ممکن توسعه و در اختیارشان قرار دهیم. سازمان شما باید بتواند بهترین نتایج را کسب کند و راهکارهای ما، بازوی قدرتمندی برای فعالیتهای شما باشند.
درونیشدن نگرش Agile در برید:
همانطور که در مانیفست Agile بهوضوح و صراحت اعلام شده است، در شرکت برید:
- افراد و تعاملات آنها، مهمتر از فرآیندها و ابزارها هستند.
- صحیح کارکردنِ نرمافزار، مهمتر از مستندات عریضوطویل است.
- مشارکت و همراهی با مشتریان، مهمتر از مفاد قرارداد همکاری است.
- پاسخگویی و انعطاف در برابر تغییرات، مهمتر از پیروی از یک طرح ثابت است.
استفاده از چارچوب (Scrum Framework) در برید:
اسکرام که چارچوبی مبتنی بر نگرش Agile است، برای مدیریت فعالیت تیمهای داخلی شرکت برید
بهکار گرفته میشود. بهکارگیری روشهای اسکرام برخلاف روشهای قدیمی و آبشاری، منجر به
سریعترشدن چرخۀ دریافت بازخورد از مشتریان میشود و به ما این امکان را میدهد که بتوانیم
منطبق بر نیازمندیهای مشتریان عمل کنیم.
متدولوژی Scrum باعث شده است که ما بتوانیم اولویتبندی بهتری بین نیازمندیهای مشتریان خود
داشته باشیم و هر دوهفته یکبار، نسخهای جدید از محصول پرگار را به آنها تحویل بدهیم.
ما مشتریان را برای رسیدن به نتیجه، منتظر نمیگذاریم و با پیروی از فریمورک CI/CD در هر سال، 26 نسخه از محصول پرگار را به مشتریان خود ارائه میدهیم
تست واحد (Unit Test):
Unit Testing نوعی تست نرمافزاری است که در آن یک تکۀ کوچک از کدهای نوشتهشده، تست میشود تا ببینیم که آیا کد مطابق انتظار ما عمل میکند یا نه. هدف نهایی این تست در توسعه پرگار، این است که رفع اشکالهای نرمافزار هزینۀ کمتری برای برید یا تیم توسعهدهندۀ نرمافزار بههمراه داشته باشد و با انجام این تست، اشکالات، باگها و خطاها در سطح کد و در اوایل چرخۀ توسعه شناسایی میشوند و طبیعتاً زودتر اصلاح میشوند و تبعات کمتری ایجاد خواهند کرد.
تست یکپارچگی (Integration Test):
Integration Testing همانطور که از نام آن پیداست، برای بررسی یکپارچگی بین دو یا چند واحد نرمافزاری یا ماژول انجام میشود و وظیفۀ آن این است که ببیند آیا کدها مطابق انتظار ما عمل میکنند یا نه. درمقایسه با تست واحد،برای انجام این تست با گستردگیها و پیچیدگیهای بیشتری مواجه خواهید بود. تست یکپارچگی در واحد توسعه پرگار بعد از تست واحد صورت میگیرد که اگر مشکلی در یک واحد وجود دارد که منجر به عدم یکپارچگی میشود، قبلاً رفع شده باشد. درواقع با این تست، مطمئن خواهیم شد که نرمافزارها و ماژولای مختلف بدون اینکه قرار باشد به عملکرد یکدیگر آسیبی وارد کنند، کار خواهند کرد.
4-امنیت Security
ما در برید، تهدیدات امنیتی را بهصورت مداوم رصد و تحلیل میکنیم و امنیت را بهعنوان اصل اساسی فعالیتهای خود، در اولویت قرار میدهیم؛ بیش از ۸۰ سرفصل از استانداردهای OWASP را در تمامی سامانههای خود رعایت نموده و از اقدامات امنیتی قوی از جمله رمزگذاری و امضای دیجیتال پشتیبانی میکنیم.
برای استفاده از محصولات پرگار، نیاز به تغییر تنظیمات امنیتی مرورگر خود نخواهید داشت؛
پرگار بهگونهای طراحی شده است که همزمان با اولویتدادن به امنیت مشتریان، هزینۀ استقرار محصول را نیز پایین نگه دارد تا نیازی به تغییرات گسترده برای استفاده از محصولات پرگار وجود نداشته باشد.
استانداردهای OWASP:
سیستم جامع پرگار، کاملاً بر اساس استاندارد OWASP طراحی و پیادهسازی شده است. بیش از ۸۰ استانداردی که رعایت آن منجر به بهبود سطح امنیت در شاخصهای امنیتی متفاوت، از جمله: طراحی، معماری، کدنویسیها و تستهای نفوذ میشود و علاوهبر تمام مزایایی که از آنها نام برده شد، رعایت این استاندارد به یکپارچگی محصول پرگار نیز کمک شایانی کرده است.
:PKE
رمزنگاری کلید عمومی در پرگار، روشی برای رمزگذاری یا امضای دادهها است. در این روش، محتوا بهگونهای رمزنگاری میشود که کلید عمومی(که برای همه قابل مشاهده است) فقط بهوسیلۀ کلید خصوصیِ مخصوصی بتواند باز شود و از این طریق اطمینان حاصل خواهد شد که داده یا موجودیتی که رمزنگاری شده است، بهصورتی امن به مقصد خواهد رسید. استفاده از این فناوری علاوه بر اینکه موجب میشود حفظ امنیت دادهها در سیستم سادهتر باشد، در مقایسه با سایر روشهای رمزنگاری و رمزگذاری نیز به تعداد کلیدهای مخفی کمتری نیاز دارد.
امضای دیجیتال:
سیستم پرگار از امضای دیجیتال (Digital Signature) مطابق با استانداردهای جهانی پشتیبانی میکند؛ پرگار دارای گواهینامه ارزیابی "نرمافزار مجهز به قابلیت بهکارگیری زیرساخت عمومی (PKE)" از مرکز دولتی صدور گواهی الکترونیکی ریشه میباشد و مطابق با آن، محصول پرگار دارای تاییدیه در حوزۀ بهکارگیری گواهی الکترونیکی جهت امضای دیجیتال اسناد است.
:Encryption
رمزگذاری فایلهای PDF میتواند مانع دسترسی غیرمجاز به فایلها شود و برای کپی، بهروزرسانی و چاپ اسناد PDF نیز محدودیت ایجاد کند. با رمزگذاری فایلهای PDF تا حد بسیار زیادی میتوان از آسیبرسیدن به اطلاعات ذخیره شده در این فایلها جلوگیری کرد.