구현 구조 — Client · Shared · Server

모든 언어가 같은 logical component를 같은 순서·책임으로 구현한다

구현 구조 — Client · Shared · Server 모든 언어가 같은 logical component를 같은 순서·책임으로 구현한다 Program · Client Program Scenario · customer·courier·§9 assertion · Client Scenario customer·courier·§9 assertion Configuration · role·Mesh·Channel·timeout · Shared Configuration role·Mesh·Channel·timeout JSON Contracts · message·field·enum·optional · Shared JSON Contracts message·field·enum·optional Program · Server / Dispatch — HTTP·배차 worker Program Application · DispatchWorker·OfferPolicy · Server / Dispatch — HTTP·배차 worker Application DispatchWorker·OfferPolicy Infrastructure · Http·RouteMesh·Evidence · Server / Dispatch — HTTP·배차 worker Infrastructure Http·RouteMesh·Evidence Program · Server / CourierSession — STREAM·binding Program Infrastructure · Stream·Binding·ActorClient · Server / CourierSession — STREAM·binding Infrastructure Stream·Binding·ActorClient Program · Server / CourierActorNode — Entry Spot·Courier Actor Program Domain · CourierState·OfferDecision · Server / CourierActorNode — Entry Spot·Courier Actor Domain CourierState·OfferDecision Application · OfferHandler·AttemptGuard · Server / CourierActorNode — Entry Spot·Courier Actor Application OfferHandler·AttemptGuard Infrastructure · EntrySpot·CourierActorAdapter · Server / CourierActorNode — Entry Spot·Courier Actor Infrastructure EntrySpot·CourierActorAdapter Program · Server / Tracking — status·evidence Program Domain · DeliveryStatus·StatusTransition · Server / Tracking — status·evidence Domain DeliveryStatus·StatusTransition Application · StatusWorkflow·EvidenceWriter · Server / Tracking — status·evidence Application StatusWorkflow·EvidenceWriter Infrastructure · TrackingHandler·StatusStore · Server / Tracking — status·evidence Infrastructure TrackingHandler·StatusStore Program · Server / CustomerGateway — STREAM·binding Program Infrastructure · Stream·Binding·ActorClient · Server / CustomerGateway — STREAM·binding Infrastructure Stream·Binding·ActorClient Client Shared Server / Dispatch — HTTP·배차 worker Server / CourierSession — STREAM·binding Server / CourierActorNode — Entry Spot·Courier Actor Server / Tracking — status·evidence Server / CustomerGateway — STREAM·binding

트리 경계

  • • 루트 DeliveryDispatch의 top-level 3개: Client · Shared · Server. Server가 Dispatch·CourierSession·CourierActorNode·Tracking·CustomerGateway를 담는다.
  • • 색: Client는 파랑(client app). CourierActorNode는 초록(Entry Spot·Courier Actor를 실행하는 object server). Dispatch·CourierSession·Tracking·CustomerGateway는 파랑(edge·session·status app). Shared는 회색(로케일 중립 공통 자산).
  • • Client { Program, Scenario } · Shared { Configuration, JSON Contracts }.

server 하위 파일

  • • Dispatch: Application { DispatchWorker, OfferPolicy } · Infrastructure { HttpHandlers, RouteMeshClients, DispatchEvidenceAdapter }.
  • • CourierSession: Infrastructure { StreamSession, CourierBindingAdapter, CourierActorClient }.
  • • CourierActorNode: Domain { CourierState, OfferDecision } · Application { OfferHandler, AttemptGuard } · Infrastructure { EntrySpot, CourierActorAdapter }.
  • • Tracking: Domain { DeliveryStatus, StatusTransition } · Application { StatusWorkflow, EvidenceWriter } · Infrastructure { TrackingHandler, StatusStoreAdapter }.
  • • CustomerGateway: Infrastructure { StreamSession, CustomerBindingAdapter, CustomerActorClient }.