┌─────────────────────────────────────────┐ ┌─────────────────────┐ ┌─────────────┐
│ Automation, machine to machine │ │ End users/Browsers │ │ Agents │
│ command line prompt (curl, wget..) │ │ │ │ │
└─────────▲─────────────────────▲─────────┘ └───────────▲─────────┘ └───────▲─────┘
│ │ │ │
│ │ │ │
│ │ │ │
┌───────────▼───────────┬─────────▼───────────┬─────────────▼───────────┬─────────▼──────┐
│ Command line CLI │ HTTP Endpoints │ Web user interface │ Remoting │
├───────┬───────────────│ │ │ │
│ SSH │ websocket │ │ (Jelly /Groovy views) │ │
│ │ or HTTP │ │ │ │
│ ├───────────────┴─────────────────────┴─────────────────────────┤ │
│ │ │ │
│ │ Stapler: security, routing, requests processing │ │
│ │ │ │
├───────┴───────────────────────────────────────────────────────────────┴────────────────┤
│ │
│ Business layer: models, processing, scheduling │
│ │
├────────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ Storage layer: XML files on JENKINS_HOME │
│ │
└────────────────────────────────────────────────────────────────────────────────────────┘