12. januar 2007 - 12:09Der er
12 kommentarer og 1 løsning
Webservices: Multitrådet webserver nødvendig?
Hej,
Beskrivelse: Man har en datamodel, som eksempelvis indeholder bilers pris, farve, tekniske specifikationer osv.
Udtræk af diverse oplysninger i datamodellen skal være tilgængelige for webklienter og det ønskes at anvende SOA og webservices. Er det da nødvendigt, at programmere en multitrådet webserver, eller kan det klares uden?
Vil det ændre noget ved situationen, hvis en webklient ønsker at abbonere på prisen på en bil? Hvis prisen på bilen falder til under x kroner vil webklienten gerne informeres. Er dette ikke et problem idet internettet (http) er state-less? Skal klienten så spørge med bestemte tidintervaller?
Er web services over HTTP det samme som web services over SOAP? Kan det passe, at SOAP anvender xml formatet? Men ok, det skal jo stadig sendes over nettet - hvilke alternativer er der så til HTTP?
Jeg er i gang med at undersøge, hvordan webklienten kan subscribe på en event på serveren når der anvendes SOAP.
Det er ikke helt optimalt, hvis klienten også skal fungere som server (normal observer). Jeg tænker, at dette kunne være et problem med firewalls og sikkerhedspolitikker rundt omkring hos de enkelte steder, hvor webklienten skal køre.
Tilbage er der at kigge på message queue, som jeg ikke har noget viden om endnu.
Så må det indtil videre være klientens ansvar at connecte til serveren med jævne mellemrum for at kontrollere, om der er sket noget nyt på det subject som den er abboneret på.
Ved dog ikke om der er en måde at differentiere mellem klienter, således at kun de som abbonerer på et bestemt subject bliver informeret.
hvis du ligger message queue på server og lader clients lave en blocking get fra den i en seperat tråd, så er det tæt på en notifikation, men ved at være ret langt fra en web service
hvis du poller kan du sagtens have en lille Hashtable/Dictionary<> med client id som key og en ArrayList/List<> med de messages som den pågældende client skal have
Er polling (17:51:59) en forskellig løsning fra message queing (17:51:04)?
Jeg synes umiddelbart polling lyder som en god ide, hvis jeg har fortået det korrekt. Så gemmer serveren de messages, som klienten skal have, indtil klienten connecter til serveren, hvor klienten så får udleveret sine messages. Derved håber jeg, at man ikke har bevæget sig væk fra web services.
Men det er jo en nyt spørgsmål, og jeg tænker at oprette en ny tråd, når jeg har fået sat mig mere ind i det. Tror jeg skal læse om event-driven data models eller lignende.
ja - polling er bare at lave et web service kald hver X'te sekudn og spørge om der er noget nyt
med få klienter virker det fint
med tusinder af klienter dør du
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.