Updates verspreiden onder meerdere client applicaties

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 11-09 18:27
Hallo, ik ben bezig met het ontwikkelen van een applicatie die door meerdere mensen tegelijk gebruikt gaat worden. De applicatie haalt zijn data uit een database en de gebruikers kunnen deze data wijzigen.

Als bijvoorbeeld gebruiker A data wijzigt moeten alle andere op dat moment ingelogde applicaties hiervan op de hoogte gebracht worden. De huidige, oude VB6, versie gebruikt hiervoor een UDP bericht mechanisme. Als de applicatie start schrijft deze het ip-adres en de UDP poort weg in de database. Deze gegevens wordt vervolgens gebruikt voor het rondsturen van berichten. Elke applicatie stuurt zelf berichten naar alle ingelogde clients.

Nu zouden we iets soortgelijks weer kunnen maken, maar misschien zijn er betere opties voor om dit te regelen. Eventueel zou MSMQ een optie kunnen zijn om te gebruiken. Of een polling mechanisme waarbij de updates in de database worden weggeschreven.

Heeft iemand hier suggesties voor hoe dit eventueel anders opgelost zou kunnen worden? Een van de voorwaarden is dat het mechanisme ondersteund wordt voor zowel desktop applicaties als ook web applicaties. De taal waarin we ontwikkelen is C#.

Hail to the king baby!


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Zonder polling gaat je webapplicatie in ieder geval niet automagisch zijn content verversen, dus je zal hiervoor bijvoorbeeld een stukje AJAX kunnen gebruiken die een feed ophaalt van de recent gewijzigde gegevens.

En als je die functionaliteit daarmee serverside al gerealiseerd hebt zou je wel gek zijn als je je standalone clients daar niet ook gebruik van laat maken.

[ Voor 11% gewijzigd door CodeCaster op 04-11-2010 10:19 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12-09 13:36
Hoe actueel moet de data zijn?

Acties:
  • 0 Henk 'm!

  • kasper_vk
  • Registratie: Augustus 2002
  • Laatst online: 08-04 20:48
CodeCaster schreef op donderdag 04 november 2010 @ 10:18:
Zonder polling gaat je webapplicatie in ieder geval niet automagisch zijn content verversen, dus je zal hiervoor ...
De TS heeft het niet over een webapplicatie en momenteel werkt het in een VB6 versie d.m.v. UDP. VB6 impliceert (volgens mij) dat het een desktop / windows applicatie betreft.

Wat overigens wel de vraag oproept: blijft het een desktopapplicatie? Of wordt 't inderdaad een webapp? En heb je al een platform / taal gekozen?

The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!' but 'That's funny...'


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

kasper_vk schreef op zaterdag 06 november 2010 @ 15:50:
[...]

De TS heeft het niet over een webapplicatie en momenteel werkt het in een VB6 versie d.m.v. UDP. VB6 impliceert (volgens mij) dat het een desktop / windows applicatie betreft.

Wat overigens wel de vraag oproept: blijft het een desktopapplicatie? Of wordt 't inderdaad een webapp? En heb je al een platform / taal gekozen?
De éénnalaatste zin van de TS zegt volgens mij wat anders.
Een van de voorwaarden is dat het mechanisme ondersteund wordt voor zowel desktop applicaties als ook web applicaties.
:)

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Herko_ter_Horst
  • Registratie: November 2002
  • Niet online
N.m.

[ Voor 99% gewijzigd door Herko_ter_Horst op 06-11-2010 15:53 . Reden: echo ;) ]

"Any sufficiently advanced technology is indistinguishable from magic."


Acties:
  • 0 Henk 'm!

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 15-07 15:35

leuk_he

1. Controleer de kabel!

Als je het over een webomgeving hebt, dan heb ik wel eens gehoore van een Ajax Push Engine
Afbeeldingslocatie: http://static.weelya.com/weelya_ape/imgs/ape_opensource_home.png(clickable)

Zelf geen ervaring mee.

Voor je native(niet web) omgeving moet je dan wat anders bedenken. UDP zou ik niet snel meer gebruiken als je geen strak gedefinieerde omgeving hebt, want dat krijg je moeilijker door firewalls en NAT heen.

[ Voor 29% gewijzigd door leuk_he op 06-11-2010 16:03 ]

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


Acties:
  • 0 Henk 'm!

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 11-09 18:27
Allereerst mijn excuses voor het zolang niet reageren.
CodeCaster schreef op donderdag 04 november 2010 @ 10:18:
Zonder polling gaat je webapplicatie in ieder geval niet automagisch zijn content verversen, dus je zal hiervoor bijvoorbeeld een stukje AJAX kunnen gebruiken die een feed ophaalt van de recent gewijzigde gegevens.

En als je die functionaliteit daarmee serverside al gerealiseerd hebt zou je wel gek zijn als je je standalone clients daar niet ook gebruik van laat maken.
Voor de Webapplicatie zou polling of Ajax push een optie kunnen zijn.
Als er een update binnenkomt moet dit binnen een aantal seconden (zeg max 10 seconden) verwerkt worden.
kasper_vk schreef op zaterdag 06 november 2010 @ 15:50:
[...]

De TS heeft het niet over een webapplicatie en momenteel werkt het in een VB6 versie d.m.v. UDP. VB6 impliceert (volgens mij) dat het een desktop / windows applicatie betreft.

Wat overigens wel de vraag oproept: blijft het een desktopapplicatie? Of wordt 't inderdaad een webapp? En heb je al een platform / taal gekozen?
We krijgen een aantal verschillende omgevingen, namelijk een desktop applicatie, een webapplicatie en een aantal Windows Services die er gebruik van moeten gaan maken. Alles is in .Net / C#.
leuk_he schreef op zaterdag 06 november 2010 @ 16:00:
Als je het over een webomgeving hebt, dan heb ik wel eens gehoore van een Ajax Push Engine
[afbeelding](clickable)

Zelf geen ervaring mee.

Voor je native(niet web) omgeving moet je dan wat anders bedenken. UDP zou ik niet snel meer gebruiken als je geen strak gedefinieerde omgeving hebt, want dat krijg je moeilijker door firewalls en NAT heen.
Dit zou een oplossing kunnen zijn voor de Webapplicatie. UDP is nu ook het probleem, er zijn klanten die het blokkeren in hun Firewall.

Op dit moment lijkt het erop dat we de updates niet in de database gaan schrijven, maar rondsturen. Dit zal of via MSMQ gaan of via TCP.

MSMQ kijken we naar omdat de Windows Services de updates gegarandeerd moeten ontvangen. Ook als deze even gerestart worden. Het kan namelijk zo zijn dat deze acties uitvoeren op basis van deze update.

[ Voor 4% gewijzigd door urk_forever op 23-11-2010 16:21 ]

Hail to the king baby!


Acties:
  • 0 Henk 'm!

  • CMG
  • Registratie: Februari 2002
  • Laatst online: 10-12-2024

CMG

urk_forever schreef op dinsdag 23 november 2010 @ 16:19:
Allereerst mijn excuses voor het zolang niet reageren.


[...]

Dit zou een oplossing kunnen zijn voor de Webapplicatie. UDP is nu ook het probleem, er zijn klanten die het blokkeren in hun Firewall.

Op dit moment lijkt het erop dat we de updates niet in de database gaan schrijven, maar rondsturen. Dit zal of via MSMQ gaan of via TCP.

MSMQ kijken we naar omdat de Windows Services de updates gegarandeerd moeten ontvangen. Ook als deze even gerestart worden. Het kan namelijk zo zijn dat deze acties uitvoeren op basis van deze update.
Voor je clients zou ik dan toch over HTTP(S) gaan werken (client -> server pollen), dan weet je in ieder geval dat nooit problemen met firewalls krijgt...

MSMQ is voor je services prima, zoals je zelf aangeeft moet het gegarandeerd niet verloren gaan.

NKCSS - Projects - YouTube

Pagina: 1