---
tags: Documents
title: Architecture analysis
---
# Architecture Analisys - Webthings
## Introduction
- [normative url](https://webthings.io/)
- Short description
## Standards
### Web Of Things
- [normative url](https://webofthings.org/standards/)
- Short description
## Components
### WebThings Gateway
- [normative url](https://github.com/WebThingsIO/gateway)
- [architecture](https://github.com/WebThingsIO/wiki/wiki/Gateway-Architecture)
- Equivalent to the SIFIS-Home control panel
#### Languages
- TypeScript
- JavaScript
- Python
#### Main Dependencies
- [expressjs](https://expressjs.com)
- [node.js]()
- v8
- openssl
- [page.js](https://github.com/visionmedia/page.js)
- [python]()
- Bluetooth stack (bluez, ...)
#### Protocols
- https
- WebSocket
- REST
- ...
### Adapters
The gateway can interact with devices through adapters, the adapters can be written JavaScript or TypeScript.
### registration server
Tunnelling service to access a local gateway from internet
- https://github.com/WebThingsIO/registration_server
#### Language
- Rust
#### Protocols
- https
- dns (powerdns)
#### Main dependencies
- actix-web
- diesel
- mysql/postgres/sqlite
- openssl (down the road)
#### Service dependencies
- [pagekite](https://pagekite.net)
### WebThings Framework
**NOTE**: It is moving from legacy [Mozilla IoT](https://iot.mozilla.org/wot/) to [W3C WebOfThings]( https://www.w3.org/TR/wot-thing-description/)
#### Languages
Many languages supported we focus on [Rust](https://github.com/WebThingsIO/webthing-rust)
#### Dependency
- actix-web
- **openssl**
#### Protocols
- https
- WebSocket
- REST
#### Main Dependencies
Among the full list [full list](https://github.com/WebThingsIO/webthing-rust/blob/master/Cargo.toml)
- actix-web
- openssl