none
Sugestao Perfomance RRS feed

  • Pergunta

  • Bom,

    Vou explicar minha situação e eu gostaria de algumas sugestões de arquiteturas para eu utilizar no meu software sendo que é primordial a alta perfomance.

    Bom tenho um projeto de software já completo em WPF e Linq To Sql, e gostaria de implementar a ele uma tecnologia entre cliente servidor devido a segurança e a perfomance que isso proporciona.

    Para isso fiz muitas pesquisas e encontrei o WCF, que é muito bom por sinal.

    Bom pensei em criar um serviço do WCF Data Services, para conseguir acessar o DataServiceContext e fazer as operações necessárias no meu client, porém como não tenho muito conhecimento nisso, preferi fazer alguns testes e percebi que tenho que mudar todo meu projeto, pois eu utilizo o DataClasses que o Linq To Sql gera no meu projeto e os métodos e propriedades são completamente diferentes entre o Dataclasses e o DataServiceContext , dificultando e muito meu trabalho.

    Pensei também em não criar um server e o meu software já fazer o acesso diretamente do banco de dados pelo mapeamento ORM do linq To Sql, mas não gostaria também de fazer isso devido a segurança e talvez a queda de perfomance.

    Bom, Esse é o meu cenário, o que voces me indicam para solucionar meu projeto?

    OBS:Meu software está desenvolvido com o padrão MVVM.

    Muito Obrigado a Todos.

    terça-feira, 1 de junho de 2010 19:13

Respostas

  • Assim... se vc criar interface das classe de dados do Linq to SQL (usa o extract Interfaces (ctrl + r, ctrl + I) na classe) e substituir no teu sistema as instancias das mesmas pelas interfaces (ex:

    vc tem uma entidade Cliente... dela vc cria uma interface ICliente

    public class Cliente: IClient { }

    onde no seu sistema estiver:

    Cliente cliente = new Cliente();

    vc colocaria

    ICliente = new Cliente();

    essa é a etapa 1

    feito isso... vc pode mover o seu Linq TO Sql para o WCF.... junto com as interfaces q vc criou... na base do arrastar os arquivos mesmo...

    essas interfaces vc vai usar como seus DataContracts do seu WCF...

    quando vc refernciar o Wcf no seu projeto, ele vai recriar essas interfaces nele... ai basta apagar as antigas e ajustar os Namespaces...

    ai onde esta o

    ICliente = new Cliente();

    vai ficar

    ICliente = meuWcfService.GetClient();

    não é facil para falar a verdade... mas esse acho q seria o metodo menos "doloso"


    What would Brian Boitano do ?
    ((2B || !2B) is Question) ?
    • Marcado como Resposta Thiago MDTech quarta-feira, 2 de junho de 2010 17:53
    quarta-feira, 2 de junho de 2010 01:18

Todas as Respostas

  • Ah... so um chute basico... não sei bem ate onde vai o seu projeto....

    mas e se no seu WPF vc trocasse as chamadas as entidades Linq por Interfaces das mesmas...

    vc poderia usar essas mesmas interfaces para gerar os seu DataContract do WCF...


    What would Brian Boitano do ?
    ((2B || !2B) is Question) ?
    terça-feira, 1 de junho de 2010 19:30
  • Rui,

    Desculpa mas creio que eu entendi a sua idéia, mas não entendi o por que da utilização?

    O que isso melhoraria no meu projeto?

    Obrigado pela resposta.

    terça-feira, 1 de junho de 2010 20:07
  • Assim... se vc criar interface das classe de dados do Linq to SQL (usa o extract Interfaces (ctrl + r, ctrl + I) na classe) e substituir no teu sistema as instancias das mesmas pelas interfaces (ex:

    vc tem uma entidade Cliente... dela vc cria uma interface ICliente

    public class Cliente: IClient { }

    onde no seu sistema estiver:

    Cliente cliente = new Cliente();

    vc colocaria

    ICliente = new Cliente();

    essa é a etapa 1

    feito isso... vc pode mover o seu Linq TO Sql para o WCF.... junto com as interfaces q vc criou... na base do arrastar os arquivos mesmo...

    essas interfaces vc vai usar como seus DataContracts do seu WCF...

    quando vc refernciar o Wcf no seu projeto, ele vai recriar essas interfaces nele... ai basta apagar as antigas e ajustar os Namespaces...

    ai onde esta o

    ICliente = new Cliente();

    vai ficar

    ICliente = meuWcfService.GetClient();

    não é facil para falar a verdade... mas esse acho q seria o metodo menos "doloso"


    What would Brian Boitano do ?
    ((2B || !2B) is Question) ?
    • Marcado como Resposta Thiago MDTech quarta-feira, 2 de junho de 2010 17:53
    quarta-feira, 2 de junho de 2010 01:18
  • Rui,

    Obrigado,

    Entendi a utilizacao vou fazer uns testes com essa sua sugestao.

    quarta-feira, 2 de junho de 2010 17:53