Shruggie Skrevet 17. november 2008 Del Skrevet 17. november 2008 (endret) Jeg planlegger en applikasjon som i stor grad baserer seg på at klienter har en konstant tilkobling til serveren slik at meldinger fra serveren til klienten blir "pushet" umiddelbart. Tenk Exchange push mail for en illustrasjon av hva jeg mener. Aberet er at klientene kan være så mye forskjellige, alt fra websider til en kommandolinjeklient, Cocoa applikasjon på mac, GTK+ applikasjon på windows, java på linux osv. Dermed blir det nok enklest å bruke HTTP/XML mellom klienten og serveren. Vil det da være smart av meg å tenke som så: J2EE server som backend, med en JSP eller Servlet(?) front-end som klientene kan koble seg på, med JMS mellom backend og frontend, og vanlig HTTP/XML mellom frontend og klienter? Eller er det bare dumt å blande inn JMS, og det er like greit å sende et objekt mellom backend og frontend? Grunnen til at jeg vil ha front-end skilt ut fra backenden er av skaleringshensyn. Edit: Eller, hidden option, er jeg helt på viddene? Endret 17. november 2008 av tofagerl Lenke til kommentar
steingrim Skrevet 17. november 2008 Del Skrevet 17. november 2008 Hvis du ser for deg at klientene skal ha persistente connections bør du antagelig sette deg inn i Comet-arkitektur og noen form for asynkron behandling av http-kall på server-siden. Vanlige servlets med en vanlig synkron container vil føre til mange tråder og dårlig ytelse. Vi hadde et foredrag om dette på jobben for noen måneder siden, der det ble presentert det jeg tror var en commons-pakke for asynkron HTTP i Java. Det så rimelig greit ut i grunnen og det er som skapt for et scenario der du har langvarige connections. Lenke til kommentar
___ Skrevet 17. november 2008 Del Skrevet 17. november 2008 Jeg planlegger en applikasjon som i stor grad baserer seg på at klienter har en konstant tilkobling til serveren slik at meldinger fra serveren til klienten blir "pushet" umiddelbart. Tenk Exchange push mail for en illustrasjon av hva jeg mener.Aberet er at klientene kan være så mye forskjellige, alt fra websider til en kommandolinjeklient, Cocoa applikasjon på mac, GTK+ applikasjon på windows, java på linux osv. Dermed blir det nok enklest å bruke HTTP/XML mellom klienten og serveren. Vil det da være smart av meg å tenke som så: J2EE server som backend, med en JSP eller Servlet(?) front-end som klientene kan koble seg på, med JMS mellom backend og frontend, og vanlig HTTP/XML mellom frontend og klienter? Eller er det bare dumt å blande inn JMS, og det er like greit å sende et objekt mellom backend og frontend? Grunnen til at jeg vil ha front-end skilt ut fra backenden er av skaleringshensyn. Edit: Eller, hidden option, er jeg helt på viddene? Teknologien du ønsker å benytte, heter, som andre her også har nevnt, Comet. Det finnes en hel rekke implementasjoner av denne teknologien. I web-sammenheng kan du bruke Direct Web Remoting (DWR - http://directwebremoting.org/). DWR har støtte for såkalt reverse ajax, dvs at klienten holder oppe en forbindelse så lenge den klarer, og at serveren pusher nye data til klienten over denne forbindelsen. Ved timeout oppretter klienten automatisk en ny forbindelse i bakgrunnen. DWR er implementert som en servlet, som benytter seg av vanlige POJO's som inneholder serverlogikken. Ved å inkludere diverse javascript (stubs, som blir dynamisk generert av DWR) i siden der du skal ha denne funksjonaliteten, er det veldig enkelt å kalle funksjoner på serveren fra dine egne javascript. I tillegg kan du gå andre veien, dvs fra serveren kan du kalle javascript-funksjoner hos klienten. Det er fra serveren mulig å kalle en javascript-funksjon enten hos alle klienter som har siden oppe, eller bare hos en enkelt klient. Hvis klienten har flere vinduer mot applikasjonen oppe, kan du til og med treffe riktig browservindu. Dette fordi hver side som er koblet opp mot DWR-servleten får sin unike session-id (som ikke må forveksles med http-session). Jeg har i jobbsammenheng laget diverse klienter, både for .NET og Java, som snakker med DWR-servleten, og det fungerer utmerket. Trenger du mer informasjon om dette kan du gjerne sende meg en PM. Werner Lenke til kommentar
Shruggie Skrevet 17. november 2008 Forfatter Del Skrevet 17. november 2008 Aha! Kjempeinteressant! Dette ser virkelig lovende ut. Takk for hjelpen, skal ikke se bort fra at jeg kommer tilbake etter mer ;p Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå