Ontem a noite foi de Country Drinks, num bowling perto do Centro de Conferências. Imensa gente na conversa e a jogar, foi divertido, e tive oportunidade de conversar com vários conhecidos que não via há anos e que reencontrei. O Pedro Rosa da MS levou as t-shirts da "Portuguese Team", que se pode ver aqui, e que na frente inclui os logotipos da Microsoft e do GASP. Porquê a frase? O Pedro um dia explica-vos. J
Aproveitei também para ir falar com o Lee Graber, Dev Lead da MS na equipa de BizTalk, e juntamente com outro MVP de BizTalk (somos espécies raras, entre muitos MVP's de ASP.NET) do Chipre, estive a esclarecer várias questões que tinha acumuladas. Soube dar-me alguns detalhes sobre aspectos concretos da implementação do "coração" do BizTalk, uma vez que muito do que existe foi desenvolvido por ele (por exemplo, muitos dos stored procedures), e mesmo da organização da equipa que desenvolve o produto. Muito interessante.
Da mesma forma estive com a "minha" MVP Lead da Microsoft, com o Damir Tomicic que está cá em representação da IASA (e está mais gente de outros chapters), e com dois holandeses do User Group .Net holandês, ambos MVPs e com livros publicados, a conversar sobre panoramas de tecnologias nos dois países, e cenários para publicação de livros. Trocar ideias e conhecer pessoas é um dos aspectos mais interessantes destas conferências.
Tenho a impressão de já ter visto esta sessão em algum lugar. Sem muito de novo, foi mais um "refresh" de WCF. Em termos de segurança, requisitos que o WCF cumpre são coisas como:
Ainda em termos de segurança, apresentou conceitos importantes como Credenciais, Claims, e Security Model, e mecanismos de segurança como Segurança no Transporte, Segurança ao nível da Mensagem, e Segurança com Federação (incluindo aqui a utilização de um STS). E se o WCF não fizer o que pretendemos? "extensibility in WCF can be complex, but it is completely possible".
Passando à componente de reliability, falou de questões como problemas de comunicação (ex: perda de pacotes), ou de processamento (como idempotência). Prosseguiu com a questão da transaccionalidade, tanto em termos de tx atómicas como de longa duração, e compensação (acção manual para reverter uma transacção que fez commit). Passou ainda por queues (inc. a dead letter queue) e poison messages e a sua detecção.
A terminar, a parte mais interessante, que faz sempre uma boa demo, tem a ver com reliable sessions, bastando sinalizar o cliente e o servidor com as configurações adequadas. A demo incluía um "cubo mágico" e a face do Don Box, com um intermediário que introduzia perdas nas invocações. Já deve ter sido feita 100x, mas tem sempre interesse.
Agora que o WCF já está em RTM, já não há desculpa para continuar a usar ASMX. E até meados de Dezembro, vem a Service Factory para WCF (que neste momento existe para ASMX apenas).
Não voltei a colocar resumos de sessões, porque tenho despendido o tempo livre que tenho a produzir uma submissão para o concurso Iron Architect do TechEd. O vencedor ganha financiamento para concorrer à certificação Microsoft Certified Architect, no valor estimado de €8000.
O problema a resolver é semelhante ao que foi lançado no TechEd em Boston, mas com o objectivo de conceber uma forma de agendar reuniões entre participantes na conferência, speakers e community leaders. Amanhã concorrentes seleccionados vão ter a oportunidade de em 10 minutos apresentar a sua solução ao juri (Beat Schwegler, Ron Jacobs, Juergen Pfeifer e Arvinda Sehmi...). Sei que há outro concorrente do GASP (o Luis Martins da Organtex, no Porto), o que não deixa de ser interessante. J Que ganhe o melhor, a minha proposta já seguiu.
Entretanto, há duas outras pessoas do GASP por aqui: o Paulo Cunha da IT Sector, no Porto, e o Nuno Cândido Antunes, do BPI. Andamos todos aos encontrões nas sessões de Arquitectura. J
A ideia de ter este tipo de concursos é bastante interessante: em sessões do GASP já foram feitos dois muito animados e design labs.
O dia começou cedo, aproveitei uma hora para fazer um hands-on lab com a Web Service Software Factory. Como acontece com outros, nem sempre se explica o raciocínio de cada passo, mas o essencial da criação dos tipos, mensagens, os contratos, etc., está bem explicitado.
Depois disto, fui à sessão de C# 3.0 do Anders Hejlsberg, criador do C#, Linq, etc. Já tinha visto a sessão antes, mas vale sempre a pena. Começou com uma perspectiva histórica: a primeira versão, com a .Net Framework 1.0, já tem quase 8 anos desde que começou a ser pensada, a primeira abordagem a Managed Code. Na versão 2.0, fez-se tudo que se queria ter feito na anterior mas não houve tempo, com grande destaque para os generics. Na versão 3.0, que aí vem, é onde se tem finalmente espaço para inovar, muito baseado nos alicerces mais sólidos da 2.0.