# Lenses Architecture

{% hint style="info" %}
**Good to know:** All the methods shown below are synced to an example Swagger file URL and are kept up to date automatically with changes to the API.
{% endhint %}

## Lenses Components Architecture

Lenses is architected to enable different teams and engineers to work with data in real-time and create applications and flows. Security and governance are built-in components to enable developers and admins to create secure workspaces and automation.

The diagram gives a high-level overview of the logical components. At the core of Lenses, we have:

* SQL Engine to query data and create streaming apps leveraging Kafka Streams
* App Engine to manage seamless deployments of SQL apps (deployed to Kubernetes)
* Metadata Engine to create a real-time Data Catalog for cross-system datasets and apps

Lenses is a JVM application written in Scala that exposes secure restful APIs and websockets and provides a user interface.

The UI, developed in React, is served by Akka built-in HTTP webserver.

<figure><img src="https://content.gitbook.com/content/OAZAEK7i0b8SPhNuKh8J/blobs/J7C9c1b4iXOe0QEEdMbE/IMG_0041.png" alt=""><figcaption></figcaption></figure>

##
