Graph + settings -> service workspaceMicroservice Code Generation: Projects, APIs and Deployment
ServiceGen creates service wiring, contracts, infrastructure and business extension points from the modeled architecture. Implementing the business behavior remains application work.
When to use
Use this reference when generating, reviewing or operating a Service Architect project.
Behavior
- The graph determines the modeled services, language backends, stream wiring, links, data contracts, connectors, endpoints, ports, probes and deployment shape. It does not enumerate all operations inside business functions.
- Each service is generated as an independently buildable project with runtime wiring and explicit business extension points.
- Shared data types, public functions and transport schemas are emitted into the user-defined Modules referenced by those graph objects.
- The root workspace supplies one command surface for building, testing, running, publishing and deploying every component.
- Only the selected graph features are materialized: Kafka, Temporal, HTTP, gRPC, observability and Kubernetes assets follow topology and settings.
Generator inputs
ServiceGen consumes the project settings and typed topology produced by Service Architect. Code generation itself does not perform network requests; framework and tool versions come from the generator dependency manifest.
- Project and repository settings
- Services and target programming languages
- Pipelines, streams and links
- Data types and schema formats
- Connectors and endpoints
- Runtime pools, modules and deployment settings
Generated output layers
The output is intentionally layered so generated wiring, infrastructure and user-owned business logic remain distinguishable. Model the composition you want to manage architecturally; implementation details may remain ordinary code. Generation does not implement or verify the intent of business functions. See architecture and business logic.
- Project orchestration repository
- Independent service repositories
- User-defined Module repositories for shared types, functions and connector schemas
- Language-specific runtime and transport code
- Configuration, graph snapshots and service documentation
- Docker, Compose, CI, Grafana and Kubernetes assets
Mixed-language workspaces
Language is selected per service, so a project can contain more than one backend. Temporal generation is available for Go, Python and TypeScript; Cron generation is available for every current target runtime. Root Make targets compose all selected language backends behind the same product-level commands.
Generation flow
Service Architect graph
-> servicegen archive
-> merge.generated.sh
-> service and contract projects
-> make build / make docker-up / make kubernetes-up