Could you please study the below plantuml spring cloud gateway architecture diagram code snippet and help improve this diagram? thanks.
@startuml
skinparam backgroundColor #EEEBDC
skinparam defaultFontName Arial
skinparam shadowing false

title Firecrest Platform – Proposed Modernized Architecture

rectangle "User Requests\n(HTTPS)" as UserRequests #f9f
rectangle "Netscaler\n(L4 Load Balancer)\nSSL Passthrough" as Netscaler #0047AB
rectangle "Firecrest Application Gateway\n(Spring Cloud Gateway)\nTLS Termination | Dynamic Routing | Filters" as SCG #6DB33F

node "Application Node - RHEL 8.x VM" as AppNode #bfb {
  package "Tomcat 9.4x" #lightblue {
    component "WAR Module A\n(8081)\n/legacy-api" as WarServiceA #ccccff
    component "WAR Module B\n(8082)\n/admin-console" as WarServiceB #ccccff
    component "Tomcat Agent" as TomcatAgent #ff9
    WarServiceA -- TomcatAgent : "Collects"
    WarServiceB -- TomcatAgent : "Collects"
  }

  package "Spring Boot 3.3.5" #lightgreen {
    component "JAR Service C\n(8083)\n/modern-api" as JarServiceC #ccffcc
    component "Sidecar Agent" as SidecarC #ff9
    database "Embedded Tomcat 10.x" as EmbeddedTomcatC #aaccaa
    JarServiceC -- EmbeddedTomcatC : "Runs In"
    JarServiceC -- SidecarC : "Collects"
  }
}

rectangle "Database Server" as DBServer {
  database "MySQL 8.0.41" as MySQL #FFA07A
}

rectangle "Service Registry" {
  rectangle "Eureka" as ServiceDiscovery #ffcc99
  WarServiceA --> ServiceDiscovery : "Registers"
  JarServiceC --> ServiceDiscovery : "Registers"
  SCG --> ServiceDiscovery : "Discovers"
}

rectangle "Security & Governance" {
  rectangle "Security Policies" as Security #ffcccc {
    rectangle "JWT Auth" as JWT #ff9966
    rectangle "Rate Limiting" as RateLimit #ff6666
    rectangle "Request Validation" as ReqValidation #ff9999
    rectangle "Future: OAuth2 / Caching" as OAuthCache #ffccff
  }
  
  rectangle "Observability Stack" as Observability #e6e6fa {
    rectangle "Prometheus" as Prometheus #ffd
    rectangle "ELK Stack" as ELK #ffcc99
    rectangle "Grafana" as Grafana #cc99ff
  }
}

' Request Flow
UserRequests --> Netscaler : "HTTPS (443)"
Netscaler --> SCG : "HTTPS (443)"
SCG --> Security : "Validates Request"
Security --> SCG : "Auth + Policies OK"
SCG --> WarServiceA : "/legacy-api"
SCG --> WarServiceB : "/admin-console"
SCG --> JarServiceC : "/modern-api"

' Observability
TomcatAgent --> Prometheus : "JMX Metrics"
TomcatAgent --> ELK : "Filebeat Logs"
SidecarC --> Prometheus : "Actuator Metrics"
SidecarC --> ELK : "JSON Logs"
Prometheus --> Grafana : "Dashboards"
ELK --> Grafana : "Log Analysis"

' Data Access
WarServiceA --> MySQL : "JDBC"
WarServiceB --> MySQL : "JDBC"
JarServiceC --> MySQL : "JDBC"

note right of SCG
  Central API Gateway (Spring Cloud Gateway)
  - SSL Termination
  - Dynamic Routing (via YAML)
  - Service Discovery Integration
  - Request Filtering, Logging
  - Rate Limiting, JWT Auth
  - Future-ready (OAuth2, Caching)
end note

note right of Observability
  Observability Stack
  - Prometheus: Metrics
  - ELK: Logs
  - Grafana: Dashboards
end note

note bottom of AppNode
  WARs deployed in shared Tomcat 9.4x
  JARs run standalone Spring Boot (embedded Tomcat 10.x)
end note

@enduml