Protocol from September 2, 2015 - UserXXX/vCom GitHub Wiki

Protocol from September 2, 2015

License

GPL V3.0 selected as candidate. Check whole license for any inadequate regulations.

Raspberry and Java

Raspberry Pi supports Java and Java Native Interface (JNI). Does not support JavaFX (no native support with Oracle Java)

Encryption

focus on wolfssl: https://www.wolfssl.com/wolfSSL/Products-wolfcrypt.html

Underlying software design pattern for development

Model-View-Presenter with Dolphin-Smalltalk version. Use of Interfaces highly demanded (for exchangeability)

TO-DOs - class diagram Server-Model (database)

  • Logging: own implementation or use of APIs (recommended); Apache as good option
  • User-Identifier: implementation to be specified
  • Server-Password: undefined how to be secured
  • User-Management: a) public keys dependent of underlying security system b) Profile-Pic: read pixeldata, transmit as byte-array to server; possible restrictions: max 256*256px/"standard-header" with 8-byte as size)
  • Data-transfer: no storage needed (within DBMS) -> "directly" transmitted

Database

DBMS to be selected. Object-relational mapper (ORM) with JPA-standard used for easier implementation of DB-requests. Power of JPA to be looked up.

Scheduler

  • Restart: Interval & Weekday
  • Maintenance: Interval scheduling (dependent of last maintenance/server start) or absolute time
  • Update-Scheduling: Time & Date
  • Information to all users via popup or similar; broadcast needed.