Há uns tempos atrás falei do evento Scrum para Managers com o Mitch lacey. Recebi hoje mais um número da newsletter TechNet Flash, onde indicavam que os slides do evento já estão disponíveis para download.
Volto a frizar que o evento será repetido em Abril.
Reparei agora que já está disponível no site oficial a agenda actualizada do evento. Já tem horas e tudo. 

Decorreu hoje no auditório do Taguspark um evento sobre Scrum com o patrocínio da Microsoft e da Fullsix. A sessão foi dada por Mitch Lacey, formador certificado de Scrum. O Scrum consiste numa framework de desenvolvimento ágil. Foca-se principalmente no valor do produto para o cliente, havendo um forte acompanhamento por parte deste no processo de desenvolvimento, que se encontra em constante mutação, tal como os requisitos. Mais informações podem ser encontradas em www.scrumalliance.org.
Sinceramente ainda tenho de investigar sobre as diferenças entre Extreme Programming e o Scrum. Foi uma dúvida que me surgiu durante a palestra.

O orador voltará a Portugal em Abril, quando haverá uma repetição desta palestra, acompanhada de uma formação e certificação em Scrum ministrada pelo próprio. Mais informação sobre a certificação no site da FullSix.

Hoje passei o dia no anfiteatro da Microsoft num evento de ASP.NET AJAX. O orador foi Dino Esposito, um dos grandes nomes do ASP.NET, autor de diversos livros sobre o tema publicados pela Microsoft Press.
Dedicou-se algum tempo para falar sobre o que é na realidade o AJAX. Não é uma tecnologia, mas sim um paradigma de programação que proporciona uma melhor experiência de utilização aos utilizadores de aplicações web reduzindo o tempo de espera e agilizando a interacção. O AJAX assenta sobre tecnologias existentes e bem consolidadas tais como o Document Object Model (DOM), Javascript e o objecto XMLHttpRequest já suportado pelos diversos browsers e que permitem a comunicação assíncrona com o servidor web.
A história do objecto XMLHttpRequest que já tive oportunidade de utilizar em alguns projectos foi, para minha surpresa, desenvolvido inicialmente pela Microsoft. Segundo o orador as tentativas iniciais da Microsoft de realizar pedidos assíncronos a servidores web recorreram a uma applet Java desenvolvida para o efeito. Este antepassado do objecto não chegou à versão 1.0 sequer (problemas legais com a Sun?…).
Da parte da manhã falou-se sobre Partial Rendering. Consiste em recarregar apenas parte do conteúdo de uma página web, para reduzir o trafego entre cliente e servidor, agilizar a interacção e eliminar o flikering da página existente quando é carregada uma página por completo. Em ASP.NET esta funcionalidade é conseguida através da utilização dos controlos ScriptManager e pelo UpdatePanel.
Em todas as páginas ASP.NET que utilizem AJAX deve existir 1 e só 1 ScriptManager cuja principal função é fazer a inclusão das bibliotecas Javascript necessárias para o funcionamento do AJAX. Permite fazer uns “tunnings”, mas não vou entrar em pormenores.
O UpdatePanel é uma zona da página que é actualizada de forma independente do resto da página. Quando existe uma submissão realizada pelos controlos existentes dentro deste painel, apenas esta zona da página é actualizada. Bem, na realidade não é bem assim. Podem existir diversos painéis numa página, e podemos definir o comportamento destes painéis. Podemos definir que quando um painel é actualizado os restantes também o são, ou se apenas o painel que despoletou a actualização é alterado. É também possível programaticamente forçar a actualização de um painel.
O funcionamento simplificado de um UpdatePanel é o seguinte. Quando é realizada uma submissão da página o evento é apanhado pela biblioteca AJAX que impede a submissão que o browser ia realizar. Em vez disso utiliza um objecto XMLHttpRequest para efectuar o pedido, obtém a resposta de forma assíncrona, e utilizando DOM substituí o troço de HTML actual pela versão actualizada enviada pelo servidor.
Os UpdatePanel’s podem ser aninhados. Uma actualização num painel pai implica a actualização dos filhos. O contrário não é verdade. (Faz sentido, não faz?
) A actualização de um painel podem ser despoletada por triggers. Podemos associar o clicar de um botão que não se encontra em nenhum painel à actualização de um UpdatePanel.
Um conselho dado pelo Dino Esposito para a definição de UpdatePanel’s foi a análise das zonas da página que necessitam de actualização e as dependências entre elas. Quando menor a quantidade da página abrangida por um UpdatePanel melhor, pois reduz o trafego entre cliente e servidor subjacente a uma actualização do mesmo.
Na parte da tarde deu-se mais ênfase à utilização de serviços (webservices e WCF) no contexto do AJAX. Os exemplos demonstrados passavam pela definição de serviços com a interface JSON que consiste num formato de serialização de dados utilizada em Javascript.
A definição de serviços com esta interface permite que sejam invocados serviços em Javascript como se métodos se tratassem (através de proxies geradas automaticamente, à semelhança dos webservices no contexto tradicional) e cujo resultado sejam objectos com atributos acessíveis em Javascript que se assemelham às classes de objectos manipulados pelos serviços. Vejam este vídeo para ficarem com uma ideia mais clara do que me estou a referir. Faz parte de uma colecção de vídeos sobre ASP.NET AJAX. Nesta abordagem orientada aos serviços a elaboração da interface é dificultada, pois do servidor para o cliente deixa de ir HTML pronto a “colar” no browser, passando a serem retornados dados que devem ser introduzidos na interface através de Javascript.
O Dino Esposito vê tecnologias baseadas em plugins cross-platform como o Silverlight 2.0 e o Flex da Adobe como o futuro das aplicações web, por permitir a flexibilidade no desenvolvimento de interfaces com a facilidade de programação bem como a segurança dada por uma “sand-box” de execução.
Foi uma boa oportunidade de ficar a conhecer melhor a aplicação do AJAX à plataforma .NET.
Deixo esta referência a 2 eventos próximos (gratuítos) no auditório da Microsoft (para quem tem subscrita a MSDN Flash não é novidade
).
ASP.NET AJAX together at last (Dino Esposito) - dia 15 de Janeiro
Scrum para Managers (Mitch Lacey) - dia 1 de Fevereiro
Scrum é um processo interactivo e incremental para o desenvolvimento de produtos ou para a gestão de tarefas.

Este fim de semana decorreu na Universidade do Algarve um evento sobre tecnologias Microsoft organizado pelo Microsoft Student Partner Francisco Machado com o apoio do Núcleo de Electrónica e Infomática da Universidade do Algarve.

O evento contou com alguns Microsoft Student Partners como oradores (André Sousa, eu, Césa Correia, Gonçalo Chaves, Nelson Correira, Ricardo Portela). Na foto acima encontram-se ainda dois elementos do NEI.

Falou-se sobre a .NET framework (WPF,WF,WCF,Cardspace, LINQ), sobre desenvolvimento em ASP.NET e AJAX, Windows Vista, Office 2007, Silverlight, XNA e ainda sobre o Imagine Cup. O interesse do público em saber mais sobre estas tecnologias foi o responsável pelo sucesso do evento. Houve uma grande interacção durantes as sessões com perguntas e respostas e ainda mais importante com alguns momentos de debate sobre tecnologia.
Como a componente social destes eventos é muito importante, oradores, organização e público tiveram oportunidade de confraternizar num jantar.

O balanço deste evento é do meu ver bastante positivo. Conseguiu ser um evento elucidativo das tecnologias Microsoft do momento. Isto não quer dizer que alguém tenha saído do evento com o Know-How para iniciar o desenvolvimento a todo o gás, mas sim que deu a conhecer algumas potencialidades que podem ser aplicadas em alguns contextos. Do ponto de vista pessoal foi excelente conhecer alguns alunos desta universidade, e ter uma noção (por mínima que seja) da sua realidade.
Obrigado pela oportunidade por parte da organização, e pela presença e interesse do público. Até uma próxima oportunidade!