HardProf HardProf steht für Hardware Profile und ist ein Service für Entwickler, welcher Informationen über Hardware bereit stellt. Diese Informationen sind keine auflistungen von den Hardware-Specs, sondern zielen viel mehr auf Programmierer Spezifische Informationen ab. Mit Hilfe dieses Services solle es Entwickler leichter gemacht werden, sich für bestimmte Technologien zu entscheiden und Indikatoren für Optimierungen bieten. Der Services besteht aus 2 Komponenten, zum einem die Website, welche die Daten aufbereitet und zugriff gewährt und zum anderen ein Client, welcher die Informationen zusammen trägt und in die Datenbank einpflegt.
Technisches Das Projekt verwendet jQuery, PHP, MySQL, C++ und die Radon Framework Bibliothek.
Als Kommunikationsprotokoll, zwischen Client und Upload-Service wird JSON over TCP/IP verwendet.
Der Upload-Service erkennt die einzelnen Devices und reduziert die notwendigen DB Einträge auf ein minimum. Doppelte Einträge, von Devices, sind nicht möglich und jede Eigenschaft, eines Device, ist mit einem Standardwert belegt. Sobald eine Eigenschaft nicht den Standardwert besitzt, wird die Eigenschaft in die Datenbank übernommen.
Mit Hilfe von jQuery und Plugins ist es sehr einfach, in den Daten zu suchen, zu sortieren und übersichtlich dar zu stellen.
Die Datenbank nutzt ein Property System, welches aus 2 Teilen besteht. Der statische Teil ist die Definition von Gruppen, Devices und Properties und der dynamische Teil sind die Datensätze, die mit Hilfe der Definitionen implementiert wird. Der Vorteil dieses Systems ist das einfache ändern, erweitern, entfernen von jeglichen Daten. Dies hat aber den Preis, der höheren Prozessornutzung.
Der Client soll möglichst auf jeden Geräten laufen, das Hauptaugenmerk liegt allerdings auf PC-Windows/Linux, iOS und Android Geräten. Der Client ist mit C++ entwickelt und erzeugt nach einem erfolgreichen Durchlauf ein JSON File. Diese kann, wenn möglich, vom Client aus zum Upload-Service hoch geladen werden oder muss manuell hochgeladen werden(wenn keine Verbindung besteht). Dieses Projekt ist ein unter Projekt vom Radon Framework und verwendet dieses für alle low level Funktionalitäten und dient zur verbesserung des Hauptprojektes. Sämtliche Informationen, über Hardware und Logischen Informationen werden durch das Framework geliefert, während spezifische Tests und die High level Logik im HardProf Projekt liegen. Der Client ist ein Kommandozeilen Tool, welches als Kommunikation, zwischen User und Programm, die JSON Datei, Konsolenausgabe und Programm Parameter bietet.
Projekt Ressourcen
Website Manueller Upload Web code
Meinungs Thread
Todo
- Einfacher client zum generieren von JSON file
- hochladen der Datei
- erste Werte erfassen
- Generierung von eindeutigen User Keys
- speichern/laden eines user keys im lokalen filesystem
- DB um User funktionalität erweitern
|