05. april 2006 - 11:17Der er
13 kommentarer og 2 løsninger
Windows Service vs. Web Service
Jeg skal til at udvikle et system, som skal: - distribuere data ud til flere klienter på et netværk - tage imod forespørgsler fra disse klienter - tage imod fejlbeskeder fra klienterne og sende dem videre til en server.
Systemet skal opbygges i .NET, men klienterne er ikke i .NET.
Som jeg ser der skal der på serveren være en Windows Service som kører i baggrunden og håndterer det hele. Kan en Windows Service tilgås via netværket, eller skal dette gå gennem en Web Service?
Hvornår bruges en webservice, og hvornår bruges en Windows Service?
I mit tilfælde er ikke alting initieret af klienter, med jævne mellemrum skal serveren f.eks. forespørge noget på klinenterne.
Kan man ikke sagtens benytte begge dele? Så skal web services og windows services vel bare snakke sammen via noget interprocess kommunikation på den ene eller anden måde.
din windows service skal så have indbygget en socket server eller et remoting interface, men det er ret normalt (IIS, SQLServer etc. er alle windows services)
Nu er det blot at ikke alle klienterne kører .NET idét de kører embedded linux. Her var det bare at jeg tænkte at xml web services ville være en god snitflade. Men remoting kan måske også kaldes fra en linux maskine?
remoting er .NET specifikt saa det vil kraeve Mono paa Linux boxen
men sockets er helt standard og kan bruges i C/C++, Java etc. paa Linux etc.
jeg synes at:
client----(web service)----ASP.NET & web service----(remoting)----windows service
er for kompleks (selvom det er nemmere at lave et web service interface end et socket interface)
Synes godt om
Slettet bruger
08. april 2006 - 07:11#8
Client -> Server syntes simpelt nok, men der hvor dine udfordringer syntes at ligge er omkring den kommunikation der går Server -> Client. Hvad for et interface har dine Linux klienter som din server kan kontakte?
kryptos: mine Linux klienters interface er stadig ikke fastlagt. Således kan der vælges både Sockets, eller web-services(er det deamons det hedder i Linux?)
Synes godt om
Slettet bruger
10. april 2006 - 11:12#11
Så må den vist stå på socket:
client <-- socket --> Windows service
Du skal bare huske at den port du vælger at kommunikerer på skal være åben i eventuelle firewalls der skal krydses af den trafik.
Ok, tak. Det lyder som gode argumenter for Socket, og så hjælper det også at I er enige. Jeg tror at jeg har info nok nu. Hvis i smider svar deler i point
hvis vi antager at clients connecter (d.v.s. at clients på applikations niveau også er clients på TCP/IP niveau) så er det kun i serverens firewall der skal lukkes op
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.