How scireum/sirius-web works
sirius-web is a Java web framework combining HTTP request handling, server-side content generation, APIs, security, and email. The principal flow is an incoming request through the HTTP server and dispatcher pipeline to a routed controller or service, followed by a response; template-backed pages can use Tagliatelle and Pasta. The tree and README establish major capabilities, while the excerpts directly support pipeline dispatch, route handling, and template integration. Links among unsampled subsystems are therefore limited to documented framework roles.
Main entry points: Controller.java Application Controllers · ControllerDispatcher.java Controller Routing · DispatcherPipeline.java Dispatcher Pipeline · Tagliatelle.java Tagliatelle Engine
Components 20
HTTP Runtime
- Web Server
src/main/java/sirius/web/http/WebServer.java - Dispatcher Pipeline
src/main/java/sirius/web/http/DispatcherPipeline.java - Web Context
src/main/java/sirius/web/http/WebContext.java - HTTP Response
src/main/java/sirius/web/http/Response.java - Session Handling
src/main/java/sirius/web/http/ServerSessionStorage.java
Routing and APIs
- Controller Routing
src/main/java/sirius/web/controller/ControllerDispatcher.java - Application Controllers
src/main/java/sirius/web/controller/Controller.java - API Services
src/main/java/sirius/web/services/ServiceDispatcher.java - API Codecs
src/main/java/sirius/web/services/ApiPayloadCodec.java
Identity and Security
- User and Permissions
src/main/java/sirius/web/security/UserManager.java
Content Generation
- Template Services
src/main/java/sirius/web/templates/Templates.java - Tagliatelle Engine
src/main/java/sirius/pasta/tagliatelle/Tagliatelle.java - Pasta Interpreter
src/main/java/sirius/pasta/noodle/compiler/NoodleCompiler.java - Resource Resolution
src/main/java/sirius/web/resources/Resources.java - Sass Generation
src/main/java/sirius/web/sass/Generator.java
Supporting Services
- Email Sending
src/main/java/sirius/web/mails/MailSender.java - Data Import Export
src/main/java/sirius/web/data/CSVProcessor.java - Health and Cluster
src/main/java/sirius/web/health/SystemController.java
Other components
- HTTP Client
- SMTP Service
Connections 20
- HTTP Client → Web Server: sends request
- Web Server → Dispatcher Pipeline: dispatches request
- Dispatcher Pipeline → Web Context: passes request
- Dispatcher Pipeline → Controller Routing: dispatches
- Controller Routing → Application Controllers: invokes route
- Controller Routing → User and Permissions: checks access
- Web Context → Session Handling: loads and persists
- Application Controllers → HTTP Response: creates response
- Controller Routing → API Services: dispatches service route
- API Services → API Codecs: encodes payload
- Application Controllers → Template Services: renders page
- Template Services → Tagliatelle Engine: renders template
- Tagliatelle Engine → Pasta Interpreter: compiles expressions
- Tagliatelle Engine → Resource Resolution: resolves templates
- Sass Generation → Resource Resolution: reads resources
- Application Controllers → Sass Generation: serves generated styles
- Application Controllers → Email Sending: requests email
- Email Sending → SMTP Service: sends mail
- Application Controllers → Data Import Export: processes tabular data
- HTTP Client → Health and Cluster: requests status