Avatar billede Simon Praktikant
05. april 2006 - 11:17 Der 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?
Avatar billede arne_v Ekspert
05. april 2006 - 14:34 #1
windows service kører af sig selv men mangler interface

web service kører kun når den bliver kaldt men har interface indbygget

hvis alt er initieret af klienter => vælg web srevice fordi det er langt nemmere
at kode

hvis du skal have udført ting på tid etc. så vælg windows service p.g.a. fleksibiliteten
Avatar billede Simon Praktikant
05. april 2006 - 16:32 #2
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.
Avatar billede arne_v Ekspert
05. april 2006 - 17:28 #3
jeg vil sige windows service saa

og jeg tror ikke paa at blande - det vil bare give en mere kompleks loesning
Avatar billede Simon Praktikant
06. april 2006 - 11:27 #4
Hvis jeg kun benytter en windows service, kan denne så tilgås fra andre maskiner i netværket? Er det ikke netop dette en webservice er til?
Avatar billede arne_v Ekspert
06. april 2006 - 13:12 #5
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)
Avatar billede Simon Praktikant
06. april 2006 - 15:55 #6
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?
Avatar billede arne_v Ekspert
06. april 2006 - 16:13 #7
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)
Avatar billede 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?
Avatar billede arne_v Ekspert
08. april 2006 - 15:20 #9
igen er sockets det nemmeste ford de er bidirectional
Avatar billede Simon Praktikant
10. april 2006 - 10:58 #10
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?)
Avatar billede 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.
Avatar billede Simon Praktikant
10. april 2006 - 11:17 #12
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
Avatar billede Slettet bruger
10. april 2006 - 12:32 #13
svar
Avatar billede arne_v Ekspert
10. april 2006 - 12:34 #14
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
Avatar billede arne_v Ekspert
10. april 2006 - 12:34 #15
og svar
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester