liveBook · Manning

Backend

As explained in Building User-Friendly DSLs

The server-side part of a software system that provides services, storage, and processing for its frontend.

A backend is the service-side part of a Domain IDE. It exposes an API for the frontend and stores business knowledge in a repository. Together with the frontend, it supports domain experts editing DSL content while a build system uses that content to generate and build the Runtime. section 1.2.2 section 1.5

A simple persistence backend can:

  • Store one serialized AST as a JSON file on disk. section 7.0
  • Serve the stored content through a REST API: the frontend retrieves it with GET and replaces it with PUT. section 7.0
  • Serialize AST objects to JSON for storage and HTTP transport, then deserialize JSON to reconstruct the AST. section 7.0
  • Preserve reference relations during serialization and deserialization so the reconstructed AST retains its intended structure. section 7.0

Persisting an edited DSL model

A frontend sends an edited AST to the backend with PUT. The backend replaces its JSON file; a later GET retrieves that JSON, and deserialization reconstructs the AST for editing. section 7.0

Figure 1.14 The architecture of the Domain IDE
figure

Use the architecture diagram to trace the frontend, backend API, repository, build system, generator, and Runtime as one system. section 1.2.2

How Building User-Friendly DSLs covers it

How deep it goes
Implements a deliberately simple REST backend with JSON-file persistence, serialization, deserialization, and reference handling.
Examples
Uses a JSON file on disk with GET retrieval, PUT replacement, and AST reconstruction through deserialization.
What it assumes
Assumes a frontend already edits an in-memory AST and teaches persistence, transport, and reference-aware reconstruction.
What you can do after
Build a simple REST backend that persists, transports, and reconstructs an AST for a frontend client.
How it connects
Connects frontend, REST API, repository, AST, JSON serialization, deserialization, HTTP, DSL, and build system.

Also explained in

Compare how 4 books explain backend →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Building User-Friendly DSLs. The section links point to the parts of the book it draws on.