# Architecture Fundamentals

Flopsar is built from two components:

* **Agent** — a native library attached to a JVM. Each agent initiates a single, bidirectional TCP connection to the server and streams the collected data over it.
* **Server** — the backend that collects data from agents, stores it, manages the environment, enforces licensing, and exposes a REST API. The server also embeds an HTTP server that serves the **Workstation** web application.&#x20;

The **Workstation** is the web front end for the server. It is not a separate runtime component: it is a set of static assets served by the server and backed entirely by the server's REST API.

Flopsar uses a single, standalone architecture. The server includes an embedded HTTP server that serves the Workstation application directly and handles every API request. There is no separate runtime tier to deploy and no mandatory reverse proxy to configure. **Key characteristics:**

1. **Integrated HTTP server**
   * The built-in HTTP server handles all incoming requests, serving both the Workstation web interface and the collected data through the REST API. The environment is ready to use immediately after installation, with no additional networking components required.
2. **Simplified setup**
   * Because the server serves the Workstation directly, there is no need for external web servers or extra software. This reduces complexity and the number of potential points of failure, making the environment easy to operate.
3. **Suitable for every deployment size**
   * The same architecture serves small development setups and full production environments alike. You scale by giving the server more CPU cores and memory rather than by adding components.

## Data Flow

1. An agent attached to a JVM connects to the server and registers the application instance.&#x20;
2. The server delivers the active instrumentation profile to the agent.&#x20;
3. The agent instruments the selected methods and streams execution stacks, parameters, exceptions, and JVM metrics back to the server.&#x20;
4. The server stores the data and makes it available through the REST API.&#x20;
5. A user opens the Workstation in a browser; the Workstation queries the REST API to present live and historical data.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.flopsar.com/7/overview/architecture-fundamentals.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
