داده و گزارش

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

007-business-report

موتور گزارش‌ساز

زی فریم برای تولید گزارش از ابزار های همچون استیمول سافت ، گزارش ساز جسپر و همچنین اکسل ماکروسافت استفاده می کند.
استفاده از این ابزار ها به توسعه دهنگان این امکان را می دهد که بتوانند به سادگی و سهولت گزارشات مورد نظر خود را توسعه دهند و همچنین قابلیت به کارگیری گزارشات تولید شده با این ابزار ها را برای به کارگیری مجدد در بستر زی فریم را داشته باشند ، برای مثال اگر شما در پروژه ای از این ابزار ها استفاده کرده باشید می توانید به سادگی دوباره از این فایل های گزارشی در بستر زی فریم استفاده نماید .
زی فریم برای تولید گزارش این سازگاری را دارد که برنامه نویسان می توانند از ابزار های تولید شده توسط شرکت های تولید کننده محصولات گزارش ساز مانند استیمول سافت ریپورت سویت stimulsoft report suite و jasper studio برای تولید گزارش کمک بگیرد .  

004-checklist

اعتبار‌سنجی داده‌ها

اعتبار سنجی داده به معنی بررسی داده های ورودی جهت صحت نوع و مقدار آن ها ، قبل از انجام هر کاری به روی آنهاست .
”داده های ورودی” معمولا به داده های ورودی از فرم ها گفته می شود که توسط کاربران ارسال شده اند. اما می توانند از منابع دیگری مانند خوراک RSS ، درخواست های AJAX یا سایر فراخوانی های API نیز باشند .
چند نمونه از اعتبار سنجی را در زیر به شما معرفی می کنیم :

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

در زی فریم این امکان وجود دارد که داده های ورودی از تمامی درگاه ها قابلیت اعتبار سنجی داشته باشند ، این امکان سازکار با مفاهیم regular expression می باشد .
این قابلیت در کنترل های فرم ها و همچنین ورودی سرویس ها موجود می باشد .

003-arrow

ورودی و خروجی

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

006-cloud-server

وب سرویس

زی فریم به عنوان یک پلتفرم که توانایی توسعه نرم افزار را در لایه های مختلف به توسعه دهنگان می دهد این قابلیت را دارد که بتوان با آن وب سرویس تولید نمود و همچنین از وب سرویس های بیرونی استفاده کرد.
در زی فریم به سادگی می توان وب سرویس های مبتنی بر REST و SOAP را استخراج نمود و همچنین قابلیت به کارگیری از سرویس های REST و SOAP موجود می باشد.

005-web-services

پشتیبانی و توسعه‌ داده

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

موبایل

یکی از مهمترین دغدغه های تولید کنندگان نرم افزار های تحت موبایل لایه زیر ساخت و بک اند میباشد. با استفاده از زی فریم میتوان در لایه مدیریت سرویس ، موارد مورد نیاز را پیاده سازی کرد و همچنین کد های رابط را در راستای به کارگیری سرویس های تولید شده از زی فریم گرفت (زی فریم کد های واسط برای استفاده از سرویس را خودش تولید میکند) و از این کد ها در برنامه های مورد نظر استفاده نمود.

006-cloud-server

وب سرویس

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

002-layer

Service Code Exposer

تولید کد های واسط برای استفاده از سرویس های موجود بر اساس ساختار ورودی و خروجی سرویس بخشی از توانمندی زی فریم میباشد که سازکار با محیط های توسعه همچون react , angular و VUE است.

رابط کاربری

زی فریم این قابلیت را دارد که تمپلیت های مورد نیاز در فریم ورک های تولید نرم افزار موبایل تولید نماید و کاربر با استفاده از این تمپلیت های زمان کمتری را صرف ساخت نرم افزار کند .

001-input

فرم ساز موتور اجرایی

ساخت فرم همیشه یکی از بزرگترین چالش های موجود در تولید سامانه های نرم افزاری میباشد. زی فریم این قابلیت را دارد که بتوان با آن فرم های پیچیده ، فرم های تو در تو ، فرم های جست و جو ، فرم های Master Child ، فرم های قابل تکرار و فرم های پایه گزارش را تولید نمود.

002-layout

توسعه روکش فرم ها

بنا به در خواست کاربر چیدمان کنترل ها در فرم و ساختار فرم ها میبایست تغییر پذیر باشد. در زی فریم این قابلیت وجود دارد که فرم های تولید شده توسط ماشین به صورت HTML و CSS در اختیار طراح قرار بگیرد و طراح نرم افزار به هر صورت که تمایل دارد تغییر دهد. در نتیجه زیبایی فرم های میتواند تا هر سطح از انتظار کاربر تغییر پذیر باشد .

003-controller

کنترل پیشرفته

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

004-connection

موتور اجرایی

مهمترین بخش زی فریم موتور اجرایی آن میباشد که تمامی کار های اعم از ساخت فرم ، ساخت سرویس ، مدیریت دسترسی به فرم ها ، منو ها ، اطلاعات ، ایجاد و بارگزاری گزارش را این موتور اجرایی بر عهده دارد.
موتور اجرایی زی فریم در تکنولوژی های همچون جاوا ، دات نت ماکروسافت PHP ، GOLang موجود میباشد که بر اساس نیاز کاربران در اختیارشان قرار میگیرد .

امنیت

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

001-warning

xss prevention

برنامه‌های کاربردی از نظر پیچیدگی اسکریپت‌ نویسی متقابل می‌توانند چالش برانگیز باشند. بنابراین، ایمن‌سازی آن‌ها در برابر حملات اسکریپت‌ نویسی متقابل (XSS) دشوار است. اما با اقدامات پیشگیرانه مناسب، می‌توانید برنامه وب خود را از این حملات محافظت کنید.

  • باید ورودی دریافت شده از سمت کاربر را فیلتر کنید.
  • در خروجی، داده‌های خروجی را کدگذاری کنید تا با پیاده‌سازی ترکیبی از کدگذاری HTML ، URL ، جاوا اسکریپت و CSS ، آن‌ها را از فعالیت بازدارید.
  • با استفاده از ابزارهای اسکنر آسیب پذیری وب‌، می‌توانید برنامه وب خود را برای آسیب‌پذیری‌های احتمالی XSS اسکن کنید.
  • پیاده‌سازی header مناسب و مسدود کردن XSS در پاسخ‌های HTTP که انتظار نمی‌رود شامل HTML یا JavaScript باشد و مطمئن شوید که مرورگر ها پاسخ مورد نظر را اجرا می‌کنند.
  • همچنین می‌توانید سیاست امنیت محتوا (CSP: Content Security Policy) را برای مهار تأثیر مخرب هر گونه آسیب‌پذیری دیگر XSS پیاده‌سازی کنید.
    زی فریم تمامی موارد فوق را در درون خود دارد و کاربران و توسعه دهنگان دغدغه من باب موارد فوق را نخواهند داشت.
002-access-control

کنترل دسترسی

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

003-database

لایه دسترسی به بانک اطلاعاتی

سيستم بانک اطلاعاتی يا پايگاه داده (Data Base) به طور عمومی يک سيستم كامپيوتری نگهداری ركوردها می باشد. بانک اطلاعاتی را می توان به عنوان قفسه بايگانی الكترونيكی در نظر گرفت كه مخزنی برای فايل داده كامپيوتری است. كاربران سيستم می توانند عمليات گوناگونی را بر روی اين فايل ها انجام دهند، مانند:

  • افزودن فايل های جديد به بانک اطلاعاتی
  • افزودن داده ها به فايل های موجود
  • بازيابی داده ها از فايل های موجود
  • تغيير داده های فايل موجود
  • حذف داده ها از فايل موجود
  • حذف فايل هايی از بانک اطلاعاتی

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

دسترسی پذیری

یکی از ضرورات دستیابی به موفقیت پایدار در هر سازمانی، حفظ قابلیت دسترسی بالا به داده ها، در سطحی قابل قبول است.

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

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

003-system-integration

یکپارچه‌سازی با سایر سامانه‌های نرم‌افزاری

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

004-remote-control

پشتیبانی از راه دور

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

مانیتورینگ

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

005-alert-sign

مدیریت پیغام و خطا

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

Globalization

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

001-keyboard

قابلیت ترجمه به زبان های دیگر

قابلیت ترجمه به برنامه ها اجازه می دهد که به چند زبان، ترجمه شوند، بدون آن که نیاز باشد منطق نرم افزار داپلیکیت شود.

best tracker