AJUDA COM PROCESSO / MELHOR TÉCNICA
Preciso entender esse tipo de modelos T4, nunca utilizei o mesmo. KERPLUNK é possÃvel fazer um vÃdeo explicando e postar no seu canal?
Bom dia.
Alguém já desenvolveu um sistema com arquitetura em 4 camadas? Poderiam me nortear como chegar nesse desenvolvimento para que meu projeto seja robusto?
Pensei em representar assim:
Camada Cliente (Web/Desktop)
Camada Apresentação (Servidor Web)
Camada Negócio (Servidor de Aplicação)
Camada de Banco de Dados
Gostaria de saber alguém pode me ajudar com o desenvolvimento, na verdade um norte para lógica do negócio. Estou sem tempo e não quero começar errado!
Por maisque já mencionaram técnicas aqui eu ainda estou procurando metodologia para fazer isso. Deixar as coisas da melhor forma para que a manutenção não seja algo moroso no futuro e que não venha ser ociosa tão cedo.
Veja como seria o meu desenho:
Alguém pode me ajudar? Não estou pedindo código e sim uma conversa produtiva para que eu não venha fazer errado.
Desde já agradeço a todos pela ajuda.
Alguém já desenvolveu um sistema com arquitetura em 4 camadas? Poderiam me nortear como chegar nesse desenvolvimento para que meu projeto seja robusto?
Pensei em representar assim:
Camada Cliente (Web/Desktop)
Camada Apresentação (Servidor Web)
Camada Negócio (Servidor de Aplicação)
Camada de Banco de Dados
Gostaria de saber alguém pode me ajudar com o desenvolvimento, na verdade um norte para lógica do negócio. Estou sem tempo e não quero começar errado!
Por maisque já mencionaram técnicas aqui eu ainda estou procurando metodologia para fazer isso. Deixar as coisas da melhor forma para que a manutenção não seja algo moroso no futuro e que não venha ser ociosa tão cedo.
Veja como seria o meu desenho:
Alguém pode me ajudar? Não estou pedindo código e sim uma conversa produtiva para que eu não venha fazer errado.
Desde já agradeço a todos pela ajuda.
Esse esquema é exatamente o padrão que uso. O cliente em si eu não conto como camada, de resto é exatamente a mesma coisa. E é a mesma coisa que já descrevi:
- Aplicações cliente: Web(Angular, React, MVC, HTML ou qualquer outro), hospedada seja lá onde for. No caso de aplicação mobile, desenvolvo hÃbridas usando Ionic/Cordova.
- WebAPI: Ficando em uma camada mais [Ô]interna[Ô]. Responsável pelo tráfego de informação. O que faz a gravação mesmo(trabalhar com o banco de dados) é uma DLL que geralmente uso Entity Framework)
- Banco de dados: Oracle ou SQL Server em sua grande maioria. Algumas exceções para MySQL e muito raramente Firebird.
- Aplicações cliente: Web(Angular, React, MVC, HTML ou qualquer outro), hospedada seja lá onde for. No caso de aplicação mobile, desenvolvo hÃbridas usando Ionic/Cordova.
- WebAPI: Ficando em uma camada mais [Ô]interna[Ô]. Responsável pelo tráfego de informação. O que faz a gravação mesmo(trabalhar com o banco de dados) é uma DLL que geralmente uso Entity Framework)
- Banco de dados: Oracle ou SQL Server em sua grande maioria. Algumas exceções para MySQL e muito raramente Firebird.
Então KERPLUNK de fato é o que mencionou.
Agora eu estou com problema pra montar as estruturas do sistema como uma boa utilização de DDD. Você pode me ajudar com isso?
Como você fez para arquitetar as classes? Tenho algumas dúvidas na seguinte situação.
Classes de Entidades:
Classes de Banco:
Espero não estar sendo uma pessoa arrogante em ficar fazendo essas perguntas, mas como é uma tecnologia que eu nunca me aprofundei muito foi na arquitetura de software. Isso está me deixando doido, pois hoje preciso dessas coisas e não sei aplicar na sua integra para deixar um sistema legal e rápido.
E para ajudar o tempo não é um forte aliado.
Agora eu estou com problema pra montar as estruturas do sistema como uma boa utilização de DDD. Você pode me ajudar com isso?
Como você fez para arquitetar as classes? Tenho algumas dúvidas na seguinte situação.
Classes de Entidades:
Citação:
Como usar as mesmas em projetos diferentes e centralizar as informações?
Tipo eu vou ter aplicações mobile, web, desktop que consumiram essas entidades, mas eu acabaria tendo que publicar nas três frentes de UI.
Portanto sempre que eu alterar uma entidade tenho que atualizar os três sistemas e não gostaria disso. Gostaria de centralizar isso, como você fez?
Classes de Banco:
Citação:
Como você está usando para trabalhar com transação caso seja necessário?
Por exemplo se eu quiser trabalhar com transação eu não quero ter que ficar passando a classe de banco como parâmetro de um método só para não perder a instância.
De que maneira arquitetou isso? Vi vários posts na internet, mas nada que me levasse para o entendimento concreto para colocar em prática.
Espero não estar sendo uma pessoa arrogante em ficar fazendo essas perguntas, mas como é uma tecnologia que eu nunca me aprofundei muito foi na arquitetura de software. Isso está me deixando doido, pois hoje preciso dessas coisas e não sei aplicar na sua integra para deixar um sistema legal e rápido.
E para ajudar o tempo não é um forte aliado.
Para suas duas dúvidas, a resposta é o Entity Framework(EF), mais precisamente com o regime de Code First. Nele, você cria suas classes POCO normalmente, de acordo com a estrutura desejada do projeto. Elas são [Ô]expostas[Ô] em um contexto de dados, que se encarrega do mapeamento e todas as ações CRUD necessárias para cada entidade. O EF, também tem nativamente um sistema de transações, simples e sem mistério. Então com essa parte pronta(Entidades Relacionais POCO e Entity Framework as expondo), você vai criar a camada WebAPI. Crie controllers compatÃveis com cada entidade que queira expor e os métodos desejados para cada uma delas assim como suas rotas e parâmetros(que são parte da rota, na maioria das vezes). Crie também um provedor de autorização, sugiro o uso de OAuth, que é bem simples de fazer, mas dá conta do recado. Todas essas coisas, tenho vÃdeos no meu canal mostrando como fazer, explicadinho e passo à passo.
Faça seu login para responder