Jump to content
Jose Guerreiro

Correr codigo em tempo real

Recommended Posts

Jose Guerreiro

Olá a todos,

Temos uma aplicação de controlo interno de guias de transporte(a parte de comunicação com AT é feita pela aplicação de facturação) que "distribui" as guias por 2 transportadoras, essa escolha é feita pelos utilizadores.

Para cada transportadora existe eventos com perguntas aos utilizadores e no final gera um ficheiro com determinados campos das GT.

Até ao momento não tem existido grande problema pois apenas trabalha com duas transportadoras e o ficheiro gerado ainda não foi alterado.

Como podem verificar, caso exista uma nova transportadora ou a necessidade de alterar o ficheiro temos de desenvolver codigo e recompilar.

O desafio colocado é acabar com a necessidade de desenvolver e recompilar a aplicação e passar correr codigo em tempo real com as necessidades que forem exigidas, codigo esse guardado em base de dados.

Já pesquisamos e até agora temos duas soluções em cima da mesa, NLua ou codigo C# em runtime

Na vossa opiniao qual a melhor solução a implementar neste cenário?

Outras sugestões são bem-vindas :)

Obrigado

Share this post


Link to post
Share on other sites
He B TeMy

Código numa base de dados? A compilação demora assim tanto que está completamente fora de questão? Não faz muito sentido na minha opinião... se tiveres que alterar a aplicação é lógico que tens que alterar o código.

Quanto ás transportadoras, não sei que tipo é, mas não deveria mudar muita coisa sem ser o nome entre cada uma (mais uma vez, estou a especular) , podes sempre fazer modelos para todas as transportadoras possíveis e depois usares cada um para cada transportadora...

Se quiseres continuar por código em runtime, usa c# code provider ou qq outra coisa parecida.

Share this post


Link to post
Share on other sites
Jose Guerreiro

Ola viva,

Até agora não dá muito trabalho, mas não sabemos do que aí vem, é um desafio colocado pelo gestor do projecto julgo para tirar a necessidade de parar outros desenvolvimentos,burocracias e não mexer em timelines quando existir alterações nas transportadoras.

De momento as transportadoras são escolhidas pelo nome, depois é criado um workflow com determinadas perguntas para cada transportadora( p/ exemplo, o serviço , dia e hora para a recolha, quem paga os portes, etc), no fim é criado um ficheiro com os campos das guias e as escolhas das perguntas.

Em ambas as transportadoras as perguntas são diferentes e o tipo de dados a escrever do ficheiro tambem são diferentes.

Por exemplo,se existir a necessidade de uma das trasportadores ter um novo campo no ficheiro, temos de adicionar apenas "duas linhas de codigo"(duas cof cof) e recompilar o projecto, actualizar a app, etc.

Se tivermos isso a correr em runtime apenas teriamos de alterar o codigo guardado algures e não necessitavamos de recompilações, actualizações, etc.

Seria do estilo colocar uma "macro" na aplicação, quando necessitar de alterar apenas teriamos de alterar a "macro"

Nada está decidido e a ideia de modelos é mais uma em cima da mesa.

Obrigado pela dica :)

Share this post


Link to post
Share on other sites
mIn3ir0

Bom dia Jose Guerreiro,

Em c#.net não é possível alterar o código fonte da aplicação ser ter de ser parada a sua execução e voltar a ser recompilada. Poderá é ser pensada uma arquitetura diferente da aplicação onde, por exemplo, para cada transportador poderia ser criado um "set" de questões e guardado em base de dados. Depois após escolher a transportadora desejada, essas mesmas questões eram carregadas (num formulário, por exemplo) e as respostas iam sendo armazenadas também em base dados. Depois era só juntar tudo (usando as PK).

[OFFTOPIC]

Alterar código sem parar a execução do mesmo, só me faz lembrar as edições das supervisões (Scadas) da SIEMENS (WinCC), onde pode ser alterado no projeto e basta guardar que aquilo assume logo as alterações sem mandar a aplicação abaixo.

[/OFFTOPIC]

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.