René Zeldenthuis: Software Developer
De hoeveelheid data neemt steeds maar toe en we willen steeds meer data offline tot onze beschikking. Te denken valt aan het op het mobiele toestel beschikbaar hebben van een postcode database of misschien wel het gehele klantenbestand. Dit heeft automatisch ook tot gevolg dat de hoeveelheid data die wordt overgestuurd groter wordt; dit is eenmalig. Nog interessanter wordt het om de gegevens allemaal actueel te houden en dit op een zo slim mogelijke manier te doen. Het is nu eindelijk zover; alles is doordacht; de specificaties zijn klaar en een compleet nieuw synchronisatieprotocol wordt momenteel geïmplementeerd!
Wat er zo vernieuwend is aan dit nieuwe protocol zijn de volgende vier hoofdbestanddelen:
- Slechts veranderingen worden doorgestuurd. Hierdoor is het niet nodig om bij een wijziging (van bijvoorbeeld één postcode) de gehele database over te sturen. Ook is het niet meer nodig om een referentie van de aanwezige gegevens over te sturen naar de server.
- Bij het verbreken van de verbinding tijdens het synchroniseren kunnen alle gegevens dusver ontvangen toch worden verwerkt; het protocol is geheel ‘restartable’.
- Er wordt gebruik gemaakt van http/https. Hierdoor gaat dit nieuw protocol door de aanwezige proxy servers en deze poorten staan mestal open in de firewall. Verder is het https protocol (dat bijvoorbeeld ook voor telebanking wordt gebruikt) tegenwoordig standaard voor het versturen van gevoelige data.
- De Navara client bilijft altijd verbonden. Indien er gegevens worden ontvangen die relevant zijn voor de client worden deze direct doorgestuurd (push). Ook worden gewijzigde gegevens van de gebruikers direct teruggestuurd. Uiteraard worden deze gegevens opgespaard indien er geen verbinding mogelijk is en deze direct verstuurd zodra dit weer mogelijk is.
Uiteraard is het wel nodig dat er gebruik wordt gemaakt van een nieuwe client en server dit dit protocol kunnen ondersteunen. Dit zal even lastig zijn maar hierdoor wordt Navara nog sneller, veiliger, rubuster en actueler!

