quinta-feira, 1 de janeiro de 2009

Microsoft Search Server 2008

Um produto muito interessante que tem passado um pouco ao lado do mercado português. Este Search Server 2008 tem tudo para resultar nos projectos que vamos implementando.

Quem não se lembra de usar soluções CMS com Sharepoint 2003, apenas porque tinha necessidade de criar uma pesquisa sobre os conteúdos criados. Este novo produto vem resolver isso mesmo, ou seja, reutilizaram a funcionalidade de pesquisa do Sharepoint numa solução bastante light. Ainda por cima a versão base não tem quaisquer custos associados.

Este software funciona com uma série de fontes:
• Partilha de ficheiros
• Bases de dados Lotus Notes
• Motores de pesquisa como a Wikipedia
• Existem conectores para FileNET
• E claro, tudo o que criares nos teus sites. Inclusive conteúdos de ficheiros

Ainda tem que ser submetido à prova mas parece que a Microsoft acertou mais uma vez no caminho certo!

Deixo aqui alguns links onde podem retirar mais informação:
http://www.microsoft.com/EnterpriseSearch/
http://www.microsoft.com/enterprisesearch/flash/MSSX.html

Alguns cuidados a ter com a performance de websites

Um assunto já amplamente discutido tem a ver com a optimização da performance das aplicações ASP.Net. Ninguém pode descurar a definição de regras básicas tendo em vista o melhor funcionamento das suas aplicações.

Principalmente na fase inicial de cada projecto, devem ser adoptadas soluções adequadas aos seus requisitos, de modo a que não hajam desagradáveis surpresas numa fase mais avançada, o que na maior parte dos casos vai acarretar a custos não previstos e elevados.

Um dos grandes objectivos deste blog é dar conhecimento de algumas formas e soluções para optimizar a performance das aplicações Web. Começo por deixar aqui alguns conselhos, já antigos, mas que nunca devem ser esquecidos.

1. Evitar idas desnecessárias ao servidor
Sempre que possível utilizar Javascript para controlar o aspecto e funcionalidade das páginas. É impressionante o número de aplicações que fazem uma ida ao servidor apenas para mostrar um controlo, ou fazer pequenas validações, obrigando a reconstruir toda a página.

Utilizar o “Page.IsPostBack” no load das páginas para evitar processamento desnecessário.

Se ainda não usas metodologia Ajax, deves começar o mais rápido possível. Além do melhor aspecto funcional das aplicações, evita em muito, a sobrecarga de trabalho e informação que é gerada para cada construção integral da página.

2. Usar o viewstate apenas quando necessário
Apesar de muito simpático, facilmente podemos perder o controlo do viewstate. Basta olhar para o html gerado daquelas páginas mais pesadas, principalmente as que fazem uso de datagrids ou repeaters, para ver aumentar exponencialmente o tamanho da nossa página.

Por defeito está activo, mas caso não precisemos dele, podemos sempre desactivá-lo das seguintes formas:
• Ao nível do controlo – colocar a propriedade EnableViewState=”false”
• Ao nível da página – colocar a directiva de página EnableViewState=”false”
• Ao nível da aplicação – colocar no Web.config a chave

3. Não usar excepções para fazer validações
Este tipo de código pode trazer complicações ao servidor, basta fazer um pequeno debug e ver o tempo que ele demora a gerar a excepção.

public bool IsNumeric(string val) {
  try {
    int number = int.Parse(val);
    return true;
  }
  catch {
    return false;
  }
}

4. E antes de colocar em produtivo…
Tirar o trace e o debug. Por incrível que pareça, é tão fácil de esquecer que já vi bastantes aplicações em produtivo com estas chaves activas.

No Web.config coloca:
<configuration>
<system.web>
<trace enabled="false" pageOutput="false" />
<compilation debug="false" />
</system.web>
</configuration>