مرکز پرسش و پاسخ
پرسشهای متداول زیفریم
پاسخ پرسشهای متداول درباره زیفریم، برگرفته از مستندات رسمی محصول. از جستجو برای یافتن سریع پاسخ خود استفاده کنید.
امنیت24 پرسش
امنیت در زیفریم چگونه پیادهسازی میشود؟
زیفریم دارای سیستم امنیتی جامع شامل اهراز هویت، مدیریت دسترسی به فرمها، سرویسها و گزارشات، و مکانیزمهای لاگگیری برای نظارت بر رفتار سیستم میباشد.
جدول Sys_Accessibility_Level1 در زی فریم چه کاربردی دارد؟
این جدول برای مدیریت دسترسی گروههای کاری به فرمها استفاده میشود.
کاربرد جدول Sys_Accessibility_Level2 چیست؟
این جدول مدیریت دسترسی گروههای کاری به کنترلها را بر عهده دارد.
مباحث اصلی امنیت در زی فریم چیست؟
مباحث اصلی امنیت در زی فریم شامل احراز هویت (Authentication)، مجوز و سطح دسترسی (Authorization)، مدیریت توکن (Token) و امنیت REST API میباشد. این سیستم با بهکارگیری استانداردهای امنیتی مبتنی بر ارتباطات شبکه، دیوار آتش و تنظیمات شبکه، امنیت جامعی را ارائه میدهد.
تفاوت احراز هویت و مجوز در زی فریم چیست؟
احراز هویت (Authentication) در زی فریم بررسی میکند که چه کسی قرار است از سرویس استفاده کند (بررسی نام کاربری، رمز عبور یا اعتبار توکن)، در حالی که مجوز (Authorization) مشخص میکند که کاربر تأیید شده به کدام قسمتهای سرویس دسترسی دارد.
زی فریم چگونه از REST API پشتیبانی میکند؟
زی فریم هم قابلیت تولید سرویسهای REST API را دارد و هم میتواند از آنها استفاده کند. این سیستم از پروتکلهای استاندارد مانند HTTP استفاده میکند و امکانات امنیتی جامعی برای مدیریت احراز هویت و مجوز در سرویسهای REST ارائه میدهد.
آیا زی فریم از سرویسهای SOAP پشتیبانی میکند؟
زی فریم تنها میتواند از سرویسهای SOAP استفاده کند (مصرف کننده باشد) ولی قابلیت تولید سرویسهای SOAP را ندارد. برای تولید سرویسهای SOAP، کاربران باید از ابزارهای دیگر استفاده نمایند.
چه استانداردهای امنیتی در زی فریم پیادهسازی شده است؟
زی فریم از استانداردهای امنیتی مبتنی بر توکن (Token-based security)، پروتکلهای امنیتی شبکه، مدیریت احراز هویت و مجوز، و مکانیزمهای امنیتی REST API استفاده میکند تا امنیت جامعی را برای سرویسها و دادهها فراهم نماید.
چگونه میتوان از Redis در زی فریم استفاده کرد؟
در زی فریم میتوان از Redis به عنوان کش و ذخیرهسازی موقت دادهها برای افزایش سرعت تعاملات بین کاربران و سرور استفاده نمود. این امر به ویژه در پردازش سرویسهای Stateless و مدیریت توکنها بسیار مفید است.
نقش CSRF Token در زی فریم چیست؟
در زی فریم از CSRF Token برای جلوگیری از حملات جعل درخواست بین سایتی استفاده میشود. این توکن در پردازش سرویسها و درخواستهای ارسالی از فرمها به کار میرود تا از معتبر بودن منبع درخواست اطمینان حاصل شود.
تفاوت مدل Stateful و Stateless در زی فریم چیست؟
در مدل Stateful زی فریم، وضعیت و اطلاعات جلسه کاربر در سرور ذخیره میشود و نیاز به نگهداری state دارد. در مدل Stateless، هر درخواست مستقل است و تمام اطلاعات مورد نیاز در خود درخواست (مانند توکن) وجود دارد که باعث مقیاسپذیری بهتر میشود.
آیا زی فریم نمونه کد برای پیادهسازی مکانیزمهای امنیتی ارائه میدهد؟
بله، زی فریم نمونه کدها و نمونههای آماده (Samples) برای پیادهسازی مکانیزمهای امنیتی از جمله استفاده از توکن، مدیریت احراز هویت و پیادهسازی مدلهای Stateful و Stateless در اختیار توسعهدهندگان قرار میدهد.
چه نکات امنیتی برای تعریف Application باید رعایت شود؟
نکات امنیتی شامل: استفاده از حالت mixed mode در SQL Server، استفاده از نام کاربری و رمز عبور اجباری برای دسترسی به بانک اطلاعاتی، و پیکربندی صحیح Connection String میباشد.
چگونه میتوان به فایل zf.configdata دسترسی پیدا کرد؟
برای دسترسی به فایل zf.configdata، باید در درختواره پروژه به مسیر ZFAPP >> Web Pages >> zf.configdata مراجعه کرد. این فایل در این مسیر قرار دارد و میتوان آن را برای اعمال تغییرات لازم باز کرد.
تنظیمات امنیتی در فایل zf.configdata چگونه است؟
تنظیمات امنیتی شامل LogDisable (غیرفعال کردن لاگ)، zframeotp (تنظیمات OTP)، csrfservertokenname و csrfclienttokenname (تنظیمات توکن CSRF) میشود. توصیه میشود این مقادیر بدون دانش امنیتی تغییر نکنند.
جدول Sys_Accessibility_Level1 در زی فریم چیست و چه کاربردی دارد؟
جدول Sys_Accessibility_Level1 برای مدیریت دسترسی سطح اول (دسترسی به فرمها) استفاده میشود. این جدول تعیین میکند که هر گروه کاربری (Sys_UserGroup_ID) به چه فرمی (Sys_Object_ID) دسترسی دارد و چه عملیاتی (مشاهده، ویرایش، حذف، درج، گزارشگیری، خروجی) میتواند انجام دهد. فیلدهای CanView، CanEdit، CanDelete، CanInsert، CanReport، CanExport سطح دسترسی را مشخص میکنند.
جدول Sys_Accessibility_Level2 چه نقشی در زی فریم ایفا میکند؟
جدول Sys_Accessibility_Level2 برای مدیریت دسترسی سطح دوم (دسترسی به کنترلهای داخل فرم) استفاده میشود. این جدول با استفاده از Sys_Accessibility_Level1_ID به دسترسی سطح اول و با Sys_Object_Control_ID به کنترل خاصی در فرم مرتبط میشود و تعیین میکند که کاربر میتواند کنترل را مشاهده (CanView) یا ویرایش (CanEdit) کند.
چگونه زی فریم دسترسیهای سطح اول و دوم را مدیریت میکند؟
زی فریم با استفاده از دو جدول Sys_Accessibility_Level1 و Sys_Accessibility_Level2 یک سیستم دسترسی دو سطحی ایجاد میکند. سطح اول دسترسی به فرمها و سطح دوم دسترسی به کنترلهای داخل فرمها را مدیریت میکند. این ساختار امکان کنترل دقیق دسترسیها را در سطح بسیار granular فراهم میکند.
تفاوت بین Sys_Accessibility_Level1 و Sys_Accessibility_Level2 چیست؟
Sys_Accessibility_Level1 دسترسی در سطح فرم را مدیریت میکند (آیا کاربر میتواند فرم را ببیند، ویرایش کند، حذف کند، etc.) در حالی که Sys_Accessibility_Level2 دسترسی در سطح کنترلهای داخل فرم را مدیریت میکند (آیا کاربر میتواند یک کنترل خاص را ببیند یا ویرایش کند).
چرا زی فریم از یک سیستم دسترسی دو سطحی استفاده میکند؟
زی فریم از سیستم دسترسی دو سطحی استفاده میکند تا انعطافپذیری و دقت بیشتری در مدیریت دسترسیها ارائه دهد. این امکان وجود دارد که کاربر به یک فرم دسترسی داشته باشد اما به کنترلهای خاص داخل آن فرم دسترسی نداشته باشد، که برای امنیت و کاربردپذیری بسیار مهم است.
پارامترهای zframeotp، csrfservertokenname و csrfclienttokenname برای چه منظوری استفاده میشوند و آیا تغییر آنها توصیه میشود؟
این موارد برای پیکربندی موارد امنیتی زی فریم استفاده میشوند که پیشنهاد میشود تغییری در این مقادیر صورت نگیرد، زیرا برای توصیف هر کدام نیاز به دانش امنیت نرم افزار و موارد دیگر است.
چگونه میتوان به جداول موجود در دیتابیس در زی فریم دسترسی پیدا کرد؟
برای دسترسی به جداول موجود در دیتابیس بر روی گزینه DataBase Explorer از قسمت نوار ابزار نرم افزار کلیک کنید.
چگونه میتوان دسترسیهای کاربران به فرم را سفارشیسازی کرد؟
با انتخاب یک گروه کاری و کلیک بر روی دکمه Grant All، سامانه اجازه دسترسی به تمام گزینههای فرم را میدهد. با Revoke All دسترسی تمام قسمتها از آن گروه کاری گرفته میشود. برای سفارشیسازی، گزینههای مورد نظر را تیک زده و سپس بر روی دکمه Custom کلیک کنید.
خصوصیت Authentication در زی فریم چه زمانی باید true باشد؟
زمانی که این خصوصیت true باشد، فرم جاری و انتخاب شده در دسته فرمهایی قرار خواهد گرفت که پردازشهای امنیتی باید بر روی آن اعمال گردد. در غیر این صورت، موتور اجرای زی فریم پردازشهای امنیتی را بر روی فرم جاری اجرا نخواهد کرد.
فرمها و کنترلها87 پرسش
کاربرد جدول Sys_CRUD_Type چیست؟
این جدول انواع کوئریهای موجود در زی فریم را مدیریت میکند.
کاربرد جدول Sys_DataBase_Type چیست؟
این جدول انواع بانکهای اطلاعاتی قابل پشتیبانی توسط زی فریم را مدیریت میکند.
کاربرد جدول Sys_Grid_Profile چیست؟
این جدول پروفایل ساختار گرید در فرمها توسط کاربر استفادهکننده را مدیریت میکند.
هدف از جدول Sys_Package چیست؟
این جدول پکیجهای مورد استفاده هنگام توسعه نرمافزار را مدیریت میکند.
هدف از جدول Sys_Report_DataSet چیست؟
این جدول ساختارهای اطلاعاتی گزارشات را نگهداری میکند.
کاربرد جدول Sys_Report_DataSet_Object چیست؟
این جدول موجودیتها در ساختار گزارش را مدیریت میکند.
جدول Sys_WorkFlow چه اطلاعاتی ذخیره میکند؟
این جدول گردش کارهای سیستم را نگهداری میکند.
هدف از جدول Sys_WorkflowForm چیست؟
این جدول فرمهای موجود در گردش کارها و منوهای نرمافزار را مدیریت میکند.
کاربرد جدول Sys_WorkflowUserGroup چیست؟
این جدول گروههای کاری مربوط به گردش کارها را مدیریت میکند.
نقش جدول VersionContent در ZIDE چیست؟
جدول VersionContent اطلاعات مربوط به ورژن کنترل در تمامی پروژهها و زیرسیستمها را مدیریت میکند.
انواع کنترلها در زی فریم چگونه مدیریت میشوند؟
انواع کنترلها از طریق جدول SYS_CONTROL_TYPE مدیریت میشوند که شامل نام نوع کنترل (CONTROL_TYPE_NAME)، مخفف (ABBREVIATION)، تگهای کنترل (CONTROLTAG, CHILDTAG) و مشخصات نمایش (ISFULLROW) میباشد.
عملیات CRUD در زی فریم چگونه تعریف میشوند؟
عملیات CRUD (Create, Read, Update, Delete) از طریق جدول SYS_CRUD_TYPE تعریف و مدیریت میشوند. این جدول انواع عملیات پایهای روی دادهها را با نامهای مشخص (NAME) نگهداری میکند.
فرم تعریف اپلیکیشن زی فریم از چه قسمتهایی تشکیل شده است؟
فرم تعریف اپلیکیشن از قسمتهای مختلفی از جمله Application Name، Application Title، Active Application In System، Application Sort Order، Connection Pool Count، DB Username، DB Password، Database Schema Name، Database Type، JDBC Connection String، ADO.NET Connection String و Application URL تشکیل شده است.
Application Name در فرم تعریف اپلیکیشن برای چه منظوری استفاده میشود؟
Application Name برای وارد کردن نام دلخواه لاتین برای سیستم مورد نظر استفاده میشود.
Application Title در فرم تعریف اپلیکیشن چه کاربردی دارد؟
Application Title برای وارد کردن نام فارسی یا لاتین دلخواه برای سیستم جهت نمایش در خروجی نهایی استفاده میشود.
Connection Pool Count در فرم تعریف اپلیکیشن چه معنایی دارد و مقدار اولیه پیشنهادی آن چقدر است؟
Connection Pool Count بیانگر تعداد مسیرهای ارتباطی با بانک اطلاعاتی است که توسط این اپلیکیشن باید رزرو شود. برای شروع کار میتوان از عدد 5 استفاده کرد.
آیا وارد کردن ورودی برای Database Schema Name در مرحله تعریف اپلیکیشن ضروری است؟
خیر، در حال حاضر میتوان بدون دادن ورودی از گزینه Database Schema Name عبور کرد.
در فیلد Database Type کدام گزینه باید انتخاب شود؟
در فیلد Database Type، گزینه MSSQL Server را انتخاب کنید.
فیلد Application URL در فرم تعریف اپلیکیشن چه زمانی باید تکمیل شود؟
از آنجایی که در هنگام ساخت اپلیکیشن آدرس پنل مشخص نیست، در این مرحله به آن ورودی داده نمیشود تا زمانی که پیکربندی نرم افزار خروجی و محیط اجرایی صورت گیرد. این فیلد را میتوان بعدا با استفاده از گزینه Edit Application تکمیل کرد.
پس از تکمیل فرم ساخت اپلیکیشن، چه کاری باید انجام داد؟
پس از تکمیل فرم ساخت اپلیکیشن، باید بر روی دکمه Save کلیک کرد تا اپلیکیشن ساخته شود.
پارامتر DataBaseTypeID در فایل zf.configdata چه کاربردی دارد و چه عددی برای MSSQL Server باید وارد شود؟
در این قسمت باید عدد متناسب با بانک اطلاعاتی مورد نظر که موتور اجرایی زی فریم باید به آن وصل شود قرار گیرد. برای MSSQL Server، عدد 1 وارد میشود.
پارامتر FileDatabasePath در فایل zf.configdata چه کاربردی دارد؟
در این قسمت میتوان به مدیریت و تعیین آدرس پوشه سرشاخه برای ذخیره فایلهای ارسالی توسط کاربران (که در نرم افزار به آن نیاز است) پرداخت. همچنین میتوان فایلها را داخل بانک اطلاعاتی نیز ذخیره نمود.
انواع فرمهای موجود در زی فریم کدامند؟
در زی فریم امکان استفاده از مدلهای متنوعی از فرم شامل GridForm، SearchForm، Report، Binding، StaticForm، RepeatForm و Tab Containers وجود دارد.
زی فریم از چه قابلیتی برای استفاده از یک فرم درون فرم دیگر برخوردار است؟
زی فریم از قابلیت استفاده از یک فرم درون فرمی دیگر نیز برخوردار است که به آن حالت تو در تو و یا nested گویند و تنها برای برخی از انواع فرم در نظر گرفته شده است.
GridForm در زی فریم چه نوع فرمی است و ویژگیهای آن کدامند؟
GridForm به عنوان فرم پیش فرض در زی فریم استفاده شده است. زمانی که فرمهای Grid بارگذاری میشوند، سطرهای اطلاعاتی موجود در جدول مربوط به فرم (که اطلاعات آن قابل ویرایش هستند) به حالت Grid نشان داده خواهند شد. هر فرم Grid دارای یک نوار ابزار است.
SearchForm در زی فریم برای چه منظوری طراحی شده است؟
SearchForm در زی فریم برای ساخت فرمهایی به منظور جستجوی اطلاعات طراحی شده است.
فرم Report در زی فریم چه کمکی به توسعهدهنده میکند؟
فرم Report به توسعهدهنده برای ساخت فرمهایی که نیاز به دریافت اطلاعاتی به عنوان پارامتر برای پردازش گزارش دارند، کمک خواهد کرد.
فرم Binding در زی فریم برای چه ساختاری طراحی شده است و در چه حالتی کاربرد دارد؟
فرمهای Binding به منظور ساخت ساختاری طراحی شدهاند که کاربر اطلاعات اولیه را وارد نموده و سپس به ازای این اطلاعات، چندین رکورد دیگر ثبت کند (مانند مشخصات تحصیلی در فرم استخدام). این نوع از فرم فقط در حالت nested کاربرد دارد.
StaticForm در زی فریم چه زمانی استفاده میشود؟
زمانی که در فرم مورد نظر، نیازی به نوار ابزار پیشفرض زی فریم و همچنین نیازی به نمایش Grid برای رکوردهای موجود نباشد، میتوان از مدل StaticForm استفاده نمود.
RepeatForm در زی فریم برای چه منظوری فراهم شده است و در چه حالتی کاربرد دارد؟
در زی فریم، امکان توسعه ساختاری که نیاز به نمایش لیستی از اطلاعات به صورت پشت سر هم (مانند لیست نمونه سوالات امتحانی) دارد، توسط مدل RepeatForm فراهم شده است. این مدل از فرم نیز تنها در حالت nested کاربرد دارد.
Tab Containers در زی فریم برای ساخت چه نوع فرمهایی استفاده میشود؟
اگر در برنامهای نیاز به نمایش چندین فرم داخل Tab یا سربرگهای متفاوت باشد، برای ساخت اینگونه فرمها، از مدل Tab Container استفاده خواهد شد. این حالت از فرم نیز یک مدل فرم تو در تو است.
ساخت فرم در زی فریم به چند روش انجام میشود؟
ساخت فرم در زی فریم به دو شیوه انجام میگیرد: 1) با استفاده از جدول دیتابیس (New Form by Table) و 2) بدون استفاده از جدول دیتابیس (New Form by Design).
در روش ساخت فرم با استفاده از جدول دیتابیس، چه پیشنیازی لازم است و چه اتفاقی میافتد؟
در روش اول ابتدا باید یک جدول درون دیتابیس ساخته شده باشد تا فرم مورد نظر بر اساس آن ساخته شود. در این حالت تمام ستونهای جدول به عنوان فیلد (کنترل) درون فرم ساخته میشود.
در روش ساخت فرم بدون استفاده از جدول دیتابیس، چه ویژگیای وجود دارد؟
در روش دوم بدون آن که نیازی به وجود یک جدول درون دیتابیس باشد، فرم درون زی فریم ساخته شده اما هیچ فیلدی درون این فرم وجود نخواهد داشت و باید فیلد (کنترل)ها را به صورت دستی به آن اضافه نمود.
چگونه میتوان لیست جداول (Table) و Views را در پنجره DataBase Explorer مشاهده کرد؟
در پنجره DataBase Explorer کلیک راست کرده و بر روی Reload DataBase Schema کلیک کنید تا این پنجره بروزرسانی شود و جداول (Table) و Views دیتابیس نمایش داده شود.
چگونه میتوان یک فرم را بر اساس یک جدول موجود در دیتابیس ایجاد کرد؟
از نوار ابزار بالا بر روی گزینه New Form By Table کلیک کنید تا پنجره Create Form With Table نمایش داده شود. سپس جدول (Table) مورد نظر خود را از پنجره DataBase Explorer انتخاب کرده و بر روی گزینه Create Form کلیک کنید.
چگونه میتوان تمام فرمهای ساخته شده را در زی فریم مشاهده کرد؟
برای مشاهده تمام فرمهای ساخته شده از قسمت نوار ابزار نرم افزار، بر روی دکمه Form List کلیک کنید تا پنجره Forms باز شود.
چگونه میتوان یک فرم را بدون استفاده از جدول دیتابیس ساخت؟
برای ساخت فرم بدون استفاده از جدول دیتابیس کافیست بر روی دکمه New Form By Design کلیک کنید و در پنجره Create New Form یک نام دلخواه برای فرم خود در نظر بگیرید.
چه اتفاقی میافتد اگر فرم بدون استفاده از جدول دیتابیس ساخته شود؟
اگر فرم بر اساس یک جدول ساخته نشده باشد، هیچ گونه کنترلی نیز درون آن وجود ندارد، به عبارت دیگر یک فرم خالی است.
اجزای تشکیل دهنده فرم در زی فریم کدامند؟
اجزای تشکیل دهنده فرم در زی فریم عبارتند از: کنترلهای فرم، نوار ابزار فرم، مدیریت کوئریهای بانک اطلاعاتی مربوط به فرم، فرمهای فرزند، مدل HTML فرم جهت طراحی ظاهر آن، خروجی گرفتن برای پلتفرم VUE JS، فرایندهای مربوط به اطلاعات، همکاری با سرویسهای خارجی، مدیریت جاوا اسکریپت مربوط به فرم، مدیریت دسترسیها به فرم، مشاهده خروجی و استخراج کد سفارشی و پیکربندی فرم با زبان جاوا.
در بخش Controls فرم در زی فریم، چه نوع کنترلهایی برای سفارشیسازی فرم وجود دارد؟
در زی فریم کنترلهای متنوعی مانند TextBox، RadioButton و CheckBox، Image، DataCombo و ... برای سفارشیسازی یک فرم وجود دارد.
چگونه میتوان نوار ابزار فرمهای Grid را در زی فریم سفارشیسازی کرد؟
برای سفارشیسازی نوار ابزار فرمهای Grid، ابتدا باید به قسمت Button Rule مراجعه و سپس دکمه مورد نظر در منوی فرم را حذف و یا اضافه نمود.
بخش Action Query در زی فریم چه کاربردی دارد؟
یکی از مهمترین اجزای زی فریم قسمت مدیریت Queryهای فرم است. در این قسمت میتوان کوئریهای ثبت، ویرایش و حذف اطلاعات در یک فرم را مدیریت نمود.
چگونه میتوان کدهای مربوط به Insert, Update, Delete را در Action Query به صورت خودکار ایجاد کرد؟
در این قسمت دکمهای به شکل قرار داده شده است که با استفاده از آن سیستم به صورت خودکار کدهای مربوط به Insert, Update, Delete را مینویسد. کافیست به هر یک از تبهای مربوط به ثبت، ویرایش و حذف رفته و بر دکمه کلیک کنید.
چه زمانی باید خصوصیت CRUD_Mode فرمها در حالت زی فریم قرار داده شود؟
اگر میخواهید از امکان جهت نوشتن کدهای CRUD به صورت خودکار استفاده کنید، باید خصوصیت CRUD_Mode فرمها در حالت زی فریم قرار داده شده باشد.
اگر بخواهیم برای ثبت، ویرایش و حذف اطلاعات از Procedure استفاده کنیم، تنظیمات CRUD_Mode چگونه باید باشد؟
چنانچه بخواهید برای ثبت، ویرایش و حذف اطلاعات از Procedure استفاده کنید باید تنظیمات مربوط به CRUD_Mode در حالت Manual قرار داده شود.
پارامترهای ورودی در کدهای CRUD خودکار زی فریم چه چیزی را نمایانگر هستند؟
برای مقادیر ورودی از تعدادی پارامتر استفاده شده است که هر کدام از آنها نمایانگر مقدار یک کنترل بر روی فرم است (البته میتوان از مقادیر ثابت نیز استفاده نمود).
Child Form در زی فریم چه قابلیتی را فراهم میکند؟
Child Form به توسعهدهنده امکان میدهد تا فرمهای فرزند را برای مدیریت بخشهای مختلف یک رکورد اصلی ایجاد کند، به طوری که با انتخاب رکورد اصلی، دکمههایی برای دسترسی به فرمهای فرزند نمایش داده شود.
برای ساخت Child Form، چه اطلاعاتی باید وارد شود؟
برای ساخت Child Form باید بر روی دکمه New کلیک نموده و در فیلد Child Form Name نامی لاتین و در قسمت Caption عنوانی به زبان بهرهبرداران نرم افزار درج نمود. در قسمت Reference Form باید فرم مقصد و از لیست Key Name، فیلد مورد استفاده برای ارتباط انتخاب شود. در قسمت Load Query نیز باید کدی درج شود.
Load Query در قسمت Child Form باید به چه چیزی ختم شود؟
این Query حتما باید به یک مساوی ختم شود تا زی فریم بتواند برای تکمیل مقدار Query، از مقدار موجود در کنترلی که به عنوان Key Name انتخاب شده است، استفاده کند.
چه نکته مهمی در ساختار فرم مقصد (فرم Child) باید رعایت شود؟
حتما در فرم مقصد (فرم Child) یک کنترل از جنس Hidden وجود داشته باشد تا سیستم اطلاعات مربوط به فیلدی که باعث ارتباط میشود را داخل این کنترل ذخیره کند.
Screen Design در زی فریم چه کاربردی دارد؟
در زی فریم یک موتور تولید رابط گرافیکی (UI) تحت عنوان Screen Design در نظر گرفته شده است تا امکان سفارشیسازی ظاهری فرمها را نیز در اختیار توسعهدهنده قرار دهد. همچنین میتوان یک رابط گرافیکی تولید و ذخیره سازی کرده و آن را به پروژه معرفی کرد.
Vue Design در زی فریم چه امکانی را برای برنامهنویسان Vue JS فراهم کرده است؟
زی فریم برای برنامهنویسان Vue JS امکانی فراهم کرده است تا بتوانند از قابلیتهای زی فریم در زمینه کدنویسی بک اند استفاده کنند. پس از ساخت فرمها میتوان آنها را به صورت کدهای HTML و جاوا اسکریپت دریافت کرد و سپس ظاهر فرم را به دلخواه خود با تکنولوژی Vue طراحی کرد.
Dynamic Rule در زی فریم چه قابلیتی را ارائه میدهد؟
با استفاده از قابلیتهای این بخش میتوان مدل فرم را بر اساس اطلاعات داخل فرم تغییر داد. توسعهدهنده با استفاده از تعریف شرایط متنوع از دادهها میتواند مدل خروجی را بر اساس سلیقه خود و موارد تعریف شده در کسب و کار تغییر دهد.
Service Collaboration در زی فریم برای چه منظوری تعبیه شده است؟
در بسیاری از موارد فرمهایی که ساخته میشوند بر اساس یک جدول درون دیتابیس عمل نمیکنند. این گونه فرمها مبتنی بر سرویس SOAP بوده و عملیات CRUD در آنها با استفاده از سرویس صورت میگیرد. برای مدیریت سرویس این گونه فرمها قسمتی تحت عنوان Service Collaboration در زی فریم تعبیه شده است.
چرا آشنایی با جاوا اسکریپت و JQuery برای توسعهدهندگان در زی فریم ضروری است؟
یکی از قسمتهای مهم در زی فریم داشتن قابلیت استفاده از جاوا اسکریپت و JQuery در فرمها است. برای تولید نرمافزارهای سفارشی و پیچیده با زی فریم، توسعهدهنده باید با توابع جاوا اسکریپت آشنایی کافی داشته باشد، زیرا بخش بسیار زیادی از نیازمندیها با دانش جاوا اسکریپت برطرف میشود.
در بخش Java Script Code چه نوع کدهایی را میتوان نوشت؟
در این پنجره میتوان به نوشتن کدهای جاوا اسکریپت همچون توابع، کلاس و هر آن چیزی که در جاوا اسکریپت به آن نیاز است، پرداخت. علاوه بر این، توسعهدهنده میتواند از توانمندیهای JQuery نیز در این قسمت بهرهمند شود.
بخش Edit Access در زی فریم چه کاربردی دارد؟
یکی از قسمتهای بسیار کاربردی در زی فریم، قسمت مدیریت دسترسی کاربران به فرمها است. در این قسمت میتوان برای هر گروه کاری مشخص کرد که به هر یک از کنترلها چه سطح از دسترسی (قابل مشاهده یا قابل ویرایش) داشته باشد.
Preview Form در زی فریم چه مزیتی دارد؟
با استفاده از گزینه Preview Form میتوان بدون کش کردن، تغییرات اعمال شده در فرم را مشاهده نمود. تنها کافیست مرورگر Firefox بر روی سیستم نصب شده باشد تا بتوان خروجی فرم را درون زی فریم به سرعت مشاهده نمود.
Java Rule در زی فریم برای چه منظوری تعبیه شده است؟
Java Rule تعبیه شده است تا توسعهدهنده بتواند نیازهای خود را تامین کند، زمانی که نیازمند یک فرایندی است که از پیش در زی فریم طراحی نشده است. با کپی کردن کدهای جاوا و ایجاد یک کلاس جاوا در NetBeans، میتوان فرایند دلخواه را کدنویسی کرد.
خصوصیت Concurrency Mode در فرمهای زی فریم چه کاری انجام میدهد؟
زمانی که فعال باشد، زی فریم به کاربران اجازه کارکردن به صورت همزمان بر روی دادهها و رکوردهای مربوط به این فرم را نمیدهد. به عبارتی، زمانی که یک رکورد توسط کاربر A جهت ویرایش انتخاب شود، کاربر B نمیتواند فرم مربوط به رکورد انتخابی توسط کاربر A را مشاهده نماید.
CRUD_Mode در فرمهای زی فریم به چه معناست؟
CRUD_Mode مدل اجرای ذخیرهسازی اطلاعات در بانک اطلاعاتی است. این مقدار به صورت پیش فرض برابر با ZFrameMode قرار داده شده است تا عملیات CRUD (درج، خواندن، ویرایش، حذف) در بانک اطلاعاتی صورت گیرد.
چه زمانی باید خصوصیت CRUD_Mode را برابر با Manual قرار داد؟
در مواردی که کاربر برای ذخیره اطلاعات در بانک اطلاعاتی بخواهد از رویههای دیتابیسی (Procedure) استفاده کند، باید این خصوصیت را برابر با مقدار Manual قرار دهد.
خصوصیت Form Data Source در زی فریم چه کاربردی دارد؟
این خصوصیت شامل یک کد SQL است که به صورت پیش فرض هنگام ساخته شدن یک فرم مقدار دهی میشود. این کد برای واکشی رکوردها و برای پرکردن اقلام اطلاعاتی فرم مورد نیاز است.
چگونه زی فریم با استفاده از Form Data Source اطلاعات یک رکورد را واکشی میکند؟
زمانی که زی فریم به اطلاعات یک رکورد نیاز دارد، با استفاده از این کد به صورت خودکار Query تکمیلی را ساخته و آن کد دستوری را به بانک اطلاعاتی منتقل میکند تا از اطلاعات خروجی برای مقداردهی کنترلهای داخل فرم استفاده کند. زی فریم Query را مشابه 'SELECT * FROM TABLE_NAME WHERE ID = ?' میسازد.
Grid Data Source در زی فریم چه کاربردی دارد؟
برای سفارشیسازی نحوه نمایش اطلاعات داخل Grid (نمایش ستونهای دلخواه جدول)، میتوان از خصوصیت Grid Data Source استفاده نمود. مقدار داخل آن یک کد Select از پایگاه داده است که اطلاعات را برای فرم مورد نظر واکشی میکند.
خصوصیت Caption در فرمهای زی فریم چه چیزی را مشخص میکند؟
این خصوصیت عنوان فرم را مشخص میکند. با این خصوصیت میتوان واژه یا عبارتی متعارف برای عنوان فرم تعیین نمود، به طوری که به کاربر نمایش داده شود.
خصوصیت CSSClass در زی فریم چه کاربردی دارد؟
در زی فریم میتوان برای فرمهایی که ساخته میشود استایل و نمایش گرافیکی مورد نظر کاربر را با استفاده از خصوصیت CSSClass ایجاد نمود.
خصوصیت Direction در فرمهای زی فریم چه چیزی را تعیین میکند؟
در ساخت یک فرم، یکی از مهمترین خصوصیات آن چیدمان ذاتی فرم است. کاربر میتواند با انتخاب بین گزینههای موجود (RightToLeft و LeftToRight)، چیدمان مورد نظر را شکل دهد.
خصوصیت Header Tag در زی فریم چه کمکی به توسعهدهنده میکند؟
خصوصیت Header Tag کمک میکند تا توسعهدهنده بتواند آدرس فایلهای CSS و یا جاوا اسکریپتهای دیگری به جز اقلام پیش فرض را در زمان Render گرفتن به قسمت Header فرم اضافه نماید.
خصوصیت Name در فرمهای زی فریم چه ویژگیهایی باید داشته باشد؟
به منظور دستهبندی راحتتر و مدیریت بهتر سامانه، نام فرم باید یک نام یگانه و منحصر به فرد انتخاب شود. زی فریم به صورت پیش فرض از عبارت frm به عنوان پیشوند در کنار نام جدول استفاده میکند تا یک نام منحصر به فرد برای فرم بسازد.
خصوصیت ShowMode در فرمهای Grid چه حالتهایی دارد و هر کدام چه ویژگیهایی دارند؟
اگر یک فرم از جنس Grid ساخته شده باشد، این فرم به دو صورت EDIT و Default میتواند در اختیار کاربر قرار گیرد. در حالت Edit، فرم داخل یک پنجره جدید باز میشود. در حالت Default، اقلام اطلاعاتی و فرم در کنار دیگر المانها (نوار ابزار و Grid) قابل مشاهده است.
خصوصیت Validator در زی فریم چه کاربردی دارد؟
خصوصیت Validator به توسعهدهنده اجازه میدهد تا پیش از ارسال اطلاعات توسط کاربر، صحت اطلاعات ارسالی او را از نظر ساختار بررسی کند (مانند اجباری بودن اقلام اطلاعاتی و صحت ساختار اطلاعات).
چه زمانی باید خصوصیت Grid Loading Mode را برابر با Dynamic قرار داد؟
زمانی که تعداد اطلاعات مربوط به یک فرم زیاد باشد، باید مقدار این خصوصیت برابر با Dynamic باشد و Grid Count Query نیز باید مقداردهی شود تا اطلاعات به صورت صفحه به صفحه بارگذاری شود.
چه زمانی میتوان خصوصیت Grid Loading Mode را Static قرار داد؟
زمانی که حجم اطلاعات کم باشد، مشکلی پیش نخواهد آمد و در نتیجه میتوان مقدار این خصوصیت را Static قرار داد.
خصوصیت Grid Count Query در زی فریم چه اطلاعاتی را باید شامل شود و چرا ضروری است؟
در مواقعی که حجم رکوردها بالاست و Grid Loading Mode در حالت Dynamic قرار دارد، نیاز به یک Query است تا تعیین شود که در کل چه تعداد رکورد وجود دارد و در نتیجه برای نمایش این اطلاعات به چند صفحه نیاز است. این کوئری صرفا یک عدد بر میگرداند که بیانگر تعداد رکوردهای موجود در جدول است.
خصوصیت Grid Select Text در زی فریم چه کاربردی دارد؟
با استفاده از خصوصیت Grid Select Text میتوان عدد یا واژهای داخل دکمه انتخاب رکورد در Grid قرار داد تا هنگام نمایش، این عدد یا واژه داخل دکمه به کاربر نشان داده شود. همچنین با قرار دادن مقدار null میتوان این دکمه را حذف کرد.
خصوصیت Grid Session Access در زی فریم چه کاری انجام میدهد؟
با استفاده از این خصوصیت میتوان مقداری را که به عنوان کلید در فرم وجود دارد، به ازای هر کلیک و انتخابی که بر روی Grid انجام میگیرد، در داخل Session با عنوان ذکر شده در این خصوصیت ذخیره نمود.
خصوصیت CacheKey در زی فریم چه کاربردی دارد؟
کش کردن اطلاعات در داخل حافظه Application Server، یکی از مهمترین کارهایی است که زی فریم قادر به انجام آن است. زمانی که این خصوصیت مقدار گیرد (نام یکتا بر اساس اقلام داده)، اگر دادهای داخل Cache تعریف شده وجود داشته باشد، دیگر سیستم به دنبال واکشی اطلاعات از بانک اطلاعاتی نخواهد رفت و از همین اطلاعات بارگذاری شده استفاده میکند.
خصوصیت Package در زی فریم چه کاربردی دارد و چگونه مدیریت میشود؟
این خصوصیت تنها در زمان توسعه نرم افزار کارایی داشته و برای دستهبندی فرمها استفاده میشود. برای مدیریت Packageها، کاربر میتواند از منوی Design >> Package Management اقدام کرده و یا از کلید میانبر Ctrl+ALT+Shift+P استفاده کند.
خصوصیت Form Pattern در زی فریم چه کاری انجام میدهد؟
با تغییر این خصوصیت میتوان مدل ارائه یا الگوی فرم را تغییر داد. مفهوم هر یک از گزینههای موجود در این خصوصیت در آموزش معرفی انواع فرم در زی فریم توضیح داده شده است.
خصوصیت Custom RuleID در زی فریم چه کاربردی دارد؟
امکان سفارشیسازی فرمها یکی از مهمترین توانمندیهای زی فریم است. کاربر با مقداردهی این خصوصیت (مقدار ورودی فقط باید از جنس عدد باشد) میتواند داخل موتور اجرای زی فریم رفتارها و رخدادهای این فرم را با کدهای جاوا مدیریت نماید.
خصوصیت Form ID در زی فریم چه ویژگی دارد؟
این خصوصیت قابلیت تغییر ندارد و تنها جهت اطلاع رسانی به کاربر است. مقدار عدد موجود در این خصوصیت یک کد منحصر به فرد و یکتا است که ساختار زی فریم به صورت خودکار به این فرم اختصاص میدهد.
خصوصیت Report Rule ID در زی فریم چه کاربردی دارد؟
این خصوصیت به کاربر اجازه میدهد تا کد فرم گزارش را با فرم جاری مرتبط سازد، زمانی که کاربر برای بعضی از فرمها گزارشهایی را طراحی میکند.
خصوصیت GUID در زی فریم چه ویژگیهایی دارد و در چه مواردی کاربرد دارد؟
مقدار این خصوصیت منحصر به فرد و یکتا بوده و توسط زی فریم به صورت خودکار به هر فرم اختصاص داده میشود. این مقدار در امر پشتیبانگیری و مدیریت دانش، Import / Export و استفاده از یک فرم در چند پروژه کاربرد دارد.
خصوصیت Version در زی فریم چه کاربردی دارد؟
این خصوصیت در قسمت مدیریت نسخه برنامه کاربرد دارد و توسعه دهندگان میتوانند فرمها را بر اساس نسخههای برنامه خود دستهبندی نمایند. نوع دادهای که در این خصوصیت قرار میگیرد، عدد است.
خصوصیت Workflow در زی فریم چه چیزی را نمایانگر است؟
این خصوصیت نمایانگر آن است که فرم جاری در کدام منو و دستهبندی قرار داده شده است.
پیکربندی و استقرار61 پرسش
جدول Sys_Application_Log چه اطلاعاتی ذخیره میکند؟
این جدول برای مدیریت لاگ کارکرد سامانه و ثبت لاگ کسبوکار استفاده میشود.
هدف از جدول Sys_Application_Word چیست؟
این جدول به عنوان دیکشنری برای کلمات، کنترلها، فرمها و تمامی اجزای نرمافزار عمل میکند.
مسئولان نصب و استقرار چگونه از زی فریم استفاده میکنند؟
مسئولان نصب و استقرار از ابزارهای部署 خودکار، اسکریپتهای نصب، مدیریت پیکربندی، monitoring tools و سیستم مدیریت نسخه در زی فریم برای استقرار آسان و مطمئن نرمافزار استفاده میکنند.
مسئولان استقرار چگونه از زی فریم استفاده میکنند؟
مسئولان استقرار از: ابزارهای部署 خودکار، اسکریپتهای نصب، مدیریت پیکربندی، مانیتورینگ و سیستم مدیریت نسخه در زی فریم استفاده میکنند.
نصب و استقرار پروژههای زی فریم چگونه انجام میشود؟
نصب و استقرار پروژههای زی فریم به سادگی انجام میشود. پروژهها شامل دو بخش هستند: بانک اطلاعاتی و فایلهای پروژه در اپلیکیشن سرور (workspace). مسئول نصب باید بانک اطلاعاتی MetaData و فایلهای workspace را بهروز نگه دارد. پروژهها قابلیت بارگذاری در Docker را نیز دارند.
فایل پیکرهبندی پروژه در زی فریم چه نقشی دارد؟
فایل پیکرهبندی پروژه که در مسیر اصلی پروژه قرار دارد، بر اساس نیازهای پروژه قابل تغییر بوده و تنظیمات اصلی سیستم را مدیریت میکند. جزئیات تکمیلی در سند نصب و راهاندازی ارائه شده است.
مراحل استقرار سامانه توسعه یافته با زی فریم چیست؟
برای استقرار سامانه توسعه یافته با زی فریم، ابتدا باید بانکهای اطلاعاتی کسبوکار و متادیتا راهاندازی شوند. سپس محیط اجرای پروژه (ورکاسپیس) که یک پروژه وباپلیکیشن جاوایی است، بر روی یک اپلیکیشن سرور جاوایی مستقر میشود. این پروژه میتواند به صورت exploded یا WAR فایل باشد.
چه اپلیکیشن سرورهای جاوایی از زی فریم پشتیبانی میکنند؟
اپلیکیشن سرورهای جاوایی که از زی فریم پشتیبانی میکنند شامل: Apache Tomcat (نسخه ۸، ۹، ۱۰)، Jetty (نسخه ۹، ۱۰)، Oracle WebLogic (نسخه ۱۲، ۱۴)، WebSphere (نسخه ۸، ۹)، WildFly (نسخه ۲۴، ۲۵، ۲۶)، GlassFish (نسخه ۴، ۵) و Payara (نسخه ۴، ۵) میباشند.
مدل استقرار در زی فریم چگونه است؟
در مدل استقرار زی فریم، میتوان تمامی ماژولهای مورد نیاز شامل بانک اطلاعاتی و اپلیکیشن سرور را بر روی یک سیستم واحد مستقر کرد، یا بر اساس نیاز، آنها را بر روی سیستمهای جداگانه تفکیک نمود. برای مثال، در یک برنامه ERP میتوان برای هر بانک اطلاعاتی سرویس جداگانهای در نظر گرفت.
چه پارامترهایی برای تعریف Application در زی فریم نیاز است؟
پارامترهای تعریف Application شامل: 1) Application Name (نام لاتین سیستم) 2) Application Title (نام فارسی/لاتین) 3) Active Application In System 4) Application Sort Order (اولویت نمایش) 5) Connection Pool Count (تعداد مسیرهای ارتباطی بانک اطلاعاتی) 6) DB Username (نام کاربری بانک) 7) DB Password (رمز عبور بانک) 8) Database Schema Name 9) Database Type 10) JDBC Connection String 11) ADO.NET Connection String 12) Application URL (آدرس پنل نرمافزار)
نحوه پیکربندی JDBC Connection String در زی فریم چگونه است؟
برای پیکربندی JDBC Connection String از قالب jdbc:sqlserver://localhost:1433;databaseName=DBNAME; استفاده میشود. به جای DBNAME باید نام بانک اطلاعاتی پروژه قرار داده شود. برای پروژه آموزشی از Accounting استفاده میشود.
اطلاعات Application در کجا ذخیره میشود؟
تمامی اطلاعات مربوط به تعریف Application در جدول sys_system ذخیره میشود.
Application URL چه نقشی در زی فریم دارد؟
Application URL آدرس پنل نرمافزار خروجی را مشخص میکند و زمانی که پر شود، سامانه توانمندیهای زیادی را در اختیار قرار میدهد. این فیلد در مراحل اولیه میتواند خالی باشد و پس از پیکربندی محیط اجرایی تکمیل میشود.
فایل zf.configdata در زی فریم چیست و چه نقشی دارد؟
فایل zf.configdata یک فایل پیکربندی حیاتی برای اجرای پروژه در زی فریم است. این فایل شامل کلیدواژههای مختلفی مانند Project، DataBaseTypeID، DBUserName، DBPassword، ProjectConnectionString، System_ID، Debug، TraceLevel، ConnectionPool و سایر تنظیمات ضروری برای اتصال به بانک اطلاعاتی و پیکربندی محیط اجرایی میباشد.
کلیدواژههای مهم در فایل zf.configdata کدامند؟
کلیدواژههای مهم شامل: Project (نام پروژه)، DataBaseTypeID (شناسه نوع بانک اطلاعاتی)، DBUserName (نام کاربری بانک)، DBPassword (رمز عبور بانک)، ProjectConnectionString (رشته اتصال JDBC)، System_ID (کد ApplicationID)، Debug (فعال/غیرفعال کردن دیباگ)، TraceLevel (سطح لاگگیری)، ConnectionPool (تعداد اتصالات رزرو شده)، و LogDisable (غیرفعال کردن لاگ) میباشند.
چگونه میتوان اتصال به بانک اطلاعاتی را در zf.configdata پیکربندی کرد؟
اتصال به بانک اطلاعاتی با استفاده از کلیدواژههای DBUserName (نام کاربری)، DBPassword (رمز عبور)، ProjectConnectionString (رشته اتصال JDBC مانند jdbc:sqlserver://127.0.0.1:1433;databaseName=ZF_MD)، و DataBaseTypeID (شناسه نوع بانک) پیکربندی میشود.
کاربرد جدول Sys_Application_Log در زی فریم چیست؟
جدول Sys_Application_Log برای ثبت لاگهای عملکردی برنامه استفاده میشود. این جدول شامل اطلاعاتی مانند: شناسه فرم (Sys_Object_ID)، تاریخ و زمان رویداد (DateValue, TimeValue)، کاربر مربوطه (Sys_User_ID)، نوع عمل (ActionID)، شناسه رکورد (RecordID) و دادههای مرتبط (Data) میباشد.
جدول SYS_APPLICATION_LOG در زی فریم چه کاربردی دارد؟
جدول SYS_APPLICATION_LOG برای ثبت و نگهداری لاگهای عملکردی برنامه استفاده میشود. این جدول شامل اطلاعات مهمی مانند شناسه فرم (SYS_OBJECT_ID)، تاریخ و زمان رویداد (DATEVALUE, TIMEVALUE)، کاربر مرتبط (SYS_USER_ID)، نوع عمل (ACTIONID)، شناسه رکورد (RECORDID) و دادههای مرتبط (DATA) میباشد.
کاربرد جدول SYS_APPLICATION_WORD چیست؟
جدول SYS_APPLICATION_WORD به عنوان دیکشنری سیستم عمل میکند و برای مدیریت متون و ترجمههای برنامه استفاده میشود. این جدول شامل کلمات (WORD) و متنهای مربوطه (TEXT) بوده و امکان چندزبانه کردن برنامه را فراهم میکند.
چه نوع اطلاعاتی در جدول SYS_APPLICATION_LOG ذخیره میشود؟
این جدول اطلاعات لاگ کامل برنامه شامل: عملیات کاربران بر روی فرمها، تغییرات دادهها، خطاهای سیستم، و تمامی رویدادهای مهم برنامه را ذخیره میکند. فیلد DATA میتواند شامل جزئیات کامل هر رویداد باشد.
چگونه از جدول SYS_APPLICATION_WORD برای چندزبانه کردن استفاده میشود؟
با ذخیرهسازی متون برنامه به صورت جفتهای WORD-TEXT در این جدول، سیستم میتواند به راحتی بین زبانهای مختلف سوئیچ کند. هر کلمه میتواند ترجمههای مختلف برای زبانهای گوناگون داشته باشد.
چگونه میتوان از لاگهای ذخیره شده در SYS_APPLICATION_LOG برای عیبیابی استفاده کرد؟
لاگهای این جدول با ارائه اطلاعات کامل درباره رویدادها، خطاها، کاربران مربوطه و دادههای مرتبط، امکان عیبیابی دقیق و تحلیل عملکرد سیستم را فراهم میکنند. میتوان بر اساس تاریخ، کاربر، نوع عمل یا فرم خاص فیلتر کرد.
نقش فیلدهای متنی (مانند WORD و TEXT در SYS_APPLICATION_WORD) در کوئریها چیست؟
فیلدهای متنی مانند WORD و TEXT امکان جستجو، فیلتر کردن و مدیریت محتوای چندزبانه را فراهم میکنند. این فیلدها برای بازیابی ترجمهها، تولید گزارشهای متنی و پشتیبانی از بینالمللیسازی (i18n) استفاده میشوند.
سیستم دیکشنری (SYS_DIC) در زی فریم چگونه کار میکند؟
جدول SYS_DIC به عنوان دیکشنری چندزبانه سیستم عمل میکند. این جدول شامل متنهای ترجمه شده (TEXT) برای موجودیتهای مختلف سیستم است که بر اساس زبان (SYS_LANGUAGE_ID)، نوع موجودیت (SYS_DIC_OBJECT_TYPE_ID) و شناسه موجودیت (SYS_ID) سازماندهی میشوند.
چگونه میتوان از دیکشنری سیستم برای بینالمللیسازی استفاده کرد؟
با استفاده از جدول SYS_DIC و مرتبط کردن متنها با شناسه زبان (SYS_LANGUAGE_ID)، سیستم میتواند به صورت پویا متنهای مناسب را بر اساس زبان کاربر نمایش دهد. فیلد MANUAL نیز امکان مدیریت دستی ترجمهها را فراهم میکند.
چگونه میتوان یک اپلیکیشن را در سیستم فعال کرد؟
برای فعال کردن یک اپلیکیشن در سیستم، باید گزینه Active Application In System تیک زده شود.
Application Sort Order در زی فریم چه چیزی را نشان میدهد و مقدار اولیه آن چقدر باید باشد؟
Application Sort Order بیانگر اولویت نمایش اپلیکیشن است. اگر اولین اپلیکیشنی باشد که میسازید، این عدد را برابر با صفر قرار دهید.
DB Username و DB Password در زی فریم به چه اطلاعاتی اشاره دارند و چرا اجباری هستند؟
DB Username و DB Password نام کاربری و رمز عبور همان پایگاه دادهای هستند که کسب و کار در آن ایجاد شده است. برای دسترسی به بانک اطلاعاتی الزاما باید از نام کاربری و کلمه عبور استفاده شود، در غیر این صورت نرم افزار به درستی اجرا نخواهد شد.
در هنگام نصب SQL Server برای استفاده با زی فریم، چه حالتی باید انتخاب شود؟
در هنگام نصب SQL Server، حالت mixed mode باید انتخاب شود تا بتوان نام کاربری و رمز عبور برای بانک اطلاعاتی تعریف نمود.
چگونه میتوان آدرس بانک اطلاعاتی را در فیلد JDBC Connection String معرفی کرد؟
با زدن دکمه علامت سوال در بالای این فیلد، فرمت پیش فرض آدرس بانک اطلاعاتی ایجاد میشود. برای SQL Server، گزینه MSSQL Connection String JDBC Template را انتخاب کنید و به جای DBNAME، نام بانک اطلاعاتی پروژه خود را بنویسید.
برای شروع کار با زی فریم و طراحی نرم افزار، پس از تعریف اپلیکیشن چه اقدامی لازم است؟
پس از تعریف اپلیکیشن یا سیستم، ابتدا باید آن را انتخاب کنید. بدین منظور از مسیر File >> Open >> Application اقدام کنید.
چگونه میتوان یک اپلیکیشن را برای شروع به کار انتخاب کرد؟
از طریق مسیر File >> Open >> Application، لیست تمامی اپلیکیشنهای تعریف شده نمایش داده میشود. بر روی اپلیکیشن مورد نظرتان کلیک کرده و سپس بر روی دکمه Open کلیک کنید.
پس از باز کردن اپلیکیشن در ZIDE، محیط نرم افزار برای چه کاری آماده است؟
اکنون محیط نرم افزار ZIDE برای آماده ساختن و مدیریت کردن یک برنامه آماده است.
چه برنامههایی باید در کنار زی فریم نصب شده باشند تا محیط اجرایی راه اندازی شود؟
برنامههای JDK و NetBeans در کنار زی فریم باید نصب شده باشند.
چرا باید برنامه NetBeans را برای مشاهده خروجی برنامه اجرا کرد؟
هنگامی که برنامه در زی فریم طراحی شد، باید برنامه NetBeans را اجرا کرد تا با استفاده از آن بتوان خروجی برنامه را در اکسپلورر مشاهده نمود.
چگونه میتوان پروژه Workspace را در NetBeans باز کرد؟
پس از اجرا شدن NetBeans، باید پروژه Workspace (همان پوشهای که از وبسایت زی فریم دانلود و از حالت فشرده خارج شد) از طریق مسیر File >> Open Project باز شود. ابتدا وارد پوشه Workspace شده و سپس پوشه ZFAPP را انتخاب و Open کنید.
اگر پنجره Projects در NetBeans قابل مشاهده نباشد، چگونه میتوان آن را فعال کرد؟
در صورت عدم مشاهده پنجره Projects، میتوان آن را از طریق مسیر Windows >> Project فعال و مشاهده کرد.
پیکربندی پروژه اجرایی در زی فریم به چه معناست؟
پیکربندی پروژه اجرایی در واقع اصلاح اطلاعات داخل فایلی با نام zf.configdata است. این فایل برای اجرای پروژه بسیار حیاتی است.
فایل zf.configdata در کجای درختواره پروژه قرار دارد؟
فایل zf.configdata درون درختواره از طریق مسیر ZFAPP >> Web Pages >> zf.configdata باز میشود.
پارامتر Project در فایل zf.configdata چه اطلاعاتی را نگه میدارد و چه ویژگیهایی باید داشته باشد؟
در این قسمت نام پروژه باید نوشته شود. از آنجایی که در قسمت لاگ نرم افزار برای نمایش رخدادها از این نام استفاده خواهد شد، لازم است که این نام حتما لاتین باشد.
پارامتر DBUserName در فایل zf.configdata به چه چیزی اشاره دارد؟
نام کاربری بانک اطلاعاتی در این قسمت نوشته میشود. برای مثال در SQL Server کاربر پیش فرض SA (مخفف SQL Admin) در نظر گرفته شده است.
پارامتر DBPassword در فایل zf.configdata چه اطلاعاتی را باید شامل شود؟
کلمه عبور برای دسترسی به بانک اطلاعاتی مربوط به کاربر ثبت شده باید در این قسمت نوشته شود.
پارامتر ProjectConnectionString در فایل zf.configdata چه اطلاعاتی را شامل میشود و چه نکتهای باید رعایت شود؟
در این قسمت، آدرس بانک اطلاعاتی موتور اجرایی زی فریم با استاندارد JDBC نوشته میشود. توجه شود که نام کاربری و کلمه عبور بانک اطلاعاتی در این قسمت درج نشود، زیرا در بخشهای قبل ثبت شده است.
پارامتر System_ID در فایل zf.configdata چه اطلاعاتی را باید شامل شود و چه کاربردی دارد؟
در این قسمت باید کد ApplicationID وارد شود که میتوان مقدار آن را در قسمت مدیریت Application در ZIDE مشاهده نمود. System ID به موتور اجرایی زی فریم میگوید که نرم افزار پیش فرض کدام سیستم است.
آیا تغییر SetupUserName و SetupPassword در حال حاضر ضروری است؟
خیر، در حال حاضر تغییر این گزینهها ضرورتی ندارد و به همین شکل مناسب است.
پارامتر Debug در فایل zf.configdata چه کاربردی دارد و چه زمانی باید برابر با یک قرار گیرد؟
در فرایند توسعه نرم افزار هنگامی که نرم افزار نهایی نشده و در محیط اجرایی استقرار پیدا نکرده است، توسعهدهنده باید قادر باشد که سیستم خود را Debug کند. بدین منظور این گزینه باید برابر با یک قرار گیرد.
پارامتر Jar در فایل zf.configdata چه اطلاعاتی را شامل میشود و چه کاربردی دارد؟
زی فریم برای کامپایل کردن فایلهای جاوا نیاز به تعدادی فایلهای کتابخانهای دارد. به همین منظور برای دسترسی زی فریم به این فایلها، مسیر پوشه آنها و یا خود فایل با استفاده از این قسمت به موتور زی فریم معرفی میشود. در حال حاضر نیازی به تغییر آن نیست.
پارامتر TraceLevel در فایل zf.configdata چه چیزی را تعیین میکند و مقادیر مختلف آن چه معنایی دارند؟
اولویت لاگ گرفتن رویدادها در زی فریم در این قسمت تعیین میشود. اگر این مقدار برابر با (-1) در نظر گرفته شود، تمامی لاگهای کارکردی سیستم قابل مشاهده خواهند بود و اگر برابر 4000 (بالاترین درجه) قرار داده شود، دیگر هیچگونه لاگی در سیستم مشاهده نخواهد شد، به غیر از خطاهای سیستمی.
آیا تغییر پارامتر TraceLevel در حال حاضر ضروری است؟
خیر، در حال حاضر تغییر این مقدار ضرورتی ندارد و به همین شکل مناسب است.
پارامتر ConnectionPool در فایل zf.configdata چه چیزی را نشان میدهد و چه نکتهای در مورد آن وجود دارد؟
این عدد نمایانگر تعداد مسیرهای ارتباطی رزرو شده برای برنامه اجرایی و بانک اطلاعاتی است. توجه شود که چنانچه توسعهدهنده در قسمت تعریف سیستم در ZIDE این عدد را مقدار دهی کرده باشد، اولویت با آن مقدار است.
آیا تغییر پارامتر ConnectionPool در حال حاضر ضروری است؟
خیر، در حال حاضر تغییر این مقدار ضرورتی ندارد و به همین شکل مناسب است.
پارامتر MaxQueryTimeoutSecond در فایل zf.configdata چه چیزی را بیان میکند و مقدار صفر آن به چه معناست؟
این عدد (بر حسب ثانیه) بیانگر میزان زمان لازم برای دریافت دادهها از بانک اطلاعاتی است. عدد صفر بیانگر آن است که سیستم باید صبر کند تا جواب را از بانک دریافت نماید (پیشنهاد میشود تغییری در این مقدار صورت نگیرد).
پارامتر PageLoadTimeout در فایل zf.configdata چه چیزی را مشخص میکند و مقدار صفر آن چه معنایی دارد؟
مقدار زمان مجاز (بر حسب ثانیه) برای ساخت صفحات وب توسط موتور اجرایی با این مقدار مشخص میشود. مقدار صفر بیانگر آن است که سیستم هیچ محدودیتی نداشته و اگر بارگذاری یک فرم حتی ساعتها به طول بیانجامد، سیستم به عملیات خود ادامه داده تا صفحه بارگذاری شود (پیشنهاد میشود تغییری در این مقدار صورت نگیرد).
پارامتر MetaDataConnectionPoolCount در فایل zf.configdata چه چیزی را نمایانگر است؟
این عدد نمایانگر تعداد اتصالات رزرو شده برای موتور اجرایی زی فریم و بانک اطلاعاتی است که مقدار آن به میزان درخواست، تعداد کاربر و همچنین منابع سخت افزاری بستگی دارد (پیشنهاد میشود تغییری در این مقدار صورت نگیرد).
پارامتر LogConnectionPoolCount در فایل zf.configdata چه چیزی را تعریف میکند و به چه عواملی بستگی دارد؟
تعداد اتصالات رزرو شده برای موتور اجرایی زی فریم و بانک اطلاعاتی جهت گرفتن لاگ در این قسمت تعریف میگردد. این مقدار به میزان درخواست، تعداد کاربر و همچنین منابع سخت افزاری بستگی دارد (پیشنهاد میشود تغییری در این مقدار صورت نگیرد).
چگونه میتوان پروژه موتور اجرایی زی فریم را اجرا کرد؟
پس از انجام پیکربندی، کافیست تا بر روی دکمه RUN در نوار ابزار NetBeans کلیک شود تا پروژه اجرا گردد.
هنگام اجرای پروژه در NetBeans، چه اتفاقی در پنجره Output میافتد؟
هنگام اجرای پروژه، سه برگه در پنجره Output باز میشود که نمایانگر روند اجرای پروژه است.
پس از اجرای نرم افزار در مرورگر، نام کاربری و کلمه عبور پیش فرض برای ورود به سامانه چیست؟
نام کاربری پیش فرض Admin و کلمه عبور پیش فرض 123456 است.
پس از باز شدن محصول تولید شده در مرورگر، چه کاری باید انجام شود؟
پس از باز شدن محصول تولید شده در مرورگر، باید آدرس موجود در نوار آدرس این صفحه کپی شود.
آدرس کپی شده از مرورگر در کدام قسمت از ZIDE باید وارد و ذخیره شود؟
باید در نرم افزار ZIDE از طریق مسیر Windows >> Application Management وارد قسمت مدیریت سیستم و اپلیکیشن شد. سپس پس از انتخاب اپلیکیشن مورد نظر و زدن دکمه Edit Application، آدرس کپی شده از نوار آدرس مرورگر را در قسمت Application URL وارد کرده و ذخیره کنید.
پس از اتمام مراحل نصب و راهاندازی، چه کاری میتوان با زی فریم انجام داد؟
نصب و راهاندازی زی فریم به پایان رسید و اکنون میتوان از زی فریم برای تولید نرم افزار بهره برد.
توسعه با ZIDE21 پرسش
چارچوب معماری زیرساخت زی فریم بر چه اساسی طراحی شده است؟
چارچوب معماری زیرساخت زی فریم با استفاده از الگوهای طراحی در معماری سرویسگرا و مدلهای مرجع موجود طراحی شده است.
زی فریم از چه زبانهای برنامهنویسی پشتیبانی میکند؟
زی فریم از زبانهای برنامهنویسی مختلفی از جمله جاوا و گولنگ (GO) برای لایه تولید سرویس استفاده میکند. همچنین برای توسعه front-end از چارچوبهای Angular و React پشتیبانی میکند و کدهای لازم را برای لایه واسط سرویس و UI استخراج مینماید.
نقش ZIDE در زی فریم چیست؟
ZIDE ابزار توسعه زی فریم است که به صورت خودکار جداول متادیتا را ایجاد میکند و با ساختار گرافیکی خود به توسعهدهنده کمک میکند تا به سادگی نرمافزار مورد نظر خود را تولید کند. حتی کاربران با تجربه میتوانند بدون نیاز به ZIDE مستقیماً تغییرات مورد نیاز را در بانک اطلاعاتی اعمال کنند.
نقش ZIDE در زی فریم چیست و چه مزایایی دارد؟
ZIDE ابزار توسعه زی فریم است که به صورت خودکار جداول متادیتا را ایجاد میکند و با ساختار گرافیکی خود به توسعهدهنده کمک میکند تا به سادگی نرمافزار مورد نظر خود را تولید کند. حتی کاربران با تجربه میتوانند بدون نیاز به ZIDE مستقیماً تغییرات مورد نیاز را در بانک اطلاعاتی اعمال کنند. یکی از اهداف آینده، تولید یک IDE تحت وب است که توسعهدهندگان بدون نیاز به سیستم عامل ویندوز و پیکربندی پیچیده بتوانند از این زیرساخت استفاده نمایند.
چرا ZIDE با دات نت فریم ورک ماکروسافت توسعه داده شده است؟
ZIDE با دات نت فریم ورک ماکروسافت توسعه یافته زیرا این فریم ورک ابزاری بسیار قوی برای تولید نرمافزارهای دسکتاپ است و با الگوپذیری از Visual Studio، امکان تولید یک محیط توسعه یکپارچه قدرتمند را فراهم میکند.
ساختار بانک اطلاعاتی مدیریت تیم در ZIDE چگونه است؟
ساختار بانک اطلاعاتی مدیریت تیم در ZIDE شبیه TMS (Team Management System) عمل میکند و فقط تحت MSSQL Server مایکروسافت کار میکند. این بانک اطلاعاتی امکان اتصال تیمهای مختلف به پروژههای مربوطه و مدیریت همکاری بین آنها را فراهم مینماید.
چگونه ZIDE به بانک اطلاعاتی مدیریت تیم متصل میشود؟
برای کار با ZIDE، باید نرمافزار را به بانک اطلاعاتی مدیریت تیم متصل نماییم. این اتصال از طریق پیکربندی connection string به MSSQL Server انجام میشود و امکان مدیریت پروژههای تیمی را فراهم میکند.
ZIDE از چه جداولی برای مدیریت توسعه استفاده میکند؟
ZIDE از ۲۵ جدول مختلف برای مدیریت فرآیند توسعه استفاده میکند که شامل: DataBase_Type (انواع بانکهای اطلاعاتی)، Developer (لیست توسعهدهندگان)، Developer_Config (پیکربندی توسعهدهندگان)، Developer_Group (گروههای برنامهنویس)، Developer_Group_Access (دسترسی گروهها)، Developer_Project_Access (دسترسی به پروژهها)، FlowType (گردش کارها)، IDELog (لاگ تغییرات)، Lock_Object (قفلهای همزمانی)، Log_Type (انواع لاگ)، Object_Type (انواع موجودیتها)، Profiler_Query (پروفایل کوئریها)، Project (لیست پروژهها)، RelationType (انواع روابط)، Sys_Control (انواع کنترل)، Sys_Control_Property (خصوصیات کنترل)، Sys_Property (انواع خصوصیات)، UseCase (موارد کاربرد)، UseCase_Attachment (فایلهای موارد کاربرد)، UseCase_Flow (گردش کار)، UseCase_Level (جایگاه موارد کاربرد)، UseCase_Object (موجودیتهای موارد کاربرد)، UseCase_Status (مراحل پیادهسازی)، UseCaseRelation (روابط موارد کاربرد) و VersionContent (ورژن کنترل) میشود.
جدول Developer در ZIDE چه اطلاعاتی ذخیره میکند؟
جدول Developer اطلاعات برنامهنویسان و توسعهدهندگان شامل نام کاربری و کلمه عبور را ذخیره میکند.
کاربرد جدول Lock_Object در ZIDE چیست؟
جدول Lock_Object برای مدیریت قفلهای همزمانی بر روی موجودیتهایی که در حال توسعه هستند استفاده میشود.
زی فریم برای طراحان نرمافزار چه امکاناتی ارائه میدهد؟
زی فریم برای طراحان نرمافزار ابزارهای طراحی بصری، ماژولهای از پیش ساخته شده، امکان نمونهسازی سریع و محیطی برای طراحی معماری نرمافزار بدون نیاز به کدنویسی پیچیده فراهم میکند.
برنامهنویسان در زی فریم از چه مزایایی برخوردار هستند؟
برنامهنویسان در زی فریم از کتابخانههای غنی، دیباگر پیشرفته، کامپوننتهای آماده، پشتیبانی از چندین زبان برنامهنویسی و محیط توسعه یکپارچه (ZIDE) بهرهمند میشوند.
امکانات زی فریم برای طراحان نرمافزار چیست؟
زی فریم برای طراحان نرمافزار شامل: ابزارهای طراحی بصری، کتابخانه کامپوننتها، نمونهسازی سریع، طراحی فرآیندهای کسبوکار و محیط طراحی بدون کد میباشد.
برنامهنویسان در زی فریم از چه ابزارهایی استفاده میکنند؟
برنامهنویسان در زی فریم از: ZIDE (محیط توسعه)، دیباگر پیشرفته، کتابخانههای کد، کامپوننتهای آماده و ابزارهای توسعه سریع استفاده میکنند.
امکانات زی فریم برای طراحان سیستم چیست؟
زی فریم برای طراحان سیستم امکان نظارت بر نیازمندیها و چرخه فرآیند تولید محصول را فراهم میکند. راهکارهایی شامل تعریف پروژه، تعریف زیرسیستمها و اختصاص هر بخش به تیمهای مختلف ارائه میدهد.
برنامهنویسان در زی فریم چه قابلیتهایی دارند؟
برنامهنویسان در زی فریم میتوانند جداول، فرمها، سرویسها، گزارشات، گردش کارها، روالهای بانک اطلاعاتی، توابع JavaScript، کلاسهای Java و سایر موارد را توسعه دهند. سیستم از تمام تغییرات نسخهبرداری میکند و قابلیت بازگشت به نسخههای قبلی را دارد.
سیستم نسخهگذاری زی فریم چگونه کار میکند؟
زی فریم از تمام تغییرات اعمال شده نسخهبرداری میکند و امکان بهروزرسانی هر جزء به نسخه مورد نظر را فراهم مینماید. همچنین کدهای تولید شده قابلیت اتصال به Git را دارند و توسعهدهندگان میتوانند از بخشهای مختلف خروجی بگیرند.
دامنه تولید در زی فریم شامل چه محیطهایی میشود؟
دامنه تولید در زی فریم شامل دو محیط است: محیط توسعه نرمافزار و محیط فضای اجرای نرمافزار. در محیط اجرایی، فایلهای اصلی پروژه شامل صفحات login، صفحه اصلی، فایلهای JavaScript و CSS قرار دارند که قابل سفارشیسازی هستند.
چه قابلیتهایی در محیط توسعه زی فریم وجود دارد؟
محیط توسعه زی فریم شامل قابلیتهای: تعریف پروژه، تعریف زیرسیستم، تعریف جدول، تعریف فرم (شامل ساختار، قواعد، Queryها، فرمهای وابسته، قالب گرافیکی، خروجی موبایل، قواعد داده، سرویسهای خارجی، JavaScript، امنیت، کلاسهای Java)، تعریف سرویس، تعریف گزارش، تعریف گردش کار، تعاریف امنیتی، مانیتورینگ، پشتیبانگیری، دیکشنریهای زبانی و مدیریت پکیجها میباشد.
آیا برای محیط اجرا به ZIDE نیاز است؟
خیر، برای محیط اجرای سامانههای توسعه یافته با زی فریم، هیچ نیازی به راهاندازی و استفاده از ZIDE (محیط توسعه زی فریم) نمیباشد.
الگوهای طراحی در زی فریم چگونه تعریف میشوند؟
الگوهای طراحی از طریق جدول SYS_DESIGN_PATTERN تعریف و مدیریت میشوند. این جدول شامل شناسه الگو (SYS_DESIGN_PATTERN_ID) و نام الگو (NAME) میباشد که برای استانداردسازی طراحیهای سیستم استفاده میشوند.
بانک اطلاعاتی و متادیتا93 پرسش
زی فریم از چه بانکهای اطلاعاتی پشتیبانی میکند؟
زی فریم از طریق پشتیبانی از JDBC، با طیف وسیعی از بانکهای اطلاعاتی شامل Oracle، SQL Server، PostgreSQL، MySQL و دیگر بانکهای اطلاعاتی رابطهای کار میکند.
تفاوت اسکیمای کسبوکار و متادیتا در زی فریم چیست؟
اسکیمای کسبوکار شامل جداول و دادههای مربوط به domain business application میباشد، در حالی که اسکیمای متادیتا (زی ساخت) شامل اطلاعات ساختاری و فرادادههای سیستم مانند تعاریف فرمها، منوها، سرویسها و فرآیندها است
جداول متادیتای زی فریم چه مواردی را مدیریت میکنند؟
جداول متادیتای زی فریم شامل ۶۶ جدول مختلف هستند که مواردی از قبیل مدیریت دسترسی به فرمها و کنترلها، مدیریت لاگ سامانه، دیکشنری کلمات، مدیریت کانالهای ارتباطی، انواع کنترلها، انواع دادهها، بانکهای اطلاعاتی پشتیبانی شده، الگوهای طراحی، کوئریها، فرمها و کنترلهای آنها، سرویسهای REST و SOAP، فرآیندها، گردش کارها، کاربران و گروههای کاری را مدیریت میکنند.
جدول Sys_Channel برای چه منظوری استفاده میشود؟
این جدول مدیریت کانالهای ارتباطی را بر عهده دارد.
کاربرد جدول Sys_Channel_Element چیست؟
این جدول المانهای کانالهای تبادل داده را مدیریت میکند.
جدول Sys_Concurrency چه کاری انجام میدهد؟
این جدول مدیریت همزمانی دسترسی به منابع (فرمها) را بر عهده دارد.
هدف از جدول Sys_Connection_Log چیست؟
این جدول وقایع ورود و خروج کاربران را ثبت میکند.
جدول Sys_Control_Type چه اطلاعاتی ذخیره میکند؟
این جدول انواع کنترلهای موجود در زی فریم را نگهداری میکند.
جدول Sys_Data_Type برای چه منظوری استفاده میشود؟
این جدول انواع اقلام اطلاعاتی را نگهداری میکند.
جدول Sys_Default_Value چه اطلاعاتی ذخیره میکند؟
این جدول مقادیر پیشفرض را نگهداری میکند.
هدف از جدول Sys_Design_Pattern چیست؟
این جدول انواع الگوهای طراحی فرمها را مدیریت میکند.
کاربرد جدول Sys_Dev_Query چیست؟
این جدول کوئریهای مورد استفاده توسط برنامهنویسان را نگهداری میکند.
جدول Sys_Dic چه اطلاعاتی ذخیره میکند؟
این جدول به عنوان دیکشنری کلمات عمل میکند.
هدف از جدول Sys_Dic_Object_Type چیست؟
این جدول موجودیتهای مربوط به دیکشنری را مدیریت میکند.
کاربرد جدول Sys_Element_Relation چیست؟
این جدول نوع روابط المانها در کانالهای ارتباطی را مدیریت میکند.
جدول Sys_Element_Structure چه کاری انجام میدهد؟
این جدول نوع ساختار المانها در کانالهای ارتباطی را مدیریت میکند.
هدف از جدول Sys_Element_Type چیست؟
این جدول انواع المانها را مدیریت میکند.
جدول Sys_Language چه اطلاعاتی ذخیره میکند؟
این جدول انواع زبانهای تحت پوشش برای نرمافزار را نگهداری میکند.
هدف از جدول Sys_Notification چیست؟
این جدول اطلاعات مربوط به اعلانها و اخبار رخداده شده در سیستم را مدیریت میکند.
کاربرد جدول Sys_Notification_Group چیست؟
این جدول دستهبندی رخدادها را مدیریت میکند.
کاربرد جدول Sys_Object چیست؟
این جدول لیست فرمهای موجود در سامانه به همراه خصوصیات آنها را نگهداری میکند.
هدف از جدول Sys_Object_Child چیست؟
این جدول فرمهای وابسته به فرمهای اصلی را مدیریت میکند.
جدول Sys_Object_Control چه اطلاعاتی ذخیره میکند؟
این جدول کنترلهای موجود در فرمها به همراه خصوصیات آنها را نگهداری میکند.
کاربرد جدول Sys_Object_Control_Lookup چیست؟
این جدول رخدادهای مربوط به تغییرات کنترلها را مدیریت میکند.
هدف از جدول Sys_Object_Query چیست؟
این جدول کوئریهای مربوط به فرمها (ایجاد، ویرایش، حذف، و بررسی قواعد) را نگهداری میکند.
کاربرد جدول Sys_Object_Rule چیست؟
این جدول روابط بین اطلاعات فرمها و کنترلها را مدیریت میکند.
جدول Sys_Object_Rule_Control چه کاری انجام میدهد؟
این جدول روابط بین اطلاعات فرمها و کنترلها را مدیریت میکند.
هدف از جدول Sys_Object_Script چیست؟
این جدول اسکریپتهای مربوط به فرمها (کدهای جاوااسکریپت) را نگهداری میکند.
کاربرد جدول Sys_Object_Service چیست؟
این جدول سرویسهای خارجی مورد استفاده در فرمها (SOAP) را مدیریت میکند.
جدول Sys_Object_Template چه اطلاعاتی ذخیره میکند؟
این جدول قالب سرویسهای مورد استفاده در فرمها را نگهداری میکند.
کاربرد جدول Sys_Process چیست؟
این جدول تعریف فرآیندها را نگهداری میکند.
جدول Sys_Process_State چه کاری انجام میدهد؟
این جدول مراحل فرآیندها را تعریف میکند.
هدف از جدول Sys_Process_State_UG چیست؟
این جدول روابط موجود در فرآیندها را تعریف میکند.
کاربرد جدول Sys_Process_Transition چیست؟
این جدول تراکنشها و ارتباطات در فرآیندها را تعریف میکند.
جدول Sys_Process_Transition_L چه اطلاعاتی ذخیره میکند؟
این جدول لاگهای مربوط به فرآیندها را نگهداری میکند.
هدف از جدول Sys_Process_Transition_LC چیست؟
این جدول لاگهای مربوط به فرآیندها را نگهداری میکند.
کاربرد جدول Sys_Protocol چیست؟
این جدول پروتکلهای ارتباطی بین نرمافزارها را مدیریت میکند.
جدول Sys_Proxy_Server چه کاری انجام میدهد؟
این جدول تعریف پراکسی برای فراخوانی سرویسها را مدیریت میکند.
جدول Sys_REST_Access چه اطلاعاتی ذخیره میکند؟
این جدول مدل دسترسی به سرویسهای REST را مدیریت میکند.
هدف از جدول Sys_REST_Function چیست؟
این جدول لیست سرویسهای REST را نگهداری میکند.
کاربرد جدول Sys_REST_Function_Param چیست؟
این جدول پارامترهای موجود در سرویسهای REST را مدیریت میکند.
جدول Sys_rest_output چه کاری انجام میدهد؟
این جدول ساختار خروجی سرویسها را نگهداری میکند.
هدف از جدول Sys_rest_output_p چیست؟
این جدول ساختار پارامترهای خروجی سرویسها را مدیریت میکند.
کاربرد جدول Sys_rest_output_pga چیست؟
این جدول تعریف دسترسی به پارامترهای خروجی سرویسها را مدیریت میکند.
جدول Sys_rest_output_qp چه اطلاعاتی ذخیره میکند؟
این جدول قالب ساختار خروجی سرویسها را نگهداری میکند.
هدف از جدول Sys_Server_Config چیست؟
این جدول اطلاعات مربوط به پیکربندی سیستم را نگهداری میکند.
کاربرد جدول Sys_Service_Relation چیست؟
این جدول روابط بین سرویسها را مدیریت میکند.
جدول Sys_Source_Code چه کاری انجام میدهد؟
این جدول سورس کد سرویسها و فرمها را نگهداری میکند.
هدف از جدول Sys_Structure_Relation چیست؟
این جدول ساختار ارتباطات را مدیریت میکند.
کاربرد جدول Sys_System چیست؟
این جدول لیست زیرسیستمهای موجود در پروژه را نگهداری میکند.
جدول Sys_User چه اطلاعاتی ذخیره میکند؟
این جدول لیست کاربران سیستم را نگهداری میکند.
هدف از جدول Sys_UserGroup چیست؟
این جدول لیست گروههای کاری را نگهداری میکند.
کاربرد جدول Sys_UserGroupList چیست؟
این جدول لیست ارتباط کاربر و گروه کاری را مدیریت میکند.
جدول Sys_WebService چه کاری انجام میدهد؟
این جدول لیست وبسرویسهای سیستم را نگهداری میکند.
هدف از جدول Sys_WebService_Function چیست؟
این جدول لیست توابع موجود در وبسرویسها را نگهداری میکند.
کاربرد جدول Sys_WS_Function_Parameter چیست؟
این جدول پارامترهای موجود در وبسرویسها را مدیریت میکند.
جدول Sys_WS_Function_Parameter در زی فریم چه کاربردی دارد؟
جدول Sys_WS_Function_Parameter برای مدیریت پارامترهای موجود در وبسرویسها استفاده میشود. این جدول اطلاعات مربوط به پارامترهای ورودی و خروجی توابع وبسرویس را ذخیره میکند و شامل فیلدهایی مانند نام پارامتر، نوع داده، مقدار پیشفرض، اجباری یا اختیاری بودن و ترتیب پارامترها میباشد.
آیا زی فریم از بانکهای اطلاعاتی ابری نیز پشتیبانی میکند؟
بله، زی فریم با پشتیبانی از بانکهای اطلاعاتی مانند Microsoft SQL Server، MySQL، Oracle، PostgreSQL و SAP HANA که نسخههای ابری نیز ارائه میدهند، قابلیت استقرار در محیطهای ابری را دارا میباشد.
چگونه زی فریم پشتیبانی از چندین بانک اطلاعاتی مختلف را مدیریت میکند؟
زی فریم با استفاده از لایه انتزاع دادهای و درایورهای استاندارد JDBC، پشتیبانی یکپارچهای از multiple database providers ارائه میدهد که امکان کار با انواع بانکهای اطلاعاتی بدون نیاز به تغییرات اساسی در کد را فراهم میکند.
چگونه میتوان در زی فریم از پارامترها در کوئریهای SQL استفاده کرد؟
در زی فریم، کاربران میتوانند به سادگی با استفاده از ساختارهایی مانند #USER_ID پارامترها را تعریف کنند. این پارامترها میتوانند از session یا توکن خوانده شوند. انواع پارامترها شامل @LNG (عدد صحیح بزرگ)، @STR (رشته)، @BLN (مقدار بولین) و سایر انواع داده میباشند.
انواع پارامترهای پشتیبانی شده در زی فریم کدامند؟
زی فریم از انواع پارامترها شامل: @STR (رشته)، @BYA (آرایه بایت)، @LNG (عدد صحیح بزرگ)، @INT (عدد صحیح)، @BLN (بولین)، @DAT (تاریخ)، @TIS (تایماستمپ)، @TIM (زمان)، @DEC (اعشاری)، @BYT (بایت)، @SHO (عدد کوتاه)، @DBL (اعشاری دبل)، @FLT (اعشاری فلوت)، و @CLO (محتوی متنی بزرگ) پشتیبانی میکند.
چگونه میتوان مقادیر session را در کوئریهای زی فریم استفاده کرد؟
با استفاده از ساختار #SESSION_NAME میتوان مقادیر session را مستقیماً در کوئریها استفاده کرد. زی فریم به طور خودکار این مقادیر را از session استخراج کرده و در کوئری تزریق میکند.
آیا زی فریم از پارامترهای JWT در کوئریها پشتیبانی میکند؟
بله، زی فریم امکان استفاده از مقادیر JWT token را در کوئریها فراهم میکند. با استفاده از ساختارهای مناسب، میتوان مقادیر توکن را مستقیماً در کوئریها استفاده نمود.
چگونه میتوان انواع دادههای مختلف را در پارامترهای زی فریم مدیریت کرد؟
زی فریم به طور خودکار انواع دادههای مختلف را با استفاده از شاخصهای سه حرفی (مانند str برای رشته، int برای عدد صحیح، bln برای بولین) مدیریت میکند. این سیستم مقادیر را به صورت خودکار به نوع داده مناسب تبدیل میکند.
زی فریم چگونه مقادیر NULL را برای انواع دادههای مختلف مدیریت میکند؟
زی فریم برای هر نوع داده، نوع NULL مناسب را با استفاده از java.sql.Types تعیین میکند. برای مثال: رشتهها با Types.NULL، اعداد صحیح با Types.INTEGER، مقادیر بولین با Types.BOOLEAN، و تاریخها با Types.DATE مدیریت میشوند.
انواع دادههای BLOB و CLOB در زی فریم چگونه مدیریت میشوند؟
دادههای باینری بزرگ (BLOB) با Types.BLOB و دادههای متنی بزرگ (CLOB) با Types.CLOB مدیریت میشوند. این شامل انواع BYA (آرایه بایت) و BYT (بایت) برای BLOB و CLO (محتوی متنی بزرگ) برای CLOB میشود.
انواع دادههای عددی در زی فریم چه تفاوتهایی دارند؟
انواع عددی شامل: INT (عدد صحیح با Types.INTEGER), LNG (عدد بزرگ با Types.NUMERIC), SHO (عدد کوتاه با Types.SMALLINT), DBL (اعشاری دبل با Types.DOUBLE), FLT (اعشاری فلوت با Types.FLOAT), و DEC (اعشاری با Types.DECIMAL) میشوند که هر کدام دقت و محدوده متفاوتی دارند.
انواع دادههای زمانی در زی فریم چگونه تعریف میشوند؟
انواع زمانی شامل: DAT (تاریخ با Types.DATE), TIS (تایماستمپ با Types.TIMESTAMP), و TIM (زمان با Types.TIME) میشوند. هر نوع برای مدیریت بخشهای مختلف اطلاعات زمانی استفاده میشود.
چه اتفاقی میافتد اگر نوع داده نامشخص باشد؟
اگر نوع داده شناخته شده نباشد، زی فریم به طور پیشفرض از Types.NULL استفاده میکند. این ensures که حتی در صورت وجود خطا در تعریف نوع، سیستم به کار خود ادامه دهد.
چگونه باید پارامترها را در زی فریم تعریف کرد؟
برای تعریف پارامترها در زی فریم، باید قبل از نام پارامتر از علامت @ استفاده کنید. به عنوان مثال: @LNG برای اعداد صحیح بزرگ، @STR برای رشتهها، و @BLN برای مقادیر بولین. این علامت به سیستم میفهماند که این یک پارامتر است.
آیا میتوان بدون @ پارامتر تعریف کرد؟
خیر، بدون استفاده از علامت @ قبل از نام پارامتر، سیستم زی فریم نمیتواند تشخیص دهد که این یک پارامتر است و آن را به عنوان متن معمولی در نظر میگیرد.
چرا باید از @ قبل از پارامترها استفاده کرد؟
استفاده از @ قبل از پارامترها به زی فریم کمک میکند تا به سرعت تشخیص دهد که این مقدار یک پارامتر است و باید پردازش خاصی روی آن انجام دهد، مانند جایگزینی با مقدار واقعی یا اعتبارسنجی نوع داده.
آیا @ برای همه انواع پارامترها الزامی است؟
بله، استفاده از @ برای همه انواع پارامترها در زی فریم الزامی است. این شامل @STR، @LNG، @BLN، @DAT و همه انواع دیگر میشود.
چگونه زی فریم از متادیتا برای تولید خودکار کد استفاده میکند؟
زی فریم با خواندن متادیتا از جداول سیستمی، به صورت خودکار کدهای مورد نیاز شامل: کلاسهای جاوا، سرویسهای REST، فرمهای وب، کوئریهای بانک اطلاعاتی و قوانین کسبوکار را در زمان اجرا تولید و اجرا میکند. این رویکرد نیاز به کدنویسی دستی را به حداقل میرساند.
انواع متادیتا در زی فریم چیست؟
انواع متادیتا در زی فریم شامل: 1) متادیتای ساختاری (جدولها، فیلدها، روابط) 2) متادیتای رفتاری (قوانین کسبوکار، گردش کار) 3) متادیتای امنیتی (دسترسیها، احراز هویت) 4) متادیتای نمایشی (فرمها، کنترلها، طرحبندی) 5) متادیتای интеграции (سرویسها، APIها)
چگونه تغییرات متادیتا در زی فریم مدیریت میشود؟
تغییرات متادیتا در زی فریم از طریق: 1) سیستم نسخهگذاری خودکار 2) قابلیت بازگشت به نسخههای قبلی 3) اعتبارسنجی تغییرات 4) تأثیرسنجی تغییرات 5) مستندسازی خودکار مدیریت میشود. این امکان وجود دارد که تغییرات بلافاصله در زمان اجرا اعمال شوند.
جدول SYS_ACE در زی فریم چه کاربردی دارد؟
جدول SYS_ACE (Application Calculation Engine) برای ذخیرهسازی موتور محاسباتی برنامه استفاده میشود. این جدول شامل فرمولهای محاسباتی (SQL_Formula)، نام و عنوان محاسبه (Sys_ACE_Name, Sys_ACE_Caption)، شماره نسخه (Version_Number) و توضیحات (Description) میباشد. هر موتور محاسباتی میتواند به یک سیستم خاص (Sys_System_ID) مرتبط باشد.
نقش جدول Sys_ACE_Parameter چیست؟
جدول Sys_ACE_Parameter برای مدیریت پارامترهای موتور محاسباتی استفاده میشود. این جدول شامل نام پارامترها (Parameter_Name)، ترتیب نمایش (Sort_Order)، توضیحات پارامتر (Parameter_Description) و فرمول خروجی پارامتر (Parameter_OUT_Formula) میباشد. هر پارامتر به یک موتور محاسباتی خاص (SYS_ACE_ID) مرتبط است.
چگونه پارامترها در موتور محاسباتی ACE مدیریت میشوند؟
پارامترها در موتور ACE از طریق جدول Sys_ACE_Parameter مدیریت میشوند. هر پارامتر میتواند فرمول خروجی خاص خود (Parameter_OUT_Formula) داشته باشد و به صورت پویا در فرآیند محاسباتی استفاده شود. ترتیب نمایش پارامترها نیز از طریق Sort_Order کنترل میشود.
چگونه از فیلدهای جداول متادیتای زیفریم برای نوشتن کوئری استفاده میشود؟
فیلدهای جداول متادیتای زیفریم (مانند SYS_OBJECT_ID, DATEVALUE, SYS_USER_ID در SYS_APPLICATION_LOG) به عنوان پایهای برای ساخت کوئریهای پویا استفاده میشوند. این فیلدها امکان فیلتر کردن، مرتبسازی و تجمیع دادههای لاگ را بر اساس معیارهای مختلف فراهم میکنند.
انواع دادههای مختلف در جداول متادیتای زیفریم چه کاربردی دارند؟
انواع دادههای مختلف (مانند NUMERIC برای شناسهها، NVARCHAR برای متون، NTEXT برای دادههای حجیم، و INT/NCHAR برای مقادیر عددی و کاراکتری) بهینهسازی ذخیرهسازی و بازیابی دادهها را تضمین میکنند. این تنوع نوع دادهای، دقت و کارایی در عملیات کوئرینویسی و مدیریت متادیتا را افزایش میدهد.
چگونه فیلدهای کلید اصلی (Primary Key) و کلید خارجی (Foreign Key) در ساخت کوئری کمک میکنند؟
فیلدهای کلید اصلی (مانند SYS_APPLICATION_LOG_ID) و کلید خارجی (مانند SYS_OBJECT_ID, SYS_USER_ID) امکان پیوند دادن جداول و انجام JOINها را فراهم میکنند. این امر استخراج دادههای مرتبط از چندین جدول را برای گزارشگیری و تحلیل تسهیل میکند.
فیلدهای مربوط به تاریخ و زمان (مانند DATEVALUE و TIMEVALUE) چگونه در کوئرینویزی استفاده میشوند؟
فیلدهای DATEVALUE و TIMEVALUE امکان فیلتر کردن و تجزیه و تحلیل دادههای لاگ بر اساس بازههای زمانی خاص را فراهم میکنند. این فیلدها برای نظارت بر عملکرد سیستم، ردیابی فعالیتهای کاربر و تحلیل روندها ضروری هستند.
چگونه فیلد ACTIONID در کوئرینویسی و تحلیل دادهها استفاده میشود؟
فیلد ACTIONID نوع عمل انجام شده (مانند ایجاد، ویرایش، حذف) را مشخص میکند. این فیلد امکان گروهبندی و تحلیل اقدامات کاربران، نظارت بر تغییرات دادهها و ایجاد گزارشهای audit trail را فراهم میکند.
جدول SYS_CHANNEL در زی فریم چه کاربردی دارد؟
جدول SYS_CHANNEL برای مدیریت کانالهای ارتباطی سیستم استفاده میشود. این جدول شامل اطلاعاتی مانند نام کانال (CHANNEL_NAME)، وضعیت فعال بودن (ACTIVE)، تاریخ ایجاد (CREATEDATE) و توضیحات (DESCRIPTION) است. هر کانال به یک سیستم خاص (SYS_SYSTEM_ID) مرتبط میباشد.
نقش جدول SYS_CHANNEL_ELEMENT چیست؟
جدول SYS_CHANNEL_ELEMENT برای مدیریت المانهای تشکیلدهنده کانالهای ارتباطی استفاده میشود. این جدول شامل تنظیمات پیچیده ارتباطی مانند جداکننده بستهها (PACKETSEPARATECHAR)، هدر و فوتر بسته (PACKETHEADER, PACKETFOOTER)، طول داده بسته (PACKETDATALEN) و تنظیمات احراز هویت (AUTHENTICATION) میباشد.
کاربرد جدول SYS_COMPONENT در زی فریم چیست؟
جدول SYS_COMPONENT برای ذخیرهسازی کامپوننتهای قابل استفاده مجدد در سیستم استفاده میشود. این جدول شامل نام کامپوننت (COMPONENT_NAME)، توضیحات (COMPONENT_DESCRIPTION) و کد منبع (CODE) میباشد که به صورت NTEXT ذخیره میشود.
جدول SYS_CONNECTION_LOG چه اطلاعاتی را ذخیره میکند؟
جدول SYS_CONNECTION_LOG اطلاعات اتصال کاربران به سیستم را ثبت میکند. این شامل نام کاربری (USERNAME)، تاریخ و زمان اتصال (CONNECTION_DATE, CONNECTION_TIME)، آدرس IP و MAC، و همچنین تاریخ و زمان خروج (EXITDATE, EXITTIME) میباشد.
جدول SYS_DATA_TYPE در زی فریم چه کاربردی دارد؟
جدول SYS_DATA_TYPE برای مدیریت انواع دادههای پشتیبانی شده در سیستم استفاده میشود. این جدول شامل شناسه نوع داده (SYS_DATA_TYPE_ID) و نام نوع داده (NAME) میباشد و پایهای برای تعریف فیلدها و پارامترها در سراسر سیستم فراهم میکند.
انواع بانکهای اطلاعاتی در زی فریم چگونه مدیریت میشوند؟
انواع بانکهای اطلاعاتی از طریق جدول SYS_DATABASE_TYPE مدیریت میشوند. این جدول شامل نام بانک اطلاعاتی (NAME)، وضعیت فعال بودن (ACTIVE)، الگوی اتصال (CONNECTIONTEMPLATE) و درایور مورد نیاز (DRIVER) میباشد.
کاربرد جدول SYS_DEFAULT_VALUE چیست؟
جدول SYS_DEFAULT_VALUE برای مدیریت مقادیر پیشفرض سیستم استفاده میشود. این جدول مقادیر پیشفرض مختلف را با نامهای مشخص (NAME) نگهداری میکند تا در قسمتهای مختلف سیستم قابل استفاده باشند.
نقش جدول SYS_DEV_QUERY در توسعه سیستم چیست؟
جدول SYS_DEV_QUERY برای ذخیرهسازی کوئریهای توسعهدهندگان استفاده میشود. این جدول شامل کد کوئری (QUERY_CODE)، نام کوئری (NAME) و مقدار (VALUE) میباشد که به توسعهدهندگان امکان ذخیره و بازیابی سریع کوئریهای پرکاربرد را میدهد.
چگونه میتوان لاگ گرفتن در بانک اطلاعاتی زی فریم را غیر فعال کرد؟
با قرار دادن مقدار LogDisable برابر با عدد یک، میتوان این قسمت را به طور کل غیر فعال نمود.
معرفی و معماری37 پرسش
زی فریم چیست و چه مفهومی دارد؟
زی فریم یک چارچوب نرمافزاری بومی (فریمورک) است. 'زی' به معنای زندگی و 'فریم' به معنای چارچوب است که در کنار هم 'چارچوب زندگی' معنی میدهد. این سامانه یک بستر برای تولید و توسعه نرمافزارهای سازمانی کوچک تا بزرگ است که با رویکردی سیستماتیک، گردش کارهای سازمان را کارآمد کرده و قابلیت انطباقپذیری با تغییرات را فراهم میکند.
نیازمندیهای اصلی یک تیم نرمافزاری برای تولید نرمافزار چیست؟
نیازمندیهای اصلی شامل: انجام امور به صورت گروهی، مستندسازی فرآیندها، طراحی بانک اطلاعاتی، طراحی فرم، طراحی سرویس REST، طراحی گزارش، توسعه ماژولهای اختصاصی، مانیتورینگ سیستم، لاگگیری، امنیت و مدیریت دسترسی، و نصب و استقرار میباشد.
آیا زیفریم تمام نیازمندیهای تیم نرمافزاری را پوشش میدهد؟
بله، زیفریم تمامی نیازمندیهای ذکر شده شامل مستندسازی، طراحی بانک اطلاعاتی، فرمها، سرویسهای REST، گزارشات، توسعه ماژولها، مانیتورینگ، لاگگیری، امنیت و استقرار را پوشش میدهد.
اهداف و دستاوردهای تولید زیرساخت زیفریم چیست؟
اهداف شامل: تولید سامانههای دامنهمحور با کمترین زمان و هزینه، تمرکز بر معماری فرآیندها به جای مسائل فنی، کاهش ریسک تغییرات نیازمندیها، مشارکت کارشناسان IT در تغییرات، تسهیل استانداردهای نرمافزاری، ارتقای کیفیت محصول، سرعت در فرآیندهای کسبوکار و تولید سامانههای انعطافپذیر میباشد.
اجزاء اصلی زیفریم در نگاه کلان چیست؟
اجزاء اصلی شامل: فریمورک نرمافزاری (کتابخانهها و قوانین برنامهنویسی)، میانافزار (برطرفکننده نیازمندیهای برنامههای تحت وب)، محیط توسعه (محیط جداگانه توسعه با قابلیت اجرا در NetBeans و Intellij) و ابزارهای مدیریت تیم توسعه میباشد.
زیفریم چگونه به کاهش زمان و هزینه توسعه کمک میکند؟
زیفریم با ارائه چارچوب از پیش ساخته شده، کتابخانههای آماده و ابزارهای توسعه یکپارچه، نیاز به کدنویسی از صفر را کاهش داده و باعث تسریع فرآیند توسعه و کاهش هزینهها میشود.
اجزای اصلی سامانه زی فریم با نگاه جزئی چیست؟
اجزای اصلی شامل: موتور فرمساز، موتور گزارشساز، موتور مدیریت فرآیندها، موتور اعتبارسنجی دادهها، موتور کنترل دسترسی، موتور مدیریت لایه دسترسی به بانک اطلاعاتی، موتور مدیریت ثبت رویدادها، موتور جستجو، موتور توسعه روکش فرمها، موتور یکپارچهسازی، موتور اجرایی، کنترلهای پیشرفته، مدیریت پیغام و خطا، سرویس پشتیبانی از راه دور، سرویس توسعه کد، سرویس تنظیمات سامانه، سرویس پشتیبانی و توسعه داده، و کتابخانههای نرمافزاری برای سفارشیسازی میباشد.
قابلیتهای فنی زی فریم چیست؟
قابلیتهای فنی شامل: دیباگ کردن کدهای Java, JavaScript, SQL, PLSQL، تولید کد کلاسهای پایه، مدیریت حافظه و اطلاعات تکراری، توصیف ارتباطات بین موجودیتها، مدیریت پارامترهای امنیتی در تمام سطوح، کامپایل Just-in-time، تولید فرمهای گرافیکی پیچیده، توسعه توانمندیها توسط کاربر، تولید سرویسهای REST، گزارشساز پویا، و قابلیت اتصال به تمام ESB ها میباشد.
محصولات مشابه زی فریم در بازار چیست و چه تفاوتهایی دارند؟
محصولات مشابه زی فریم شامل: IBPM از شرکت IBM (70% شباهت، زبان توسعه JAVA، پشتیبانی از JDBC)، ADF از Oracle (60% شباهت، JAVA، JDBC)، APEX از Oracle (60% شباهت، JAVA، فقط Oracle)، SharePoint از Microsoft (40% شباهت، .NET، ODBC/ADO.NET)، jBPM از Red Hat (60% شباهت، JAVA، JDBC) و Bonita از Bonita Soft (60% شباهت، JAVA، JDBC) میباشند. زی فریم با پشتیبانی از بانکهای اطلاعاتی مختلف و امکانات گسترده، جایگاه منحصر به فردی دارد.
دیدگاههای موجود در سند معماری زی فریم چیست؟
سند معماری زی فریم پنج دیدگاه اصلی ارائه میدهد: 1) دیدگاه منطقی (شامل زیرسیستمها و ارتباط بین آنها) 2) دیدگاه مورد کاربرد (شامل نمودارهای مورد کاربرد و تعامل کاربران) 3) دیدگاه پیادهسازی (شامل تکنولوژیها، زبانهای برنامهنویسی، کتابخانهها، پایگاه داده و موارد فنی) 4) دیدگاه فرآیندی (شامل فرآیندهای اجرایی نرمافزار) 5) دیدگاه استقرار (شامل پیکربندی و ارتباط مؤلفههای اصلی سامانه)
دیدگاه منطقی در معماری زی فریم چه مواردی را پوشش میدهد؟
دیدگاه منطقی به توصیف زیرسیستمهای اصلی زی فریم و چگونگی ارتباط و تعامل این زیرسیستمها با یکدیگر میپردازد.
دیدگاه پیادهسازی زی فریم شامل چه تکنولوژیهایی است؟
دیدگاه پیادهسازی جزئیات فنی شامل زبانهای برنامهنویسی، کتابخانهها، پایگاه داده، تکنولوژیهای سمت سرور و کلاینت و دیگر موارد فنی مورد استفاده در زی فریم را ارائه میدهد.
دیدگاه منطقی زی فریم شامل چه زیرسیستمهایی میشود؟
زی فریم از چهار بخش اصلی تشکیل شده است: 1) بانک اطلاعاتی MSSQL Server برای مدیریت تیم، پروژهها و برنامهنویسان (فقط در مرحله توسعه) 2) محیط توسعه نرمافزار (ZIDE) - یک برنامه تحت ویندوز برای توسعه 3) بانک اطلاعاتی نهایی با دو اسکیما (کسبوکار و متادیتا) که از پنج پایگاه داده مختلف پشتیبانی میکند 4) محیط اجرایی تحت اپلیکیشن سرورهای جاوا که روی ویندوز و لینوکس قابل اجراست
اهداف اصلی معماری زی فریم چیست؟
اهداف اصلی معماری زی فریم شامل: 1) امکان تعریف و استفاده مجدد از مؤلفهها 2) سهولت نگهداری با حداقل پیچیدگی 3) پشتیبانی از استانداردهای باز 4) حداقلسازی تلاش یادگیری کاربران 5) قابلیت توسعه همسو با رشد کسبوکار 6) امکان استقرار تدریجی 7) ایجاد راهکار ایمن و پایدار 8) انعطافپذیری برای نیازهای آینده 9) حفظ یکپارچگی و قابلیت ارتقاء
محدودیتهای معماری زی فریم چیست؟
محدودیتهای اصلی شامل: 1) تسلط توسعهدهندگان کشور به بانکهای اطلاعاتی و JavaScript 2) محدودیت زمانی برای توسعه و استقرار سریع سامانهها (تولید سامانه در کمترین زمان ممکن)
زی فریم چگونه پایداری و ثبات سامانه را تضمین میکند؟
زی فریم از طریق ایجاد یک راهکار ایمن، پایدار و مقیاسپذیر که بهطور مناسب حمایت و پشتیبانی میشود، همراه با حفظ یکپارچگی و قابلیت ارتقاء بدون تغییر در موارد بومیشده قبلی، پایداری سامانه را تضمین مینماید.
مکانیسمهای معماری در زی فریم چیست؟
مکانیسمهای معماری زی فریم شامل موارد زیر است: ممیزی (پیادهسازی بومی)، دیباگ (JMX)، مدیریت خطا (Java Exception Handling)، مدیریت رویداد (REST)، تبادل اطلاعات (Servlet/Web socket)، محلیسازی (Jalali-moment)، پردازش دستهای (Java/JDBC)، مدیریت حافظه (Java GC)، مدیریت پیکربندی (CI/CD بومی)، ذخیرهسازی (JDBC)، چاپ (Jasper/Stimulsoft/Excel)، مدیریت پردازه (Java Thread Pooling)، ارائه API (ZFrame/Proxy)، گزارشگیری (JDBC/ZFrame Service)، مدیریت منابع (Oracle UCP/C3PC)، زمانبندی (بومی)، امنیت (JAAS/JWT/JWE)، مدیریت لاگ (بومی)، مدیریت تراکنش (Java Transaction API)، واسط کاربری پویا (Servlet/JQuery/Bootstrap/JavaScript).
دیدگاه پیادهسازی زی فریم برای نرمافزارهای تولید شده چیست؟
زی فریم از بخشهای مختلفی تشکیل شده که در چندین زبان برنامهنویسی و محیطهای متفاوت توسعه یافتهاند. این امکان را به کاربر میدهد تا به سادگی در تکنولوژیهای مختلف فعالیت کند و سرویس مطلوب را ارائه دهد. برای مثال، لایه تولید سرویس با زبان جاوا توسعه داده شده و برای سازمانهای نیازمند تراکنشهای بالا، با زبان گولنگ (GO) نیز پیادهسازی شده است. همچنین موتور اجرایی زی فریم برای تولید برنامههای Single Page Application چارچوب مجزایی ارائه میدهد و برای توسعهدهندگان Angular و React، کدهای قابل استفاده در لایه واسط سرویس و UI استخراج میکند.
مدل کارکرد زی فریم چگونه است؟
مدل کارکرد زی فریم به این شکل است که برنامهنویس یا طراح، مدلهای مورد نیاز خود (شامل فرم، سرویس و غیره) را با استفاده از ZIDE تولید میکند و ساختار در بانک اطلاعاتی ذخیره میشود. سپس موتور اجرایی زی فریم بر اساس ساختارهای تعریف شده، موارد مورد نیاز را ساخته و در اختیار کاربر نهایی قرار میدهد.
اهداف آینده زی فریم در زمینه ابزارهای توسعه چیست؟
یکی از اهداف آینده زی فریم، تولید یک IDE تحت وب میباشد که به توسعهدهندگان این امکان را میدهد بدون نیاز به سیستم عامل ویندوز و حتی پیکربندی پیچیده، به سادگی از این زیرساخت استفاده نمایند و فرآیند توسعه نرمافزار را تسهیل کنند.
زی فریم چه مکانیزمهایی برای پاسخگویی به درخواستها ارائه میدهد؟
زی فریم دو مکانیزم Stateful و Stateless را برای پاسخگویی به درخواستها ارائه میدهد. در مدل Stateful وضعیت جلسه کاربر در سرور نگهداری میشود، در حالی که در مدل Stateless هر درخواست مستقل بوده و وضعیت در سمت کلاینت مدیریت میشود. هر دو مدل قابلیت استفاده از توکن و نمونه کدهای آماده را دارند.
کاربران زی فریم به چند دسته تقسیم میشوند؟
کاربران زی فریم به چهار دسته اصلی تقسیم میشوند: 1) طراحان نرمافزار 2) برنامهنویسان 3) مسئولان نصب و استقرار 4) استفادهکنندگان نهایی از محصول. زی فریم برای هر گروه راهکارهای خاص و بهینهای ارائه میدهد.
استفادهکنندگان نهایی چه تجربهای از زی فریم دارند؟
استفادهکنندگان نهایی از رابط کاربری intuitive، عملکرد سریع، امنیت بالا، پشتیبانی از چندین پلتفرم و تجربه کاربری یکپارچه در محصولات تولید شده با زی فریم بهرهمند میشوند.
چرا زی فریم برای گروههای کاربری مختلف راهکارهای متفاوت ارائه میدهد؟
زی فریم برای هر گروه کاربری (طراحان، برنامهنویسان، مسئولان استقرار و کاربران نهایی) راهکارهای تخصصی ارائه میدهد زیرا نیازمندیها و وظایف هر گروه کاملاً متفاوت است. این رویکرد باعث بهینهسازی فرآیندها و افزایش بهرهوری در هر بخش میشود.
ویژگیهای زی فریم برای کاربران نهایی چیست؟
ویژگیهای زی فریم برای کاربران نهایی شامل: رابط کاربری ساده، عملکرد سریع، امنیت بالا، پشتیبانی چندپلتفرمی و تجربه کاربری یکپارچه میباشد.
آیا میتوان خروجیهای زی فریم را در پروژههای دیگر استفاده کرد؟
بله، توسعهدهندگان میتوانند از تمام بخشهای زی فریم خروجی بگیرند و در مکانهای مورد نظر ذخیره کنند یا در دیگر پروژهها استفاده نمایند.
زی فریم چه امکانات مانیتورینگی ارائه میدهد؟
زی فریم امکان مانیتورینگ عملکردی و غیرعملکردی شامل زمان اجرا و نحوه اجرای Queryها، زمان اجرا و کارکرد سرویسها، و زمان اجرا و کارکرد فرمها را فراهم میکند که برای توسعهدهندگان بسیار مفید است.
سیستم مدیریت خطا در زی فریم چگونه کار میکند؟
زی فریم خطاهای رخداده در سیستم را به همراه علت آن ثبت و نگهداری میکند. این شامل خطاهای Query، خطاهای JavaScript، و خطاهای کدهای سفارشی کاربر میشود. سیستم این خطاها را اعلام کرده و در لاگ ذخیره مینماید.
استفادهکنندگان نهایی چگونه میتوانند از برنامههای زی فریم استفاده کنند؟
استفادهکنندگان نهایی میتوانند از طریق کامپیوترهای شخصی، تبلت و موبایل از برنامههای تولید شده با زی فریم استفاده کنند. تنها نیازمند استفاده از مرورگرهای Mozilla, Chrome, یا Edge هستند. همچنین برنامههای موبایل بومی میتوانند به سرویسهای زی فریم متصل شوند.
آیا برنامههای دیگر میتوانند از سرویسهای زی فریم استفاده کنند؟
بله، برنامههای نوشته شده با هر تکنولوژی میتوانند از سرویسهای بکاند زی فریم استفاده کنند. این شامل برنامههای موبایل بومی و سایر پلتفرمها میشود.
سامانه زی فریم به چه دامنههایی تقسیم میشود؟
سامانه زی فریم به پنج دامنه اصلی تقسیم میشود: دامنه تولید، دامنه واسط کاربری، دامنه سرویسهای کسبوکار، دامنه ارتباطات داخلی، و دامنه ارتباطات خارجی. هر دامنه شامل ماژولهای مختص به حوزه خود میباشد.
امکان سفارشیسازی در محیط اجرایی زی فریم چگونه است؟
در محیط اجرایی زی فریم، توسعهدهندگان میتوانند فایلهای اصلی شامل صفحات login، صفحه اصلی، فایلهای JavaScript و CSS را مطابق سلیقه و نیاز خود سفارشی کنند. همچنین میتوانند کلاسها و قواعد پایهای توسعه داده شده را در پروژه جایگذاری نمایند.
معماری Metadata-Driven در زی فریم به چه معناست؟
زی فریم یک چارچوب Metadata-Driven است، به این معنی که تمامی اجزای سیستم شامل فرمها، سرویسها، فرآیندها، قوانین کسبوکار و تنظیمات امنیتی به صورت اعلانی در متادیتا تعریف شده و در زمان اجرا تفسیر و اجرا میشوند. این معماری امکان توسعه سریع، انعطافپذیری و قابلیت نگهداری بالا را فراهم میکند.
مزایای اصلی معماری Metadata-Driven در زی فریم چیست؟
مزایای اصلی شامل: 1) توسعه سریعتر با کاهش کدنویسی 2) انعطافپذیری بالا در تغییرات کسبوکار 3) قابلیت نگهداری و ارتقاء آسان 4) یکپارچگی و consistency در کل سیستم 5) امکان سفارشیسازی بدون تغییر کد پایه 6) پشتیبانی از چندین بانک اطلاعاتی به صورت همزمان
چرا معماری Metadata-Driven برای SPL مناسب است؟
معماری Metadata-Driven برای Software Product Line (SPL) مناسب است زیرا: 1) امکان تولید variantهای مختلف از یک محصول را فراهم میکند 2) مدیریت ویژگیهای مشترک و variable را آسان میکند 3) قابلیت بازاستفاده بالایی ارائه میدهد 4) زمان عرضه به بازار را کاهش میدهد 5) هزینههای توسعه و نگهداری را minimize میکند
سیستم ACE (موتور محاسباتی) چگونه در زی فریم کار میکند؟
سیستم ACE در زی فریم به عنوان یک موتور محاسباتی قدرتمند عمل میکند که امکان تعریف فرمولهای پیچیده محاسباتی با پارامترهای مختلف را فراهم مینماید. این سیستم از فرمولهای SQL-based استفاده کرده و میتواند پارامترهای ورودی/خروجی پویا را مدیریت کند.
سیستم مدیریت همزمانی (Concurrency) در زی فریم چگونه کار میکند؟
سیستم همزمانی از طریق جدول SYS_CONCURRENCY مدیریت میشود که وضعیت قفلهای رکوردها را پیگیری میکند. این جدول شامل اطلاعاتی درباره فرم (SYS_OBJECT_ID)، رکورد (RECORDID)، کاربر (SYS_USER_ID)، حالت query (QUERYMODEID) و وضعیت قفل (LOCK) میباشد.
آماده شروع هستید؟
دموی رایگان بگیرید یا با کارشناسان ما برای پیادهسازی اختصاصی صحبت کنید.
