معماری یکپارچه ZFrame

از مدل داده تا هوش مصنوعی؛ یک معماری برای ساخت، توسعه و تکامل نرم‌افزارهای سازمانی

ZFrame یک Enterprise Application Platform است که تمامی اجزای موردنیاز برای توسعه، اجرا، یکپارچه‌سازی و مدیریت نرم‌افزارهای سازمانی را در قالب یک معماری لایه‌ای و متادیتامحور در اختیار سازمان قرار می‌دهد.

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

Architecture Overview

معماری ZFrame در یک نگاه

لایه‌های معماری ZFrame

1

Experience Layer

تجربه کاربری یکپارچه

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

توضیحات کامل لایه Experience Layer
2

Metadata Layer

هسته اصلی ZFrame

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

توضیحات کامل لایه Metadata Layer
3

Application Engine

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

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

توضیحات کامل لایه Application Engine
4

Business Engine

موتور منطق کسب‌وکار

تمام قوانین سازمان در این بخش اجرا می‌شوند. ZFrame محدود به یک زبان برنامه‌نویسی نیست و امکان استفاده از SQL، Java، JavaScript و سرویس‌های اختصاصی را برای پیاده‌سازی منطق کسب‌وکار فراهم می‌کند.

توضیحات کامل لایه Business Engine
5

Workflow Engine

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

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

توضیحات کامل لایه Workflow Engine
6

Integration Layer

لایه یکپارچه‌سازی

هیچ نرم‌افزار سازمانی به‌صورت مستقل عمل نمی‌کند. این لایه مسئول ارتباط با سایر سامانه‌ها و سرویس‌های سازمان است.

توضیحات کامل لایه Integration Layer
7

Messaging Layer (ZMQ)

ارتباط بلادرنگ با ZMQ

در سامانه‌های Enterprise، سرویس‌ها باید بدون وابستگی مستقیم با یکدیگر ارتباط برقرار کنند. در ZFrame این مسئولیت بر عهده ZMQ است که بستر ارتباطی میان سرویس‌ها، تجهیزات، سامانه‌ها و موتورهای پردازشی را فراهم می‌کند.

توضیحات کامل لایه Messaging Layer (ZMQ)
8

AI & Analytics Layer

هوش مصنوعی و تحلیل داده

این لایه قابلیت‌های تحلیلی و هوشمند را به سامانه اضافه می‌کند. هوش مصنوعی در ZFrame به عنوان یک سرویس مستقل عمل می‌کند و می‌تواند در تمامی بخش‌های سیستم مورد استفاده قرار گیرد.

توضیحات کامل لایه AI & Analytics Layer
9

Infrastructure Services

خدمات زیرساختی

این لایه تمامی سرویس‌های مشترک موردنیاز سیستم را در اختیار سایر بخش‌ها قرار می‌دهد.

توضیحات کامل لایه Infrastructure Services
10

Data Layer

زیرساخت داده

ZFrame از بانک اطلاعاتی صرفاً به عنوان محل ذخیره‌سازی استفاده نمی‌کند؛ بلکه قابلیت‌های پردازشی بانک اطلاعاتی نیز بخشی از معماری سیستم محسوب می‌شوند.

توضیحات کامل لایه Data Layer

ابزارهای توسعه

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

ZIDE
Metadata Designer
Form Designer
Workflow Designer
Report Designer
API Designer
Package Manager
Deployment Manager
Configuration Center

قابلیت‌های معماری

Metadata-Driven ArchitectureLayered ArchitectureEvent-Driven ArchitectureService-Oriented DesignOpen IntegrationAPI FirstModular ComponentsLow-Code DevelopmentCloud ReadyOn-Premise ReadyHigh ScalabilityEnterprise SecurityAI Ready

فلسفه معماری ZFrame

معماری ZFrame بر یک اصل ساده استوار است:

«نرم‌افزارهای سازمانی نباید با تغییر نیازهای کسب‌وکار بازنویسی شوند؛ بلکه باید از ابتدا بر بستری ساخته شوند که برای تغییر، توسعه و تکامل طراحی شده باشد.»

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