Structural View
The middleware provides service-oriented interfaces for communication between applications running in the same process, on different cores, or in separate processes. Generated service code is split into application-facing proxies and skeletons and middleware-owned cluster and queue infrastructure.
The system is divided into the following conceptual sub-components. The names in this view describe architecture responsibilities, not necessarily one C++ class or one documentation page:
service interface proxy
service interface skeleton
cluster
queue
- Service Interface Proxy
It is composed of a core part
proxy_baseand a generated partgenerated proxy. The generated proxy is created from an interface definition and sends requests throughcluster_connection.- Service Interface Skeleton
It is composed of a core part
skeleton_baseand a generated partgenerated skeleton. The generated skeleton receives requests throughcluster_connectionand dispatches them to the application.- Cluster
A cluster owns the processing context for its service endpoints. It reads incoming messages from its queue, dispatches requests to skeletons, and routes responses and events to proxies.
- Queue
A queue provides FIFO transport between cluster connections. Queue and allocator configuration is generated from the deployment model.
Note
The conceptual terms map to the current implementation as follows:
proxy_baseandskeleton_base:ProxyBaseandSkeletonBaseinmiddleware/core.cluster_connection:IClusterConnectionandClusterConnectionBase.queueand message transport:Message,ClusterConnectionBase, and the platform/shared-memory queue configuration.message payload handling:
MessagePayloadBuilderand the memory allocator types documented by the memory-pool unit.
The units toctree documents the detailed class diagrams currently maintained for the proxy/skeleton base, request/response, and memory-pool abstractions. Cluster connection and queue behavior is documented through the component-flow diagrams because their concrete implementations are platform/deployment-specific.
Middleware unit structure