89 lines
3.4 KiB
Plaintext
89 lines
3.4 KiB
Plaintext
digraph HZHubArchitecture {
|
|
graph [fontname="Arial", fontsize=24, bgcolor=white, margin=0, rankdir=TB, splines=ortho, nodesep=0.6, ranksep=1.2];
|
|
node [fontname="Arial", shape=box, style="rounded,filled", fontsize=11, margin="0.3,0.2"];
|
|
edge [fontname="Arial", fontsize=10, color="#666666"];
|
|
|
|
// Title
|
|
labelloc="t";
|
|
label="HZHub Architecture Diagram\nEnterprise Business Middle-Platform";
|
|
|
|
// Frontend Layer
|
|
subgraph cluster_frontend {
|
|
label="Frontend Layer";
|
|
style=filled;
|
|
color="#E3F2FD";
|
|
fontcolor="#1565C0";
|
|
fontsize=14;
|
|
labelloc=b;
|
|
labeljust=left;
|
|
|
|
admin [label="hzhub-admin\nManagement Portal\n• Model Management\n• Knowledge Base Config\n• Agent Orchestration", fillcolor="#BBDEFB", color="#1976D2"];
|
|
company [label="hzhub-portal-company\nCompany Portal\n• WeChat Work H5\n• Approval Workflow\n• Sales CRM\n• BI Reports", fillcolor="#BBDEFB", color="#1976D2"];
|
|
dealer [label="hzhub-portal-dealer\nDealer Portal\n• WeChat Work H5\n• Self-service Order\n• Inventory Mgmt\n• AI Material Gen", fillcolor="#BBDEFB", color="#1976D2"];
|
|
}
|
|
|
|
// Gateway Layer
|
|
subgraph cluster_gateway {
|
|
label="Gateway Layer";
|
|
style=filled;
|
|
color="#FFF3E0";
|
|
fontcolor="#E65100";
|
|
fontsize=14;
|
|
labelloc=b;
|
|
labeljust=left;
|
|
|
|
gateway [label="HZHub-Gateway\nAPI Gateway\n• Unified Authentication\n• Routing & Load Balancing\n• Rate Limiting & Circuit Breaker", fillcolor="#FFE0B2", color="#F57C00", width=4.5];
|
|
}
|
|
|
|
// Service Layer
|
|
subgraph cluster_service {
|
|
label="Service Layer";
|
|
style=filled;
|
|
color="#E8F5E9";
|
|
fontcolor="#2E7D32";
|
|
fontsize=14;
|
|
labelloc=b;
|
|
labeljust=left;
|
|
|
|
ai [label="hzhub-ai\nAI Service\n• Spring Boot 4.0\n• Spring AI 2.0\n• LangChain4j\n• RAG / Knowledge Base\n• Multi-Agent System", fillcolor="#C8E6C9", color="#388E3C"];
|
|
erp [label="hzhub-erp\nERP Service\n• Spring Boot 4.0\n• JDBC / SQL Server\n• Data Adapter Layer\n• Dual DataSource (Reserved)", fillcolor="#C8E6C9", color="#388E3C"];
|
|
n8n [label="n8n\nWorkflow Engine\n• Workflow Orchestration\n• Approval Automation\n• Scheduled Tasks\n• Webhook Integration", fillcolor="#F8BBD9", color="#C2185B"];
|
|
}
|
|
|
|
// Data Layer
|
|
subgraph cluster_data {
|
|
label="Data Layer";
|
|
style=filled;
|
|
color="#F3E5F5";
|
|
fontcolor="#7B1FA2";
|
|
fontsize=14;
|
|
labelloc=b;
|
|
labeljust=left;
|
|
|
|
mysql [label="MySQL\nBusiness Data\n• User & Permission\n• System Config", fillcolor="#E1BEE7", color="#7B1FA2"];
|
|
milvus [label="Milvus\nVector Database\n• Document Embeddings\n• Semantic Search", fillcolor="#E1BEE7", color="#7B1FA2"];
|
|
sqlserver [label="SQL Server 2008 R2\nERP Database\n• Stored Procedures\n• Direct Connection", fillcolor="#E1BEE7", color="#7B1FA2"];
|
|
}
|
|
|
|
// Connections
|
|
admin -> gateway;
|
|
company -> gateway;
|
|
dealer -> gateway;
|
|
|
|
gateway -> ai;
|
|
gateway -> erp;
|
|
gateway -> n8n;
|
|
|
|
ai -> mysql;
|
|
ai -> milvus;
|
|
erp -> sqlserver;
|
|
|
|
// Workflow trigger (dashed)
|
|
ai -> n8n [style=dashed, color="#9E9E9E", label="Workflow Trigger"];
|
|
|
|
// Rankings for layout
|
|
{rank=same; admin; company; dealer}
|
|
{rank=same; ai; erp; n8n}
|
|
{rank=same; mysql; milvus; sqlserver}
|
|
}
|