Model

High level view of Jenkins application

  • This view is Jenkins itself

  • Many plugins add technical layers like additional storage.

  • Plugins are adding features so by definition the content of the business layer is infinite :)

      ┌─────────────────────────────────────────┐   ┌─────────────────────┐   ┌─────────────┐
      │    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                          │
    │                                                                                        │
    └────────────────────────────────────────────────────────────────────────────────────────┘

Some references to dive deeper: