Webservices ou Windows services

javac

Membro
Boas estou a fazer um projecto de sincronização de dados e preciso de saber o que devo usar, mas não sei quais as vantagens e desvantagens dos dois...alguem sabe dizer algumas!?

obrigado
 
Primeiro é essencial perceber mais sobre que tipo de aplicação se trata, uma vez que Windows Services não estão directamente relacionados com Web, ao contrário dos Web Services
 
Primeiro é essencial perceber mais sobre que tipo de aplicação se trata, uma vez que Windows Services não estão directamente relacionados com Web, ao contrário dos Web Services

Boas trata-se de uma aplicação em c# para sincronizar dados entre base de dados iguais. a sincronização é feita a a partir de web services ou windows services...terei de escolher consoante as vantagens e desvantagens
 
Bem, vou assumir que estamos a falar de tecnologia Microsoft.
Em primeiro lugar, para um web service vais necessitar de um web server que o sirva, que não tem que ser necessariamente o IIS (existe por exemplo o UltiDev Cassini que funciona bastante bem), e até pode ser construído um na aplicação.
A grande vantagem dos Web Services é que, a aplicação cliente que invocar, é independente de uma plataforma específica, ou seja, não precisa de saber que linguagem ou plataforma é utilizada para o desenvolvimento do Web Service. Apenas necessita saber como comunicar para receber e enviar mensagens (tipicamente SOAP/XML ou JSON agora com a proliferação de AJAX), permitindo que um site em php ou java façam um pedido a um Web Service desenvolvido em ASP.Net.
No entanto tem a desvantagem de ser dependente de um pedido HTTP para iniciar uma tarefa, uma vez que a aplicação ASP.NET só responde a pedidos HTTP, obrigando à chamada através de um processo externo ou por parte de um utilizador.
Por outro lado, o Windows Service estará instalado no servidor (máquina), e permite que assim que arranque o Windows, seja executado código, permitindo que mesmo que o servidor reinicie, a aplicação inicie por ela própria.
Pode ser no entanto, e dependendo da arquitectura da aplicação, utilizados os dois em conjunto, por exemplo, usando o Windows Service que terá apenas código para em determinados intervalos de tempo invocar num determinado URL o Web Service, deixando para este a tarefa de sincronização.
O anterior exemplo é válido apenas num cenário em que seja necessário executar a sincronização no contexto da aplicação ASP.Net, pois caso contrário, o próprio Windows Service poderá (deverá) espoletar as tarefas para sincronizar as bases de dados.
Resta-me dizer que muitos dos processos executados em background no Windows, são Windows Services.

Espero ter ajudado.
 
Obrigado pelas dicas...penso que vou optar pelo web service porque para alem de ser dependente da plataforma como dizes tambem está normalizado. Poderei utilizar um sistema free source para o colocar á disposição..tipo unix.

A ferramenta que vou usar para criar a aplicação é visual studio 2008 pois tenho acesso a ele gratis devido á minha escola ter protocolo msdn.


A aplicação é um programa em c# que permite introduzir dados numa base de dados local, fazendo posteriormente uma sincronização com a ajuda de web services á base de dados remota.
 
Obrigado pelas dicas...penso que vou optar pelo web service porque para alem de ser dependente da plataforma como dizes tambem está normalizado. Poderei utilizar um sistema free source para o colocar á disposição..tipo unix.

A ferramenta que vou usar para criar a aplicação é visual studio 2008 pois tenho acesso a ele gratis devido á minha escola ter protocolo msdn.


A aplicação é um programa em c# que permite introduzir dados numa base de dados local, fazendo posteriormente uma sincronização com a ajuda de web services á base de dados remota.

Se é .NET não é independente da plataforma, seja windows service ou WebService... a não ser que o MONO suporte.

O "cliente" do WebService é que pode ser em qualquer plataforma.
 
Exacto....expliquei-me mal...caso pretendam que a aplicação funcione em linux...poderei criar a aplicação em java e chamar na mesma o web service sem problemas.

Obrigado pelas dicas
 
Back
Topo