donderdag 16 februari 2012

JSON, SQL en meer..

Afgelopen weken weer behoorlijk wat werkt verzet, druk bezig met het maken van het tussenverslag (waar ondermeer mijn SDD in verwerkt zit) en ook bezig geweest met het verder uitwerken van de software.


Naar aanleiding van een semester Iphone ontwikkeling waar collega Edwin Kailuhu gewerk heeft met JSON heb ik in ons project de communicatie tussen agent en server omgezet naar JSON. Voordeel is de compactere opbouw en beter leesbaar. Er wordt een object van het type DataPacket (zelf gedefinieerd) aangemaakt en gevuld met gegevens, de opbouw van dit object is vergelijkbaar met de opbouw van het eerder gebruikte xml formaat. Dit object wordt vervolgens door de json.net bibliotheek omgezet in een json string en verzonden naar de server. De server zet de string vervolgens weer om in een object van het type DataPacket.
Het formaat van het DataPacket is als volgt:






Daarnaast heb ik een SQL server opgebouwd met nu nog een enkele tabel waarin alle data wordt geplaatst. Deze database wordt natuurlijk straks netjes opgezet met meerdere tabellen. Het ontwerpen van deze tabellen is een behoorlijke klus, vooral omdat we tijdens de opleiding niet veel databases hebben gehad. Hierdoor mis ik de handigheid om tabellen te ontwerpen. Na een middag puzzelen ben ik tot de (voorlopig) volgende indeling gekomen.



Ik ben uitgegaan van een zo flexibel mogelijk systeem met het oog op toekomstige uitbreiding. Daarnaast is denk ik de opzet ook goed te combineren met bijvoorbeeld een mobiel dashboard of een weergave via een webbrowser.

Ook op het vlak van mijn WireShark project kan ik vordering melden, inmiddels worden de poorten van 2 röntgenkamers gekopieerd naar 2 andere poorten en kan ik eenvoudig inpluggen en de data analyseren. 


donderdag 2 februari 2012

(semi) Dynamische GUI

Ik had het idee om het dashboard zo flexibel mogelijk te maken, het moet dus mogelijk zijn om verschillende pagina's te maken om apparaten te groeperen op afdeling, type of locatie. Een hele dynamische gui is voor dit proof of concept misschien nog wat te ver gezien de beschikbare tijd. Maar een tussenweg moest toch te vinden zijn.

Ik denk dat ik die tussenweg heb gevonden, namelijk een soort van standaard layout waar de diverse items dynamisch aangepast kunnen worden. In de eerste eenvoudige opzet acht items en een label. Op de achtergrond heb ik een array met verschillende vensters (momenteel nog gevuld met slechts 1 venster) en ieder venster heeft maximaal 8 items met daarin de beschrijving, label naam, de modaliteit naam (om een apparaat te koppelen aan een item) en een eventuele actie omschrijving voor de button (het groene vinkje, rode kruis of geen verbinding symbool). Hiermee wordt het straks mogelijk om door te klikken naar een volgende pagina.

Daarnaast heb ik getest of meerdere agents contact kunnen maken met mijn Intersect Server, zoals te zien in onderstaand filmpje is dit gelukt.