Metadata Layer

هسته هوشمند معماری ZFrame
همه‌چیز از متادیتا آغاز می‌شود.

Metadata Layer

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

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

متادیتا، موتور تولید نرم‌افزار

در معماری ZFrame، موتورهای مختلف سیستم، اطلاعات موردنیاز خود را از Metadata Layer دریافت می‌کنند.

به جای اینکه برای هر فرم، کنترل، منو یا فرآیند کد اختصاصی نوشته شود، موتورهای ZFrame متادیتا را تفسیر کرده و در زمان اجرا اجزای نرم‌افزار را تولید می‌کنند.

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

اجزای Metadata Layer

Data Model Metadata

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

Entity DefinitionAttributesRelationshipsConstraintsReferences

Form Metadata

توصیف کامل فرم‌های سازمانی.

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

Control Metadata

تعریف رفتار کنترل‌های رابط کاربری.

TextBoxComboBoxGridTreeLookupUploadDate PickerRich Editor

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

Layout Metadata

مدیریت ساختار نمایش صفحات.

Responsive LayoutGrid LayoutSectionTabsCardsDynamic Visibility

Business Metadata

تعریف قوانین اجرایی بدون وابستگی به رابط کاربری.

Business RulesValidation RulesFormulaExpressionsConditional Logic

Event Metadata

مدیریت چرخه رویدادهای سیستم. نمونه‌هایی از رویدادها:

Before LoadAfter LoadBefore SaveAfter SaveBefore DeleteAfter DeleteBefore WorkflowAfter Workflow

Security Metadata

تعریف سیاست‌های امنیتی.

Role Based AccessPermission MatrixData Level SecurityField Level SecurityAction Permission

Workflow Metadata

تعریف فرآیندهای سازمانی.

StatesActionsTransitionsApproval RulesEscalationSLA

Reporting Metadata

تعریف گزارش‌ها بدون وابستگی به پیاده‌سازی.

DatasetColumnsFiltersGroupingVisualizationDashboard Widgets

API Metadata

تعریف سرویس‌ها و نقاط تبادل اطلاعات.

REST EndpointParametersMappingAuthenticationResponse Schema

چرخه تولید نرم‌افزار

در ZFrame، متادیتا تنها ذخیره نمی‌شود؛ بلکه به موتورهای مختلف ارسال شده و آن‌ها بر اساس آن نرم‌افزار را تولید می‌کنند.

مدل داده
Metadata
Application Engine
FormsWorkflowAPIReportsDashboardSecurityAI

به همین دلیل، یک تغییر در Metadata می‌تواند هم‌زمان رفتار چندین بخش از سیستم را تغییر دهد، بدون اینکه نیاز به بازنویسی اجزای مختلف باشد.

مزایای Metadata Layer

  • توسعه مبتنی بر مدل به جای توسعه مبتنی بر کد
  • کاهش چشمگیر حجم کدنویسی
  • توسعه سریع‌تر نرم‌افزارهای سازمانی
  • استانداردسازی اجزای سیستم
  • افزایش قابلیت نگهداری
  • کاهش هزینه تغییرات
  • استفاده مجدد از اجزای مشترک
  • مدیریت متمرکز قوانین و تنظیمات
  • توسعه‌پذیری بلندمدت
  • سازگاری کامل با سایر لایه‌های معماری ZFrame

جایگاه Metadata در معماری ZFrame

Metadata Layer در مرکز معماری ZFrame قرار دارد و تقریباً تمام لایه‌های دیگر برای تولید یا اجرای قابلیت‌های خود به آن وابسته هستند. Experience Layer برای تولید رابط کاربری، Application Engine برای ایجاد اجزای اجرایی، Business Engine برای اعمال قوانین، Workflow Engine برای اجرای فرآیندها و حتی سرویس‌های امنیت، گزارش‌گیری و یکپارچه‌سازی، همگی اطلاعات خود را از این لایه دریافت می‌کنند.

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