Implementation Structure — Client · Shared · Server

Every language implements the same logical component with the same responsibility (Session=stream·binding, Api=auth·creation edge, Support=conversation state)

Implementation Structure — Client · Shared · Server Every language implements the same logical component with the same responsibility (Session=stream·binding, Api=auth·creation edge, Support=conversation state) Program · Client Program CustomerScenario · auth·open·message·close · Client CustomerScenario auth·open·message·close AgentScenario · availability·join·reconnect · Client AgentScenario availability·join·reconnect Configuration · role·Mesh·Channel·timeout · Shared Configuration role·Mesh·Channel·timeout JSON Contracts · auth·conversation·chat·notify · Shared JSON Contracts auth·conversation·chat·notify Program · Server / Session — stream·binding Program Application · SessionBinding·MetadataRouting · Server / Session — stream·binding Application SessionBinding·MetadataRouting Infrastructure · Stream·Packet·ActorRelay · Server / Session — stream·binding Infrastructure Stream·Packet·ActorRelay Program · Server / Api — auth·creation edge Program Application · Auth·ConversationCreation · Server / Api — auth·creation edge Application Auth·ConversationCreation Infrastructure · ApiHandlers·SupportClient · Server / Api — auth·creation edge Infrastructure ApiHandlers·SupportClient Program · Server / Support — conversation state Program Domain · Conversation·Policy·Events · Server / Support — conversation state Domain Conversation·Policy·Events Application · Assignment·Commands·Notify · Server / Support — conversation state Application Assignment·Commands·Notify Infrastructure · EntrySpot·ConvSpot·Actor·Timer · Server / Support — conversation state Infrastructure EntrySpot·ConvSpot·Actor·Timer Client Shared Server / Session — stream·binding Server / Api — auth·creation edge Server / Support — conversation state

Full tree path

  • • The root SupportChat has 3 top-level nodes: Client · Shared · Server. Server holds Session·Api·Support. Client is blue (client app), Api is blue (auth·creation edge app), Session is gray (stream·binding plumbing), Support is green (Spot·actor·conversation state), Shared is neutral (gray) common assets.
  • • Client { Program, CustomerScenario, AgentScenario } · Shared { Configuration, JSON Contracts }.

Server / Session·Api subfiles

  • • Session { Program, Application{SessionBinding, MetadataRouting}, Infrastructure{StreamSession, PacketHandlers, ActorRelay} }.
  • • Api { Program, Application{Authentication, ConversationCreation}, Infrastructure{ApiHandlers, SupportClient} }.

Server / Support subfiles

  • • Program.
  • • Domain { Conversation, ConversationPolicy, ConversationEvents }.
  • • Application { AgentAssignment, ConversationCommands, NotificationMapping }.
  • • Infrastructure { SupportEntrySpot, ConversationSpot, ActorAdapters, TimerAdapter }.