Skip to content

Resource Model

ASAHub revolves around four public resource types:

  • Agreement: defines executable interaction contracts
  • Service: exposes real capability endpoints and declares supported agreement versions
  • Flow: describes build and orchestration process around one or more agreements
  • Plugin: distributes auxiliary capability, planning, or integration guidance

Relationships

  1. Agreements define the contract boundary.
  2. Services implement agreements and provide callable endpoints.
  3. Flows reference agreements to describe how a business capability should be assembled.
  4. Plugins extend either Hub usage itself or domain-specific build workflows.

Publishing Responsibilities

  • Agreement publication follows the agreement source Git workflow.
  • Service / Flow / Plugin publication happens through ASAHub APIs or UI.
  • Hub primarily acts as discovery, collaboration, and management surface.

Why this split exists

  • It keeps protocol governance separate from service delivery.
  • It allows one agreement to be reused by many services.
  • It allows flows to stay documentation-oriented instead of coupling them to one concrete runtime.
  • It lets plugins evolve independently from agreement versions.