## Technical architecture

JReport Server is built with Java and uses standard Java and web technologies. The report server functionality is deployed in classes packaged into jar files that are accessed by class loading based on class path settings. Working web applications built on top of the JReport Server are JSP pages and servlets running in a web server's Servlet Container, using HTTP protocol, generating HTML and Java Script that is passed to the browser.

This section gives a picture of how things fit together and what technologies are used.

This provides a context for later detailed explanations about writing Java code to extend an application to use JReport Server.

### Software components

When talking about JReport Server, there are three levels of software components to understand.

- JReport Server - software components

### Machine configurations

There are a variety of configurations for setting up a network to use JReport Server. This section will discuss how JReport Server may fit into a variety of network layouts, starting with the simplest plain JReport Server installed on a local PC or server. The discussion continues with how it fits with an existing web application. Then more complex configurations are explained, that scale up and support large web applications.

- JReport Server - out of the box - ready to run
- JReport Server - with existing web application
- JReport Server - remote dedicated server
- JReport Server - cluster