Desenvolvimento Remoto

Acabamos por decidir avançar com base no IIS5 mesmo sabendo que o Windows Server 2000 é um sistema em fim de vida, isto também pelo facto que o servidor de mapas que estamos a utilizar funciona apenas em IIS 5 e 6, ou seja, Windows Server 2000 e 2003, isto no que toca a ASP.Net.

Isto gerou uma situação caricata, pois o meu sistema operativo principal é o Windows Vista e o secundário é o Ubuntu 8.04 de modo que para fazer o desenvolvimento tive que montar um servidor de FTP na máquina virtual com o FileZilla Server, tem a desvantagem de a nível de ficheiros as operações serem mais lentas, mas a vantagem de estar sempre a ver a aplicação tal como será vista pelo utilizador final.

Requisitos e mais requisitos

Após a descoberta das limitações do Windows XP no que toca a servidor web mudamos para o mínimo de Windows 2000 Server, mas não há bela sem senão.

Os requisitos mínimos da framework .Net 3.5 são:

“Sistemas Operativos Suportados: Windows Server 2003; Windows Server 2008; Windows Vista; Windows XP”

Ora, isto com o que queríamos não dá, de modo que ficamos com a escolha de:

  • Desenvolver em .Net 2.0 para manter o Windows 2000 e perder funcionalidades como LINQ
  • Desenvolver para Windows Server 2003, alienando parte do público alvo

Nenhuma das hipóteses é completamente satisfatória e a escolha ficará para breve, quando todo o planeamento estiver finalizado.

Batalhando com o IIS 2 – Erro 500 (um deles)

Bem, esta batalha não foi minha, foi do meu colega de Projecto Nuno Almeida e infelizmente parece ser um problema relativamente comum pelo menos com a versão 5 do IIS.

A primeira coisa a descubrir é o que realmente se passa visto que a página de erro:

“HTTP 500 – Erro interno do Servidor”

 

Erro 500 em Internet Explorer 6

não ajuda muito.

Para tal é uma questão de ir às opções de internet e desligar a opção “Mostrar mensagens de erro em HTTP amigáveis” pois se estamos a desenvolver software já está na altura de usar as coisas simplificadas para os utilizadores normais.

Opção de erros amigáveis

Depois disto já conseguimos um pouco mais de informação:

“Server Application Error

The server has encountered an error while loading an application during the processing of your request. Please refer to the event log for more detail information. Please contact the server administrator for assistance.”

  

Erro no FileMonitor (Portugal é nome da máquina.)

1  14:31:19  svchost.exe:712    OPEN     C:\WINDOWS\system32\dllhost.exe    ACCESS DENIED  PORTUGAL\IWAM_PORTUGAL

2  14:31:19  svchost.exe:712    OPEN     C:\WINDOWS\system32\dllhost.exe    ACCESS DENIED  PORTUGAL\IWAM_PORTUGAL

 

e no registo de eventos:

Tipo de evento:   Aviso

Origem do evento:              W3SVC

Categoria do evento:        Nenhum

ID do evento:       36

Data:                     27-05-2008

Hora:                     14:23:51

Utilizador:                           N/D

Computador:       PORTUGAL

Descrição:

O servidor não conseguiu carregar a aplicação ‘/LM/W3SVC/1/ROOT’. O erro foi ‘Erro de acesso geral negado

‘.

Para obter informações adicionais específicas desta mensagem, visite o site de suporte online da Microsoft localizado em: http://www.microsoft.com/contentredirect.asp.

 

Para mais informações, consulte o ‘Centro de ajuda e suporte’ em http://go.microsoft.com/fwlink/events.asp.

  

Tipo de evento:   Erro

Origem do evento:              DCOM

Categoria do evento:        Nenhum

ID do evento:       10001

Data:                     27-05-2008

Hora:                     14:23:51

Utilizador:                           NT AUTHORITY\SYSTEM

Computador:       PORTUGAL

Descrição:

Não foi possível iniciar um servidor DCOM: {99169CB1-A707-11D0-989D-00C04FD919C1} como ./IWAM_PORTUGAL. O erro:

“O acesso é negado. “

Ocorreu ao iniciar este comando:

C:\WINDOWS\system32\dllhost.exe /Processid:{3D14228D-FBE1-11D0-995D-00C04FD919C1}

 

Para mais informações, consulte o ‘Centro de ajuda e suporte’ em http://go.microsoft.com/fwlink/events.asp.

 

Com isto se chega à conclusão que isto é um erro a nível de permissões, parecendo que por algum motivo o IIS não foi capaz de definir correctamente as permissões dos utilizadores que usa por definição nos seus serviços, e não é corrigido com a reinstalação do IIS.

Para resolver isto é uma questão de seguir os passos presentes nesta página de suporte da Microsoft.

Mas alto, mesmo assim ficou com erro.

Ao tentarmos aceder a http://localhost/iisstart.asp continuamos com os mesmos erros no browser. Quanto ao filemon.exe da sysinternals já não dá erros de “ACCESS DENIED” .

Se verificarmos agora o registo de eventos deixamos de ter o erro com o id 10001 e passamos a ter o erro com o id 10010.

O evento tipo aviso com id 36 mantêm-se

Tipo de evento:   Erro

Origem do evento:              DCOM

Categoria do evento:        Nenhum

ID do evento:       10010

Data:                     27-05-2008

Hora:                     15:09:52

Utilizador:                           NT AUTHORITY\SYSTEM

Computador:       PORTUGAL

Descrição:

O servidor {3D14228D-FBE1-11D0-995D-00C04FD919C1} não foi registado no DCOM dentro do tempo de espera requerido.

 

Para mais informações, consulte o ‘Centro de ajuda e suporte’ em http://go.microsoft.com/fwlink/events.asp.

 

 

 

Isto significa que ainda existem problemas e como o aviso id 36 indica, ainda se trata de um problema de permissões. Mais uma vez recorre-se às instruções de uma página de suporte da Microsoft.

 

No fim de seguir todos os passos de ambas as páginas de suporte deve-se acabar com algo do género:

 

IIS a funcionar

As próprias páginas de suporte da Microsoft indicam que estes problemas apenas afectam a versão 5 do IIS, mas tendo em conta que, como já referi, este será o nosso sistema minimo, convêm ter tudo a funcionar e saber como lidar com todo o tipo de problemas.

Multi-Toque em Windows 7

Ainda o Vista dá os primeiros passos e já a Microsoft está a preparar o Windows 7. Numa demonstração, a empresa revelou que vai lançar o sistema em 2009 e que terá funções multitouch.
A Microsoft revelou na conferência All Things Digital que vai lançar o Windows 7 em 2009 e que este terá tecnologia multitouch, trazida do Surface, noticia a PC Pro. O Surface é um computador que a Microsoft preparou, em forma de mesa, com um ecrã táctil.Os responsáveis da Microsoft disseram que nem todas as aplicações demonstradas poderão estar disponíveis na versão final. Apresentaram ferramentas como o Touchable Paint, que permite que o utilizador desenhe com os dez dedos em simultâneo.

Outras aplicações que tiram partido do ecrã táctil, como um globo que gira e que tem zoom e um programa de gestão de fotografias, com zoom utilizando dois dedos e funções de drag and drop foram também apresentadas.

Um novo sistema de menus que faz lembrar o sistema Mac OS X causou alguma controvérsia na apresentação.

Veja aqui um vídeo da demonstração:
Multi-Touch in Windows 7
Multi-Touch in Windows 7

Fonte: Exame Informática

Por acaso adoro este tipo de tecnologia, só falta os fabricantes de hardware suportarem monitores próprios e os de software utilizarem as suas capacidades. Oh e algo que faça com que isto não seja apenas uma coisa gira em que 99% dos utilizadores se farta ao fim de 5 minutos e começa à procura do rato…

Limitações IIS em XP

Bem, enquanto o IIS em Windows XP é bom para testes e desenvolvimento, o meu colega de projecto chamou-me a atenção para um “pequeno” pormenor: existe um limite de 10 ligações simultâneas no máximo. Para os nossos objectivos em desenvolvimento chega, mas a nível de público alvo fica muito aquém do necessário.

Esta limitação não parece ser relacionada com o sistema operativo em si, pois aparentemente o IIS 7 do Vista sofre do mesmo problema, mas sim com o facto de que para ter um servidor a “sério” a Microsoft quer que seja comprado um Windows Server, pois estes suportam muitas mais ligações. Parece uma política algo forçada, em especial pela questão que parece que na própria licença do Windows XP esta limitação é imposta (ainda não verifiquei) o que faz com que em casa seja possível tentar contornar esta limitação, mas a um nível profissional tal já não é visto com bons olhos.

Logo, olhando um pouco para o que se espera em Portugal a nível de software, o mais indicado será apontar para Windows 2000 Server e superior. Pode parecer um pouco estranho suportar uma plataforma com 8 anos, mas se tivermos em conta que o XP tem 7 anos já não é tão estranho. E se tivermos em conta que existe suporte por parte da Microsoft até 2010 podemos contar com pelo menos dois anos de vida.

Não deixa de ser curioso que num mundo em que de 6 em 6 meses tudo fica “desactualizado” se utilize um sistema operativo com 10 anos, ou mesmo considerando que o XP apenas acabará em 2014, um sistema operativo com 13 anos!

Escolhas de Blogar II

Mais um bocado de tempo gasto em busca de coisas simples. O “artigo” anterior tem um filme do youtube embutido, mas graças a uma ferramenta de pré-visualização algo falível para dizer o mínimo, incluir o vídeo não foi tarefa simples pois o wordpress tem várias funcionalidades a nível de segurança, sendo uma delas não deixar qualquer tipo de código ser executado pelos utilizadores.

Isto trouxe problemas no que toca a coisas como o youtube, mas para evitar problemas com coisas populares eles inventaram uma sintaxe própria só para o youtube, e sempre que colocamos um artigo com um link embeded o blog apanha e converte para o formato deles.

Tudo muito simples e bom, não fosse pelo facto de a ferramenta de pré-visualização não converter para o formato próprio ao mostrar o artigo, resultado: código bom dá uma má pré-visualização e uns bons minutos perdidos no google.

Bem, pelo menos aprendi algo que já devia saber: o botãozinho que diz help está lá por alguma razão…

Publicado em Misc. Leave a Comment »

Tecnicidades

 Eis algo engraçado, e mesmo eu que sou da área compreendo perfeitamente a sensação.

 Fonte: Peopleware

Batalhando com o IIS

De modo a poder definir os reais requisitos mínimos a nível do ASP.Net 3.5 resolvi instalar uma aplicação que fiz em trabalho para uma cadeira.

Para tal utilizei o Virtual PC 2007 com um Windows XP Professional SP3 inglês instalado, activando o IIS 5.1 que vem com o sistema operativo.

Como a aplicação a testar foi realizada com ASP.Net 2.0 como alvo configurar para tal foi o primeiro objectivo. Infelizmente cometi um erro, pois utilizei uma máquina virtual onde tinha o Visual Studio 2005 instalado e como tal já tinha o .Net 2.0 instalado antes do IIS de modo que após criar a directoria virtual e colocar a aplicação no sitio certo o que surgiu foi:

“Failed to access IIS metabase”

Após alguma pesquisa lá descobri que tal se devia a realmente ter o .Net 2.0 instalado antes do IIS. A solução é bastante simples:

  • ir para c:\windows\microsoft.net\framework\v2.05727\
  • correr “aspnet_regiis -i”

Isto força a registar o ASP.Net 2.0 correctamente no IIS. Problema resolvido. A partir deste ponto a aplicação já corria, mas qualquer interacção que implicasse gravar dados na base de dados resultava em:

“Failed to update database XXX.MDF because the database is read-only”

Bem, após mais investigação descobri que isto se deve a um bug a nível de permissões de acesso e a solução também não foi complicada:

  • desactivar a opção “use simple file sharing” no folder options
  • abrir a tab de segurança nas propriedades da pasta App_Data
  • adicionar os utilizadores “ASPNET” e “NETWORK SERVICE” sem as aspas
  • adicionar permissões de escrita nesses utilizadores
  • abrir a linha de comandos e executar “iisreset” de modo a reiniciar o IIS para este detectar as novas regras de permissões

Com isto a aplicação passou a correr na perfeição sem problemas.

Para passar a suportar aplicações ASP.Net 3.5 (não existe ASP.Net 3.0) foi uma questão de instalar o framework .Net 3.5 e não foi necessário mais nenhuma configuração visto a versão 3.5 funcionar essencialmente como uma extensão do 2.0 com a vantagem de já trazer o ASP.Net AJAX de origem. Para testar isto fiz upgrade da minha aplicação para 3.5 que no fundo acabou por se reduzir ao compilador adicionar mais umas linhas no web.config a anunciar a versão a utilizar e os assemblies extra necessários.

Com tudo configurado e testado a funcionar mesmo em internet ficou preparada a máquina de testes que irá ser utilizada durante o desenvolvimento do projecto. Ficou também definido que o requisito mínimo será provavelmente uma máquina com o Windows XP Professional SP2 ou superior.

Browsers Móveis

Algo que convêm considerar hoje em dia quando se cria uma aplicação web é se suporte para browsers móveis é algo que queremos fazer.

Já é relativamente comum ter, por exemplo, um telemóvel com browser. Mas estes browsers de dispositivos móveis são bastante limitados devido às próprias limitações dos dispositivos onde são utilizados, quer em termos de tamanho de ecrã como de memória e processamento.

No nosso projecto consideramos que, no tipo de aplicação de mapas que estamos a realizar, não será plausível a sua utilização em dispositivos móveis. Nem seria de todo prático o fazer pois seria impossível ver os detalhes necessários em tais dispositivos.

Mas enquanto esta geração de dispositivos durar convêm sempre os considerar, por muito que aparelhos como o iPhone demonstrem que é possível avançar para browsers de capacidade semelhantes a browsers de computador.

Robô-aranha!

Gostando eu deste tipo de coisas não pude deixar passar em branco esta noticia da Exame Informática:

” Investigadores do SRI International apresentaram na Califórnia um robô capaz de subir paredes. 
 
O SRI International é um grupo sem fins lucrativos e apresentou um robô que utiliza electricidade estática para subir paredes, imitando uma aranha, noticia o Popular Mechanics.
«É utilizada muito pouca energia para subir…e temos a possibilidade de subir paredes mesmo que tenham uma camada de pó», conta Harsha Prahlad, do SRI.

Este robô poderá ser utilizado para fins militares, segurança pública ou inspecções. Veja o robô-aranha em funcionamento aqui. “

Fonte: Exame Informática