Inquiridor
Melhoria de Performance

Pergunta
-
Bom dia a todos,
Preciso fazer uma melhoria na performance de consumo do web service.
Eu implementei a seguinte solução:
Ao invés de retornar a string original, em que na maioria das vezes retorno xml, eu faço um processo de compactação da string dentro do web service e retorno a string compactada. Obtendo assim por exemplo uma melhoria de 13Mb para 700Kb.
E depois no Client eu faço o processo de descompactação, voltando assim ao tamanho original.
Alguém tem uma outra idéia para fazer uma melhoria de performance?
obrigado,
Vinicius
Todas as Respostas
-
Um bom começo seria reduzir o tamanho do XML. :-)
Se você tem um web service que retorna um XML de 13Mb então você tem um sério problema. Web services não são a melhor alternativa para trocas maciças de dados. O que você está tentando fazer? Talvez haja outro protocolo mais apropriado.
-
Igor,
O Web Service vai fazer uma consulta no banco e retornar um Xml para a aplicação client.
O obejtivo principal é atualizar uma base dados, ou seja, a partir de uma determinada data recuperar os dados de uma base principal e atualizar a base de dados nos clients.
Espero ter sido claro,
Att;
Vinicius Dias Medeiros
-
-
Igor,
Estou usando Sql Server.
Vou pesquisar a respeito de replicação conforme sua indicação.
Mas o que acontece é o seguinte, as bases de dados client são mais de mil. Ou seja, teria q fazer um processo de replicação para todas estas a partir de uma principal.
-
Sem problemas. Com o SQL Server Express 2005 nos clientes esse processo é relativamente tranquilo.
UPDATE: Veja mais detalhes sobre replicação em http://msdn2.microsoft.com/en-us/library/ms165700.aspx
-
Igor,
Esqueci de mencionar.
Na aplicação Web estou usando o servidor Sql Server 2000 e nos clients estou usando MSDE.
É possível fazer um processo de replicação usando essas bases(Sql Server 2000 para MSDE) e também se é possível fazer esses processo através de uma aplicação Web, ou seja, o client ter a possibilidade de fazer essa atualização através dessa aplicação?
Obrigado,
Vinícius
-
Vinicius Medeiros wrote: Igor,
Esqueci de mencionar.
Na aplicação Web estou usando o servidor Sql Server 2000 e nos clients estou usando MSDE.
É possível fazer um processo de replicação usando essas bases(Sql Server 2000 para MSDE)
Sem problemas.
Vinicius Medeiros wrote: é possível fazer esses processo através de uma aplicação Web, ou seja, o client ter a possibilidade de fazer essa atualização através dessa aplicação?
Mais ou menos. O SQL Server usa um protocolo proprietário para replicação de dados. Isso implicaria em abrir uma outra porta no firewall do servidor Web. Se a sua aplicação estiver hospedada num provedor, isso pode (ou não) ser um problema.
A vantagem do SQL Server 2005 é que ele oferece suporte à replicação sobre HTTPS (http://technet.microsoft.com/en-us/library/ms151763.aspx).