none
Em uma aplicação Web de pequeno porte de 3 camadas o que é mais vantajoso a nível de performance e segurança fazer com a camada de dados? RRS feed

  • Pergunta

  • Gente estou com uma duvida em relação a estrutura da camada de dados de uma aplicação Web de Pequeno porte:

    Estou desenvolvido uma aplicação em 3 camadas, a principio a camada de dados esta sendo feita com classes de persistência na aplicação (C#).

    Minha duvida é a seguinte, no caso de um ambiente web, o que é mais vantajoso a nivel de perfomance e segurança fazer:

    - Criar os métodos CRUD (Create, Read, Update, Delete) na própria aplicação com passagem de parâmetros para evitar o SQL Injection e enviar a string da SQL para o banco de dados. 

    Ou

    - Criar Stored Procedures no banco para todas as operações CRUD e somente chamar essas SPs nos métodos das classes de persistência?

    Valeu ;D
     
    quinta-feira, 24 de janeiro de 2013 18:19

Todas as Respostas

  • Felipe,

    uma boa ideia seria usar o ORM, poderia usar o Entity Framework, que possui grande integração com os projetos do VS. Mesmo um projeto de pequeno porte pode se beneficiar das qualidades de um ORM.

    E o usando corretamente você já se livra do problema de SQL Injection.

    Abraços!


    Alexsandre Rodrigues de Almeida - MCTS .NET Framework - Web Applications
    E-mail: alexsandrer@gmail.com
    Twitter: @AlexRAlmeida

    quinta-feira, 24 de janeiro de 2013 18:45
  • Obrigado pela dica Alexsandre, vou pensar na possibilidade, porem nunca trabalhei com o conceito de ORM é muito diferente de se trabalhar do jeito tradicional criando classes para conexão e para métodos CRUD?
    quinta-feira, 24 de janeiro de 2013 19:01
  • Felipe,

    Não há muito diferença.

    O ORM permite que você faça a relação/mapeamento entre suas classes no C# e seus objetos de banco de dados(tabelas, views). Com ele você tem classes que são as responsáveis por buscar e manter os registros na base, para você o banco fica mais transparente.

    Com isso você trabalha com seu modelo de objetos, sem ter que ficar pensando em como fazer para salvar e ou buscar no banco. Além de que os ORM já levam em consideração segurança e perfomance de suas consultas/updates no banco.

    Como disse que nunca trabalhou com ORM, pode ser um grande oportunidade para conhecer, e poder ter sua própria opinião a respeito de usar ou não ORM em futuros projetos.

    Abraços!


    Alexsandre Rodrigues de Almeida - MCTS .NET Framework - Web Applications
    E-mail: alexsandrer@gmail.com
    Twitter: @AlexRAlmeida

    sexta-feira, 25 de janeiro de 2013 10:53
  • Concordo com o Alexsandre,

    Já que você nunca trabalhou com ORM e pelo fato de ser uma aplicação pequena, terá a chance de conhecer e se familiarizar com esse conceito.

    • Sugerido como Resposta Rafael Rodriguess segunda-feira, 28 de janeiro de 2013 11:01
    domingo, 27 de janeiro de 2013 13:51