Novo Centro de Treinamento no MSDN–WPF 4.0

A Microsoft disponibilizou no portal MSDN um novo Centro de Treinamento. Agora voltado para desenvolvedores que queiram aprender mais sobre WPF (Windows Presentation Foundation 4.0) que é a nova interface visual da qual compartilha também o SilverLight.

Neste Centro de Treinamento que tive o prazer de organizar e contar com ótimos profissionais com o Bruno Sonnino (http://msmvps.com/blogs/bsonnino) e o seu filho Roberto Sonnino (http://virtualdreams.com.br/blog) e o André Alves (http://www.andrealveslima.com.br/blog/). Os meus videos são os ultimos, de estabilização e deploy.

Nos ultimos anos não tenho mais conseguido acompanhar a carreira de desenvolvedor com a de gerenciamento de infraestrutura. Por isso resolvi me dedicar mais ao que fui nomeado MVP, gerenciamento de infraestrutura, até porque minha atual posição na Dell como Consultor de Infraestrutura é o foco de meu aperfeiçoamento profissional.

Por isso, aguardem que em breve estaremos com dois novos Centros de Treinamento no ar: System Center Configuration Manager 2007 R3 que já foi gravado e está esperando publicação e System Center Operations Manager 2007 SP2 que está no “forno” e em breve publicaremos os videos!

Mas voltemos ao tópico e vejam a lista de videos e aprendam com estas feras o que é desenvolvimento rico usando WPF pelo portal em http://msdn.microsoft.com/pt-br/gg607454 ou clicando na lista abaixo.

image

Essa trilha foi criada para pessoas que desenvolvem ou pretendem desenvolver em ambientes utilizando o Microsoft Visual Studio .NET 2010 e Microsoft .NET Framework 4 para criar aplicações WinForms e WPF. Todo conteúdo irá te preparar para o Exame de Certificação 70-511 e tem como pré-requisito um conhecimento dos fundamentos do .NET Framework 4.


Construindo interface do usuário utilizando técnicas básicas

A Interface do usuário é a representação visual de sua aplicação. Usuários da sua aplicação utilizam a interface do usuário para interagir com a aplicação através de controles hospedado no WIndows. Aprenda nese módulo as principais técnicas que você precisa saber para contruir dua interface com o usário.


Visão geral dos controles personalizados do WPF


Aprimorando a interface do usuário utilizando técnicas avançadas

Utilize o aprendizado adquirido no módulo anterior e veja agora técnicas avançadas para deixar sua interface do usuário ainda melhor.


Visão geral dos Routed Events do WPF


Visão geral dos Commands do WPF


Conhecendo a Interface Dinâmica das aplicações WPF


Usando gráficos e multimídia em aplicações WPF


Entendendo os Control Templates do WPF


Criando Triggers em aplicações WPF


Gerenciando dados na camada de interface do usuário

Data Binding é o mecanismo com que a informação contida em um objeto é associada com elementos dentro da sua interface do usuário. Veja nesse módulo como o WPF muda o paradigma sobre Data Binding, como e onde utilizar e as principais técnicas.


Implementando Data binding


Value Converters


Validação de Dados


Change Notification Interfaces


Preparando Coleções para Exibição


Data Templates


Binding com Coleções Hierarquicas


DataGridView e DataGrid


Aprimorando a funcionalidade e usabilidade de uma solução

Usabilidade é um componente chave no design de uma boa aplicação. Uma aplicação que leva o usuário a sério e se preocupa com a parte funcional será adotada mais rapidamente pela audiência alvo. Veja nesse módulo as principais técnicas para você aprimorar a funcionalidade e usabilidade de sua solução.


Integração WPF e Windows Forms


Processos Assíncronos


Globalização e Localização


Usando Drag & Drop no WPF


Segurança no WPF


Configurações de Aplicação WPF


Dependency properties no WPF


Estabilizando e disponibilizando uma solução

Uma vez que você finalizou sua aplicação, você precisa garantir que ela está funcionando da maneira esperada e que ela seja distribuída para sua audiencia. Aprende nesse módulo as principais técnicas para testar e distribuir sua aplicação.


Estabilização e Deploy - Parte 1


Estabilização e Deploy - Parte 2

Embate entre IT PROs e desenvolvedores, como melhorar o relacionamento?


No Community Zone que ocorreu na semana passada estávamos conversando em uma mesa, não vou citar os nomes porque não lembro todos e seria injusto, e chegamos no assunto acima. De um lado da mesa tinhamos alguns IT PROs e do alguns desenvolvedores. Os desenvolvedores já logo criticam o pessoal de Infra pela dificuldade que eles impõe e sempre jogam a culpa nos sistemas e programadores.

Eu atuo nas duas áreas desde que comecei a trabalhar em 1988. Neste época sistema operacional era CPM, rede era multiplexada serial, linguagem era Dbase II que já era o banco de dados também. Desde então tento manter os dois universos, estudo tanto os produtos de rede quanto as linguagem de programação. Posso dizer que está ficando dificil, os produtos se tornaram muito complexos, mas ainda consigo me organizar por estudar a fundo um por vez focando nas mudanças.

Mas enfim, a idéia do post é falar da experiencia de quem a um bom tempo convive nos dois mundos.

O que os desenvolvedores fazem para serem “odiados”?

O principal problema dos profissionais de redes é conseguir monitorar as aplicações. Os desenvolvedores não se interessam muito em como os IT PROs trabalham e não dão os recursos necessários para eles. Algumas coisas simples como métricas, logs e identificação clara de processos já resolveriam muitas discussões.

O que podemos fazer como desenvolvedores para trazer a paz?

Alguns exemplos de recursos que poderiam ser facilmente utilizados pelos desenvolvedores:

  • Na string de conexão com o banco de dados inclua o parametro Application Name para o DBA poder monitorar a aplicação. É um parametro muito simples e extremamente necessário, porque em aplicações é comum utilizar usuários fixos para aplicações e sem o nome não é possivel saber qual sistema está executando aquele comando que gerou locks ou wait times excessivos. Um exemplo de uma string de conexão “bem feita” seria:
    ”Provider=SQLServerOleDB;Server=ABC;Database=DEF;UID=Joao;PWD=1234;Application Name=SISContabil
  • Inclua nos seus aplicativos contadores de performance utilizando os objetos PerformanceCounter e Installer. Estes objetos geram no Performance Monitor do Windows dados que podem ser transformados em gráficos, traces, alertas e logs. O processo para criar um contador é muito simples:
    1. Insira o objeto PerformanceCounter em sua aplicação
    2. Configure o objeto criando uma categoria (CategoryName) e contador (CounterName)
    3. Clique com o botão direito no objeto e escolha Add Installer para que sua aplicaçoes crie no registry do Windows os registros do contador
    4. No seu código ao acessar um banco de dados, por exemplo, utilize o objeto PerformanceCounter com o método Increment para aumentar o valor do contador
  • Gere erros ou alertas de problemas no log de eventos do Windows. Este recurso permitirá aos operadores vasculhar no Event Viewer do Windows problemas que estão ocasionando paradas. Tão útil é este recurso que os IT PROs poderão utilizar produtos como o System Center Operations Manager, NetIQ ou Tivolli para quando um evento acontecer disparar emails de alerta para os administratores, ou melhor ainda, executar scripts que automaticamente resolvem o problema.
    Para fazer isso basta seguir os passos:
    1. Acrescente ao seu aplicativo o objeto EventLog
    2. Defina o nome do Log (Log) que será criado e o nome da aplicação (Source)
    3. Dentro do seu aplicativo utilize o método WriteEntry para passar os parametros que serão gravados no log do SO

Estes são 3 exemplo que poderão ser utilizados e resolverão muitos dos problemas que hoje existem entre estes grupos. Claro que os exemplos estão baseados em aplicações Windows Forms, mas os mesmos objetos podem ser utilizados programaticamente no ASP.NET.

Para que os desenvolvedores tenham uma idéia do porque é importante os passos acima, pense que o IT PRO trabalha com resolução de problemas baseados em comportamento de sintoma-causa-solução e sem contadores de performance e eventos não tem como achar a causa sobrando apenas culpar o programador que “andou mexendo no servidor”.

Outro recurso muito importante que os passos acima possibilitam é criar o Baseline onde os IT PROs tem uma base de alterações no ambiente. Por exemplo, fazem a medição de contadores ao longo de um periodo e quando o servidor apresenta problemas de performance eles comparam os contadores atuais com os de base para descobrir onde estão as variações. Se o desenvolvedor não dá as medições o IT PRO irá verificar os contadores e como nenhum demonstrará o problema, mais um vez o “programador que mexeu aqui” é o culpado.

Outra forma de monitoração com produtos que já foram citados são os Dashboards do SCOM que mostram em grandes monitores o estado de cada servidor por monitorar os eventos no log e o baseline de performance. Se a aplicação não gera nem log nem contadores, o servidor não irá apresentar o erro, resumindo a dizer que o IIS ou o SQL está com tempo de resposta lento quando o problema já se alastrou para todos os subsistemas (disco, processador e memória).

É isso ai, como programador também me incluo entre os que deixam de prover as ferramentas. Mas vamos mudar isso !!!!!

Se alguem lembra de outros métodos para “pacificar” essa apimentada relação, comente.