System Overview - OpenRoberta/openroberta-lab GitHub Wiki
The OpenRoberta software consists of a server component, sub modules for robot plugins and the web frontend.
Server
The server side components are written in Java and located in the source tree under OpenRobertaServer/src.
Persistence is implemented using the hibernate orm and related classes are defined under OpenRobertaServer/src/main/java/de/fhg/iais/roberta/persistence. The entities are found in the bo
(business objects) sub-directory and are pojos (plain old java objects). The dao
(data access object) sub-directory contains classes that implement loading and storing entities. The database layout is defined in OpenRobertaServer/src/main/resources/create-tables.sql
The robot functionality is contained in plugins. The robots that are offered by a server are configured through the robot.whitelist
property.
Robots use different mechanisms to communicate with the server (see Robot connectivity matrix). Those that use wifi will talk http-rest to the server. The server side handler are under OpenRobertaServer/src/main/java/de/fhg/iais/roberta/javaServer/restServices/robot
TODO:
- main server components
- list of server properties, see RobertaProperties
- robot plugins
Web Frontend
The web frontend is written in JavaScript and located in the source tree under OpenRobertaServer/staticResources.
It talks to the server over https-rest. The rest handler are under OpenRobertaServer/src/main/java/de/fhg/iais/roberta/javaServer/restServices/all
TODO:
- simulation
- mvc style