Array
(
)

ERP Desenvolvimento

Riechelmann
   - 05 mai 2015

Boa Noite
Pretendo iniciar o desenvolvimento de um ERP para fins didáticos em CSharp com WPF, gostaria de tirar algumas dúvida, hoje na empresa que trabalho o ERP monta os formulários dinamicamentes, olhando a estrutura em um banco de dados com todas as propriedades, fazendo com que dentro do próprio ERP seja possível criar novos formulários a partir do próprio ERP sem que seja necessário nova compilação, só tive contato com esse ERP, pois sou novo na área e atuo a 3 anos que foi na mesma empresa que iniciei, gostaria de saber da opinião de outras pessoas que tem contatos com mais softwares, e se possível enumerar vantagens e desvantagens nessa abordagem, assim como se em outros softwares utilizam, ou os formulários são fixos sendo necessários alterar o fonte e compilar uma nova versão quando for necessário adicionar um novo recurso.

Joel Rodrigues
   - 08 mai 2015

Olá, Lucas. Essa abordagem "dinâmica" é interessante, sem dúvida, mas tem suas limitações, pois fica praticamente impossível tratar de forma completamente adequada cada campo com suas particularidades. Para que isso funcionasse de forma perfeita seria necessário um framework BEM completo desenvolvido especificamente pra esse tipo de aplicação, como o LigthSwitch (só que mais específico ainda).

Por exemplo, em uma mesma tela podemos ter campos de tipos distintos, cujas validações básicas são distintas e as validações de negócio ainda mais (CPF tem suas validações, data de nascimento tem outras, etc).

EU, PARTICULARMENTE, não usaria essa abordagem para fazer uma aplicação com fins realmente comerciais e na qual eu buscasse oferecer experiência de usuário adequada, funcionamento otimizado para o ramo de negócio, etc.

Um abraço e boa sorte.

Marcos P
   - 08 mai 2015

Lucas,

Do ponto de vista de flexibilidade em relação a interface com o usuário, essa abordagem é interessante.

Contudo me ocorrem duas restrições :

1. Se o sistema for muito extenso, não será muito oneroso gerar toda a interface dinamicamente ?

2. Como ficarão as regras de negócio ? Como ligar a interface com sua implementação ?

Eu, particularmente, utilizo essa abordagem em funções de baixa complexidade. Tipicamente a manutenção de cadastros básicos, que, implementam CRUD sem o uso de regras específicas.

Concordo com o Joel... para suporte a atividades fim, não existe margem para algo tão dinâmico.

Riechelmann
   - 08 mai 2015

Joel e Marcos

Obrigado pelo comentário, no ERP da empresa que trabalho, no framework que o dono desenvolveu todos os tratamentos são feitos em SQL, é possível tanto tratar campo a campo, como na gravação final de um registro, é possível fazer qualquer coisa, deixa o sistema bastante flexível, tanto que nas details dos formulários da para fazer consultas em SQL para auto preencher o campo, porém eu sou novo na área só conheço essa abordagem, pois é a primeira empresa que trabalho e estou desde o primeiro semestre da faculdade, e já estou no último, ainda não tive oportunidades de conhecer outros erps, as aplicações que trabalho são de nível de menores complexidades, como o ponto de venda e aplicativos voltados para frente de loja, hoje atualmente estou fazendo a integração do ecommerce descendo os pedidos do submarino, mas tenho curiosidade de conhecer outros tipos de abordagem, na empresa trabalho programando em Delphi e usando SQL, CSharp é bem pouco, mas é a linguagem que gosto e estudo bastante em casa, por isso estou procurando outros tipos de abordagem para dar incentivo ao meu estudo.