Hallo mensen,
ik ben momenteel bezig met een project waarbij er gecommuniceerd moet gaan worden tussen een client en een server met behulp van webservices. Het is de bedoeling dat de server informatie registreert en bijhoudt over verschillende zaken, met daaraan gekoppelde data zoals status, deelnemers etc... Hier bovenop komt de client, die de gegevens weergeeft in een webinterface (JSP).
De objecten met data worden dus eerst geserialiseerd op de server, verstuurd per webservice, en vervolgens gedeserialiseerd in de client. De objecten in de client kunnen uiteraard niet direct "onderliggende" objecten in de kernel aansturen, omdat de client gescheiden is. Het probleem hierbij is; hoe hoe worden mutaties, die worden uitgevoerd in de client, afgehandeld in de server? Als er op de client mutaties worden uitgevoerd op het object, dan moeten deze uiteindelijk ook worden doorgevoerd in de server.
De huidige opzet is als volgt;
Om operaties die in de client worden uitgevoerd op de objecten af te vangen, worden er dus alleen waarden in de objecten gezet, en vervolgens wordt het object, met de nieuwe waarden, terug gestuurd naar de server. De server bekijkt per attribuut in het object of het attribuut is gewijzigd, en update dan vervolgens de attributen op de server (wegschrijven naar een DB bijv.) Dit is echter erg omslachtig omdat alle attributen moeten worden gecontroleerd, en ook de attributen van attributen. (hiermee bedoel ik onderliggende objecten, zoals bijvoorbeeld deelnemers bij een zaak, hieronder misschien weer de rol die zij hebben, etc...)
Een andere optie zou kunnen zijn dat op de client elke methode een onderliggende webservice naar de server aanroept, zodat de bewerking gelijk wordt uitgevoerd, maar dit lijkt me erg intensief wat netwerkverkeer (en vertraging) betreft.
Ik neem aan dat er eerder mensen tegen soortgelijke problemen aan zijn gelopen, en dat er goede (betere dan de huidige) oplossingen beschikbaar zijn. Iemand die hier ideeen over heeft?
ik ben momenteel bezig met een project waarbij er gecommuniceerd moet gaan worden tussen een client en een server met behulp van webservices. Het is de bedoeling dat de server informatie registreert en bijhoudt over verschillende zaken, met daaraan gekoppelde data zoals status, deelnemers etc... Hier bovenop komt de client, die de gegevens weergeeft in een webinterface (JSP).
De objecten met data worden dus eerst geserialiseerd op de server, verstuurd per webservice, en vervolgens gedeserialiseerd in de client. De objecten in de client kunnen uiteraard niet direct "onderliggende" objecten in de kernel aansturen, omdat de client gescheiden is. Het probleem hierbij is; hoe hoe worden mutaties, die worden uitgevoerd in de client, afgehandeld in de server? Als er op de client mutaties worden uitgevoerd op het object, dan moeten deze uiteindelijk ook worden doorgevoerd in de server.
De huidige opzet is als volgt;
Om operaties die in de client worden uitgevoerd op de objecten af te vangen, worden er dus alleen waarden in de objecten gezet, en vervolgens wordt het object, met de nieuwe waarden, terug gestuurd naar de server. De server bekijkt per attribuut in het object of het attribuut is gewijzigd, en update dan vervolgens de attributen op de server (wegschrijven naar een DB bijv.) Dit is echter erg omslachtig omdat alle attributen moeten worden gecontroleerd, en ook de attributen van attributen. (hiermee bedoel ik onderliggende objecten, zoals bijvoorbeeld deelnemers bij een zaak, hieronder misschien weer de rol die zij hebben, etc...)
Een andere optie zou kunnen zijn dat op de client elke methode een onderliggende webservice naar de server aanroept, zodat de bewerking gelijk wordt uitgevoerd, maar dit lijkt me erg intensief wat netwerkverkeer (en vertraging) betreft.
Ik neem aan dat er eerder mensen tegen soortgelijke problemen aan zijn gelopen, en dat er goede (betere dan de huidige) oplossingen beschikbaar zijn. Iemand die hier ideeen over heeft?