APP .NET EM SERVIDOR

LUIS.HERRERA 08/07/2011 15:07:40
#378788
Boa tarde,
Com o VB.net agora não será mais possível criar um aplicativo e deixá-lo no servidor para ser compartilhado pelas estações através de atalho, evitando assim de atualizar micro por micro como se fazia no VB6?

Se o MSIL é compilado em tempo de execução, então se uma estação XP carrega o EXE no servidor e outra estão Vista 64 também, haveria um conflito, ou a compilação faria uma bangunça, deixando o EXE com partes de compilação de uma versão do windows e outras parte com outra versão de compilação, que ao final poderia impedir o acesso em qualquer micro, pois ao acessar uma rotina compilado no VIsta pelo XP não funcionaria ou vice-versa.

Com isso devemos concluir que o .NET obriga que voltemos a instalação máquina a máquina de um aplicativo?

Isso então gerará 03 problemas:

1- Toda atualização do programa exigirá que cada estação faça download do site (sobrecarregando o fluxo de dados e volume de acessos do site, gerando um eventual custo)

2- Toda atualização obrigará nova recompilação do aplicativo em cada estação, o que comprometerá sempre o desempenho inicial ao usar cada rotina do sistema. (para software com atualizações frequentes, implementações, correções, melhorias, etc... isso pode deixar o cliente irritado/reclamando do desempenho)

3- Como as novas versões do windows vem aumentando as proteções e restrições de instalações, toda vez que o software tiver de ser atualizado, isso não poderá ser feito automaticamente, somente por intervenção do Administrador do Windows, que é quem pode instalar ou remover aplicativos. Numa empresa isso pode sobrecarregar o TI e haver reclamações ou até mesmo um boicote a determinado software por parte desses funcionários, o que já cansei de presenciar em outras situações.

Pergunta:
Como vocês estão contornando tal situação, levando em conta um software empresarial de banco de dados, com dezenas de estações simultâneas e parque informatizado bem heterogêneo, várias versões de windows ?
LUIS.HERRERA 08/07/2011 16:13:14
#378797
OCELOT vamos lá...

Tudo que já lí de .NET diz exatamente que o IL inicia a compilação do EXE durante a primeira execução. Porém ela não é total, não pega 100% do APP e gera um novo EXE, mas sim compila só as rotinas usadas no momento, então o EXE é compilado conforme vai sendo usado. Isso é o que lí, se estiver enganado então tem muita gente escrevendo bobagem na web.

Como usar o programa em rede é uma falha de segurança?

Se um vírus entrar no servidor, não será o meu programa que irá dissiminá-lo na rede, mas sim a própria rede quando alguém se logar nela.
Sobre senhas, isso fica criptografado dentro de banco de dados e o que tem isso com o fato do EXE estar no servidor? O acesso as senhas é distinto do acesso ao EXE, não deu para entender sua colocação.

Citação:

O ideal é que se crie um sistema de atualização automática, pode-se por exemplo criar um serviço do Windows que roda com permissões elevadas para fazer a atualização, assim os usuários não precisam ter acesso de administrador para que o programa seja atualizado.



Isso sim é sim muito bom, só descobrir como criar um serviço desse nível.

Quando a segurança do windows, não disse que é algo de agora, mas que vem aumentando a cada versão. Também não disse que é algo ruim ou coloquei [Ô]culpa[Ô] nele como disse, só constatei o fato para elucidar a situação quanto a atualizações, mas como você bem colocou dos serviços do windows para isso, já deixou bem clara a saida dessa situação (ok).

Meu posto foi só para entender essas situações:

- Quando a atualização: Ok via serviço;
- Quando a compilação: Problema compilação parcial (rotina a rotina);
- Quando a lentidão Desempenho: Problema da recompilação em cada atualização. (nota as vezes tenho 3 ou 4 atualizações no mês), pois os clientes vivem pedindo isso, mais aquila, etc...e muitas vezes para se agradar um cliente não dá para esperar um mês e soltar a solicitação dele, nem toda empresa é uma Microsoft para fazer isso.

KERPLUNK 08/07/2011 16:20:55
#378800
A solução é simples. Use aplicações WEB.
RODRIGOFERRO 08/07/2011 20:04:03
#378829
Bom eu tambem tenho plena certeza de que usar aplicativo compartilhado de outra maquina é meio que uma [Ô]gambiarra[Ô] e que é uma falha na segurança da rede..

Hoje em dia temos computadores mais poderoso e mais rápidos, temos internet rápida, e o modelo de Programação mudou, com a programação em camadas voce pode atualizar somente partes do seu código, deixando seu executavel bem pequeno, coisa de alguns megas, e volto e repito quem tem vários computadores tem que ter dinheiro para investir em equipamento, para acabar com essa de deixar tudo nas costas do pobre programador se virar !

Abraços
RODRIGOFERRO 08/07/2011 20:43:06
#378831
e vou mais além, configurar uma maquina como servidor e somente ela irá baixar a atualização da internet e ira colocar essa atualização em uma pasta na rede onde as outras maquinas poderão enxergar e se auto-atualizar...


Abraços
LUIS.HERRERA 09/07/2011 12:17:53
#378853
OCELOT isso que você disse, sendo realmente assim, é mais um ponto negativo do .Net, pois o desempenho será sempre [Ô]ruim[Ô], uma vez que muitas aplicações são executadas ao iniciar o dia e encerrada no final dele.

Todos os comentários que li na web, faziam referencia a compilação de cada rotina apenas uma vez (reescrevendo o EXE realmente compilado) e não a cada vez que o windows é iniciado, com isso o desempenho do .Net se torna precário, pois nenhum usuário gosta de lentidão e as empresas [Ô]Brasileiras[Ô] não trocam os micros a cada lançamento de processador ou windows.

Sei que o sistema de cache melhorou muito e que todo aplicativo carregado a primeira vez é bem mais lento na segunda, percebo isso diariamente com Outllok e outros aplicativos que abro algumas vezes como Word, excel etc.. mas pelo que disse isso se aplica a compilação do .Net também e não a digamso [Ô]regravação[Ô] do EXE compilado definitivamente. Isso funciona então como uma QUASE [Ô]interpretação[Ô] do código, pois é compilado sempre na primeira execução do [Ô]dia/inicialização do windows[Ô].
LUIS.HERRERA 09/07/2011 14:00:20
#378856
OCELOT obrigado pela explicação clara, entendido.

Só uma pergunta: Você comentou sobre [Ô]...bibliotecas do framework são pré compiladas para código nativo... [Ô] eu li algo sobre isso, onde durante a instalação se pode forçar o instalador a gerar a pré-compilação do IL para código nativo de uma aplicativo .Net. Isse então funcionaria como uam compilação REAL do EXE ou seria a mesma coisa de só compilar em cache após a instalação, mas o EXE continuaria sendo um IL?

Se essa pré-compilação, acho que usa o tal NGEN, realmente gerar um EXE em linguagem de máquina, como isso é feito, pois seria a solução para algumas situações, uma vez que o instalador iria compilar para a plataforma onde estaria sendo usado, e assim independente da plataforma ou versão do S.O, estaria compilado corretamente. é Isso?
Tópico encerrado , respostas não são mais permitidas