You are on page 1of 37

POWERED BY CODIFICANDO.

NET

e-magazine
E D I O 5 N M E R O 4 A N O I O U T / N O V

Codificando Net

2 0 0 7

Editorial
Aps 2 meses finalizamos a quinta edio da Codificando.Net Magazine. Realmente no fcil manter uma revista mensal com um nvel como gostaramos, por isso tomamos uma deciso... Teremos a partir de agora a revista a cada dois meses, ou bimestral para quem preferir :) Em 2 meses muitas coisas acontecem, por exemplo o So Paulo sagrou-se Penta Campeo Brasileiro. Nesta edio temos uma entrevista internacinal (mais uma), Alfred nos EUA entrevista 2 mulheres do time do VB na Microsoft! Temos nossos colunistas mantendo suas colunas sempre atualizadas e artigos tcnicos de muita qualidade . Espero que tenham uma excelente leitura. Alexandre Tarifa editor@codificandomagazine.net

Equipe
Editor: Alexandre Tarifa Emerson Facunte Reporter Alfred Myers Colaboradores: Feio Tomaz Maurcio Wieler Diego Nogare Alexandre Lopes

Entrevista - Amanda e Lisa


Alfred Myers, MVP de C#, esteve em Redmond em setembro e aproveitou a estada pra entrevistar Lisa Feigenbaum e Amanda Silver sobre o Visual Basic e suas carreiras na Microsoft. ALFRED: Quem so vocs? LISA: Eu sou Lisa Feigenbaum. Sou uma Program Manager no time do VB. Eu trabalho na IDE, em coisas do editor como Code Snippets, Intellisense, comentrios XML, code definition coisas que voc provavelmente usa diariamente no produto. AMANDA: Eu sou Amanda Silver. Eu trabalho na linguagem e no compilador. Trabalho com a Lisa no editor e no debugger. Praticamente tudo no Visual Studio que for especfico ao Visual Basic est no meu time. ALFRED: Como voc entrou na Microsoft? AMANDA: Foi um acidente interessante. Quando eu me formei, estava tentando determinar para onde eu iria. Durante o curso, eu passei a maior parte das frias de vero fazendo pesquisa cientfica em cincias da computao em assuntos como Complexidade Computacional. Eu pensei que iria para o mercado trabalhar por uns dois anos, juntar uma grana e voltar para fazer o meu PHD, ento eu fui para uma feira de carreiras tecnolgicas, passei o meu currculo para algumas empresas que achava que pagariam bem. Uma destas empresas era a Microsoft e eu vim fazer a entrevista. O cara que estava me entrevistando me perguntou por que eu era uma professora o que aqui chamamos de Assistente de Ensino. Eu respondi que era muito importante para mim eu garantir que o campo estava aberto para o maior nmero de pessoas possvel. Ento ele disse Voc se encaixa como uma luva no Visual Basic e me contratou. Eu vim trabalhar no time, no consigo me ver trabalhando em outro produto e ainda no voltei universidade para fazer o meu PHD. LISA: Eu tambm ouvi falar da Microsoft atravs do recrutamento que eles fazem na universidade. Eu estava fazendo o programa de bacharelado e mestrado e fiz vrios trabalhos durante a graduao. Eu dei uma olhada nas vagas e as achei bastante interessantes. Sempre gostei de arte e usabilidade, ento o trabalho de edio era interessante. Eu tambm sempre estive envolvida com cincias, ento estar na diviso de desenvolvimento tem este lado tcnico de estar trabalhando com um pessoal tcnico inteligente, liderando um time e usando um produto que est ajudando milhes de pessoas todo dia. ALFRED: Voc chegou a trabalhar em outros grupos? LISA: No, tambm sempre estive no time de Visual Basic. Eu trabalhei no debugger do VS 2005, Edit & continue e coisas assim. Agora estou trabalhando um pouco com desempenho. Trabalhei em algumas reas diferentes, mas sempre no Visual Basic. ALFRED: Na tua opinio, quais so os recursos mais interessantes da IDE no novo Visual Basic? LISA: O Intelisense est muito legal e muito importante porque trs altos ganhos de produtividade. Eu posso afirmar com certeza que assim que voc comear a usar o VB 2008, voc vai economizar tempo com menos digitao, menos erros, gastando menos tempo tentando lembrar o nome das variveis. Essencialmente, estamos mostrando Intelisense em muito mais lugares que antes. ALFRED: Eu soube que o VB est se tornando multi-plataforma. Como isso? AMANDA: Uma das novas plataformas sobre as quais temos conversado desde o Mix em abril do ano passado o Silverlight que basicamente uma verso multi-plataforma do .NET Framework que vai permitir experincias interativas ricas na web. Tem que ser multi-plataforma porque tudo isto sobre abrangncia e experincia rica na web. Com o Silverlight, qualquer coisa que for compilada para IL (intermediate language) poder ser multiplataforma. Ento, o Visual Basic que compilado para IL tambm passa a ser multi-plataforma.

Entrevista - Amanda e Lisa


ALFRED: E sobre o run-time do Visual Basic? AMANDA: Esta uma pergunta interessante. O run-time do Visual Basic, o Microsoft.VisualBasic.dll contm funes de usurio, contm rotinas auxiliares do compilador que permitem o late-binding e as converses no VB. Isto est escrito em Visual Basic, que por sua vez compilado para IL. Logo, ele tambm passa a ser multiplataforma. ALFRED: Ento podemos esperar que o Visual Basic funcione no Moonlight que a verso Linux do SilverLight? AMANDA: No sei dizer. ALFRED: Vocs ainda usam personas para representar os tipos de usurios de cada linguagem? Havia muita conversa sobre Mort, Einstein e Elvis nos primeiros dias do .NET Framework. AMANDA: Ns temos uma relao de amor e dio com os personas. No incio era muito difcil falar sobre o usurio tpico das linguagens aqui dentro da Microsoft. Os personas nos ajudaram a falar sobre estes usurios tpicos, mas isto uma faca de dois gumes. Tem muita gente que acha que todos os programadores VB so Mort e isto no verdade. Ns temos todo tipo de usurio VB desde Arquitetos Seniores at gente que acabou de baixar o VB Express e esto aprendendo a programar. Agora no falamos tanto de personas, e sim do tipo de programador. Agora temos o termo desenvolvedor oportunista que aquele cara orientado a tarefas, que quer terminar o servio. ALFRED: Ento vocs mataram o Mort ?. AMANDA: Eu no diria que ns matamos o Mort. Tem gente aqui que ainda usa o termo internamente, mas no como falamos do produto hoje em dia. ALFRED: Voltando ao Visual Studio 2008, alguma coisa mudou nos bindings de teclado no VB 2008? LISA: Migrando do 2005 para o 2008, s h uma nova combinao de teclas. Nada foi removido. Ns adicionamos um para quando o Intellisense est visvel ficar transparente. Ns queremos manter aqueles atalhos de teclado antigos, ento estamos mantendo aqueles atalhos do VB 6. ALFRED: H alguma novidade nos code snippets? LISA: Ns temos algumas novidades na forma como eles funcionam. Tivemos bastante feedback falando que aqueles campos verdes ficam na tela por muito tempo. Agora se voc modificar texto fora do code snippet, isto indica que voc terminou de mexer nele e os campos podem sumir. Se mais adiante voc quiser voltar ao code snippet e ver os campos novamente, voc pode clicar nele com o boto direito e selecionar Show Snippet Highlighting ALFRED: Ao contrrio do C#, o Visual Basic 2005 no veio com refactoring. Este era fornecido por terceiros. Alguma coisa mudou no VB 2008? LISA: No foi incorporado ao produto principal, mas estamos bastante contentes com a soluo atual de se baixar separadamente o add-in do MSDN Dev Center gratuitamente. Como a gente no colocou isto dentro do produto, tivemos tempo para trabalhar com outras coisas e coloc-las no produto. A Developer Express, desenvolvedora do add-in, fez um excelente trabalho e agora temos o dobro de refactorings que tnhamos na verso 2005.

Entrevista - Amanda e Lisa


ALFRED: Muito se tem falado de LINQ. Por onde voc navegue voc v material sobre LINQ. Voc acha que tem alguma coisa que no esteja sendo divulgado o bastante? Recursos interessantes sobre os quais as pessoas no estejam falando? AMANDA: Eu acho que uma das coisas que particular ao VB 9 a integrao com XML que parte do LINQ e que basicamente te permite copiar um documento XML e col-lo dentro do editor de Visual Basic e voc ter uma experincia semelhante ao que voc tem com o editor XML hoje. No somente sobre copiar e colar blocos estticos de XML. Voc tambm pode usar aquelas expresses conhecidas do ASP clssico <%= e %> e inserir no meio qualquer expresso vlida do Visual Basic. Ex.: Dim d As Date = Today Dim x As XElement = <ProcessLog> <Process><%= d %></Process> </ProcessLog> Console.WriteLine(x.ToString()) Isto faz com que o recurso seja bastante poderoso e faz com que seja bastante fcil escrever o seu documento XML dinmico, mas combinado com LINQ, voc pode incluir uma query expression dentro do documento XML. Isto significa que o VB agora pode substituir o XSLT em alguns cenrios. bastante poderoso. ALFRED: Era o que eu ia dizer: realmente bastante poderoso. E ns no temos este recurso no C#. AMANDA: Este recurso especfico ao VB. Em C# voc usaria uma construo funcional usando a API Linq to XML. Para criar o mesmo XML voc faria algo como: DateTime d = DateTime.Today; XElement x = new XElement("ProcessLog", new XElement("Process", d)); Voc pode usar o C# como uma espcie de XSLT, mas o recurso de XML literal do VB que elimina a barreira da API. Voc no precisa pensar na API. Voc pensa somente no documento. ALFRED: bem legal no ter que pensar na API. Eu vi o mesmo tipo de coisa sendo feita em outras linguagens com relao ao processamento de textos. Realmente facilita a nossa vida. Que tipo de coisa podemos esperar do VB na verso que vir depois do Orcas? Eu soube que existe um prottipo chamado VBx que ser hosteado. AMANDA: O que estamos tentando fazer pegar a experincia de usar o VB a linguagem, o compilador a experincia de edio e hosped-lo num contexto fora do Visual Studio. Uma das coisas interessantes a se pensar como usar esta tecnologia na console de linha de comando para que voc possa usar a API do PowerShell para escrever scripts usando VB. Ainda estamos bem no comecinho do estgio de planejamento e brincando com prottipos. Parece que vai ficar bom.

Entrevista - Amanda e Lisa


ALFRED: Vai ser um ciclo de produto mais longo do que foi o Orcas? AMANDA: Est muito cedo para saber, mas o Orcas teve um ciclo bem curto quando comparado com a verso anterior. Acho que vamos tentar seguir esta tendncia. ALFRED: O que podemos esperar de novo na IDE depois do Orcas? LISA: Estamos trabalhando em algumas coisas que vo viabilizar os cenrios do VBx. ALFRED: Qual foi o recurso mais solicitado que no deu para encaixar no Orcas? LISA: Estamos dando uma olhada em algumas coisas sobre as quais tivemos bastante feedback como por exemplo, remover line continuations, ou seja, tirar a necessidade de usar o _ para continuar um comando na linha de baixo. Propriedades automticas a idia de no precisar mostrar o getter e o setter para as propriedades mais simples. Estes so recursos da linguagem e da IDE que foram bastante solicitados. AMANDA: Tambm estamos dando uma olhada em como melhorar a experincia de navegao no Visual Studio, como passar do cdigo para um modo de visualizao da classe, este tipo de coisa. ALFRED: Foi muito bom conversar com vocs. AMANDA, LISA: Obrigada! Assista o vdeo em Ingls da entrevista completa: http://video.msn.com/video.aspx/?mkt=pt-br&vid=d349d31c-fb38-406b-aaa8-5b51e8197e19&wa=wsignin1.0

Alfred MVP em C#, MCPD, MCITP, MCTS, MCSD, MCAD, MCP. Mantm um blog em portugus em http://thespoke.net/blogs/alfred_myers e outro em ingls em http://alfredmyers.spaces.live.com.

Artigo: Novidades do Biztalk Server 2006 R2

Recentemente lanado, o Microsoft BizTalk Server 2006 R2 a quinta verso do produto. Por ser, fundamentalmente, um release de atualizao, a mudana no foi to radical comparada s anteriores, mas as novidades so muito interessantes e algumas eram bastante aguardadas, como o alinhamento do produto as novas tecnologias Microsoft. A nova verso inclui algumas coisas realmente novas, alm da atualizao de algumas caractersticas importantes, que aumentam bastante as capacidades do Servidor BizTalk, como veremos a seguir. EDI

O EDi (Electronic Data Interchange Troca Eletrnica de Dados) um dos meios predominantes de troca de dados eletronicamente. Pouco utilizado no Brasil (eu mesmo nunca tive oportunidade de trabalhar com esse formato em anos de experincia com BizTalk Server) representa aproximadamente 75 por cento de todas as transaes eletrnicas e cresce em mdia de 5 a 7 por cento por ano, segundo dados da Microsoft. O uso de EDI implica sintaxe de mensagem e padres (incluindo ANSI X12 e UN/EDIFACT), protocolos de mensageria e transportes. O BizTalk Servidor 2006 R2 processa mensagens de EDI usando Receive e Send pipelines especficos que podem fazer o parse e a serializao de mensagens EDI. As funcionalidades referentes ao EDI foram atualizadas sensivelmente melhorando em muito a sua performance.
AS/2

As transaes de EDI transmitidas pela Internet (EDI over the Internet - EDIINT) so uma alternativa crescentemente popular a enviar e receber EDI usando value-added networks (VANs). Usar a Internet para troca de dados reduz custos, aumenta eficincia, e tem vantagens em termos de redundncia e escalabilidade. Para dar suporte a esta tendncia de crescimento, o BizTalk Servidor 2006 R2 suporta EDIINT AS/2 (Applicability Statement 2). AS/2 uma especificao que permite o transporte de dados de negcio usando a Internet de maneira segura. O BizTalk Servidor 2006 utiliza AS/2defined methods para enviar, receber, encriptar, decriptar, comprimir, descomprimir, assinar e verificar assinaturas entre parceiros usando HTTP sobre a Internet. O BizTalk Server ajuda a assegurar a segurana das mensagens pelo uso de chaves de encriptao, assinaturas digitais e certificados. O EDI e AS/2 do Microsoft BizTalk Server 2006 R2 executa os seguintes processamentos AS/2: Recebimento de mensagens codificadas EDIINT AS/2 sobre transporte HTTP/HTTPS. Envio de mensagens codificadas EDIINT AS/2 sobre transporte HTTP/HTTPS usando operaes de HTTP POST. So Implementados como soluo de mltiplas cargas de suporte, permitindo ao usurio enviar EDI, XML, ou outros dados de negcio seguramente pela Internet. Retornar uma notificao de disposio de mensagem (Message Disposition Notification - MDN), tanto no corpo da mensagem em um HTTP response (conhecido como um MDN sncrono), quanto atravs do novo operador HTTP POST para uma URL para o sender original (conhecido como um MDN assncrono). Fornece a capacidade de aplicao de propriedades de processamento em transporte de documentos AS/2. Fornece o status das transmisses AS/2 a partir da lista de mensagens AS/2 e suas respectivas correlaes (MDNs). Permite acesso as mensagens EDI quando enviadas via AS/2. Microsoft BizTalk RFID Radio Frequency Identification (RFID) uma tecnologia originada nas foras armadas americanas que usam tags que emitem sinais de rdio, e dispositivos chamados readers que captam esses sinais. Os leitores (readers) ento se comunicam com softwares para transmitir as informaes da tag. RFID pode ser amplamente utilizado vrios cenrios, tais como: supply chain, ativos de alto valor, documentos, farmacutico, e muitos outros.

Artigo: Novidades do Biztalk Server 2006 R2

Por questes referentes a custos, o RFID ainda uma tecnologia no muito implementada. Mas uma das novidades mais interessantes presente no BizTalk Server 2006 R2 porque, ao serem superadas as questes de custo dos chips, o mercado espera por larga utilizao da tecnologia RFID. O Microsoft BizTalk RFID projetado para fornecer uma plataforma esclavel e expansvel para desenvolver, instalar, e administrar RFIDs. Includo nos componentes chave podemos encontrar uma framework de abstrao dos dispositivos e um conjunto robusto de ferramentas que capacitam a construo de RFID baseados em tecnologia .NET e aplicaes de sensores com: Servios plug and play para suporte a diversos dispositivos RFID usando o Device Service Provider Interface (DSPI). Servios de aplicao para interao com dispositivos e leitores de tags para filtragem, transformao e agregao de eventos. Ferramentas para gerenciamento de dispositivos e desenvolvimento de processo de negcio baseados em RFID (RFID Manager). Pontos de extensibilidade (event handlers) para implementar solues baseadas em padres. Principais Benefcios Gerenciamento e configurao uniforme para dispositivos RFID heterogneos. Simplicidade Operacional. Inovadora arquitetura de processos que separa as atividades de design das atividades de deployment. Comunicao sncrona e assncrona com dispositivos RFID. Plataforma de desenvolvimento extensvel para criao de event handlers customizados. Parte integrante do Windows Server System. O RFID tambm permite a clientes e parceiros de negcio a criao de solues fim a fim e real-time que: Conectem a aplicaes line-of-business (LOB) usando adaptadores que podem executar workflow de negcios de longa durao (controle de inventrios, por exemplo) fazendo uso de todo potencial de business-to-business (B2B) e business process management (BPM) do BizTalk Server. Uso de aggregations e views do Business Activity Monitoring (BAM) no BizTalk Server para a visualizao fim a fim do processo e a viso analtica do fluxo de eventos RFID durante a execuo do processo de negcio. Utilizao do SQL Server para o gerenciamento de dados e Business Intelligence. Criao e deploy de regras de negcio utilizando o Business Rules Engine (BRE) para executar as decises de negcio baseado nos eventos de entrada. Utilizao do Microsoft Operations Manager (MOM) para monitorao e troubleshoot que adicionaro escalabilidade e tolerncia a falhas a solues RFID j implementadas em ambiente produtivo. Adaptador WCF Penso que essa a novidade mais interessante presente na nova verso do BizTalk Server. O BizTalk WCF (Windows Communication Foundation) adapters possibilita ao Microsoft BizTalk Server 2006 R2 comunicao com aplicaes WCF. Se voc ainda no sabe o que o WCF recomendo que procure mais informaes, pois aplicaes WCF so a nova estratgia da Microsoft para aplicaes distribudas, com especial ateno a SOA (Service Oriented Architecture Arquitetura Orientada a Servios) e deve ser ampla e rapidamente adotada.

Artigo: Novidades do Biztalk Server 2006 R2

O Microsoft BizTalk Server 2006 R2 contm os seguintes adaptadores WCF e wizards: WCF-WSHttp adapter: Oferece suporte aos padres WS-* sobre o transporte HTTP. Este adaptador implementa as seguintes especificaes: WS-Transaction para as interaes transacionais entre aplicaes externas e o MessageBox, WS- Security para segurana de mensagem e autenticao. O transporte HTTP ou HTTPS, e o encoding da mensagem pode ser Texto ou MTOM (Message Transmission Optimization Mechanism). WCF-BasicHttp adapter: Possibilita a comunicao com Web Services baseados em ASMX, clients ou outros servios em conformidade com o WS-I Basic Profile 1.1. O transporte HTTP ou HTTPS, e o encoding da mensagem pode ser Texto ou MTOM (Message Transmission Optimization Mechanism). WCF-NetTcp adapter: Fornece suporte aos padres WS-* sobre transporte TCP. Oferece comunicao eficiente em ambiente WCFWCF. Este adaptador implementa as seguintes especificaes: WS-Transaction para as interaes transacionais entre aplicaes externas e o MessageBox, WS- Security para segurana de mensagem e autenticao. O transporte TCP, e o encoding da mensagem a codificao binria. WCF-NetMsmq adapter: Oferece suporte para messaging assncrono usando Microsoft Message Queuing (MSMQ) como um transporte, e capacitando o suporte para aplicaes fracamente acopladas, isolamento de falhas e operaes desconectadas. WCF-NetNamedPipe adapter: Oferece comunicao segura e est otimizado para comunicao on-computer cross-process, Utiliza transporte seguro para transferncia segura, named pipes para entrega de mensagens e codificao binria. WCF-Custom adapter: Possibilita o uso das caractersticas de extensibilidade do WCF. O adaptador permite que operadores selecionem e configurarem o binding WCF, o comportamento, e as extenses de comportamento para o Receive Location e Send Port. WCF-CustomIsolated adapter: Possibilita o uso das caractersticas de extensibilidade do WCF sobre o transporte HTTP. O adaptador permite que operadores selecionem e configurarem o binding WCF, o comportamento, e as extenses de comportamento para um Receive Location rodando em um Isolated Host. BizTalk WCF Service Publishing Wizard: Usado para criar e publicar orquestraes e schemas do BizTalk como um servio WCF. Esse wizard bem parecido com o j bem conhecido BizTalk Web Services Publishing Wizard. BizTalk WCF Service Consuming Wizard: Usado para gerar artefatos BizTalk, como orquestraes e tipos, assim como arquivos de binding para criao de Send Port, para consumir um servio WCF baseado no documento de metadado do servio WCF.
BAM interceptor

No BizTalk Servidor 2006, o BAM uma coleo de ferramentas, APIs, e servios que permitem administrar aggregations, alertas, e profiles. Com o BAM voc pode tambm instrumentalizar processos automatizados para que enviem eventos a serem monitorados por mtricas relevantes no processo. Juntos, fornecem visibilidade end-to-end a um processo de negcio. Os interceptores de BAM (BAM interceptors) estendem esta mesma funcionalidade ao Windows Workflow Foundation (WF), Windows Communication Framework (WCF), e outros runtimes. Usando os interceptores de BAM, voc pode rastrear seus processos de negcio sem a necessidade de recompilar sua soluo WF ou WCF. A integrao feita por um arquivo de configurao. Usando o interceptador BAM WF ou WCF em seu projeto, voc pode: Usar o BAM portal para visualizar informaes sobre o processo de negcio rodando em sua aplicao WF ou WCF. Usar as funcionalidades do BAM sem acrescentar cdigo adicional a sua aplicao. Fazer o deploy de sua aplicao usando as j familiares ferramentas e utilitrios do BizTalk Server. Obter vantagens de seu ambiente BizTalk j existente para as aplicaes WF e WCF j existentes ou mesmo novas aplicaes. Alm de continuar suportando Excel 2003, o BAM XLA foi atualizado para suportar o Microsoft Office Excel 2007.

10

Artigo: Novidades do Biztalk Server 2006 R2

Line-of-business (LOB) adapters

Um dos principais objetivos do BizTalk Server 2006 facilitar a troca de documentos de negcio entre parceiros. Para auxiliar a atingir esse objetivo o BizTalk Server 2006 R2 inclui diversos adaptadores LOB que possibilitam a conectividade entre o BizTalk Server e aplicaes LOB usando dados de protocolos e formatos de documentos comumente reconhecidos. Windows SharePoint Services adapter - O suporte para esse adaptador agora inclui Windows SharePoint Services 3.0, enquanto continua mantendo para o Windows SharePoint Services 2.0.
Enterprise Single Sign-On 4.0

A nova verso do SSO contm as seguintes funcionalidades: Management agent for MIIS: Objetiva simplificar o gerenciamento de credenciais mapeadas no SSO database. Mapeamentos podem ser criados e deletados no SSO usando o Microsoft Identity Integration Server (MIIS). SSO tambm pode receber mudanas de senha do atravs de seu agente de gerenciamento. Microsoft Management Console (MMC) snap-in: No Enterprise SSO Administration console, administradores SSO podem visualizar status e gerenciar servidores SSO remotamente usando o novo snap-in MMC. Mapping Wizard for Affiliate Applications: Permite que administradores de SSO criem mapeamentos usando um wizard quando o nome externo de conta baseado numa conta de domnio Windows. Adicionalmente, a senha inicial tambm pode ser especificada quando se criar o mapeamento para um usurio. Direct Password Sync from Windows: Habilitando esta opo em um Affiliate Application permitir que servios de EntSSO sincronizem a senha na base de dados do SSO diretamente. A mudana de senha de Windows recebida de qualquer Microsoft Password Change Notification Service (PCNS) ou MIIS. Isto til, por exemplo, onde uma conta de domnio Windows mapeada criada na base de dados de SSO. Password filtering: Para cenrios single sign-on and password sync, se um filtro definido, ento a senha filtrada retornada ao chamador ou ao adaptador de sincronizao de senha. Filtros bsicos incluem as opes para upper case and lower case, truncagem, e remoo de caracteres especiais. Filtros avanados incluem opes para substituio de caracteres e a capacidade de acomodar um caracter na frente ou fim. Backward compatibility and upgrade: SSO 4.0 pode atualizar verses anteriores de SSO. Isto feito para atualizar o master secret server, que tambm atualizar o SSO database. O upgrade do master secret server e do SSO pode trabalhar com todas verses prvias de servidores de SSO.
Concluso

Sempre alinhado as novas tendncias e tecnologias (tanto as do universo Microsoft, quanto dos padres de mercado que se consolidam), o Microsoft BizTalk Server 2006 R2 mais uma vez prepara um grande salto para o futuro das aplicaes distribudas com os novos adaptadores WCF. A constante evoluo e atualizao do produto se mostra presente nas importantes atualizaes implementadas na verso R2 e nos do uma boa idia do que est por vir para a prxima verso, que deve ser lanada no final de 2008 ou comeo de 2009. Espera-se que no futuro o BizTalk Server esteja ainda mais profundamente alinhado aos investimentos recentes da Microsoft na framework .NET, especialmente ao Windows Communication Foundation e Windows Workflow Foundation. esperar para ver.

Feio Tomaz (feiotomaz@codificandomagazine.net) tecnlogo em Processamento de Dados, formado pela Fatec-Americana. MCTS em BizTalk Server 2006, trabalha desde 2004 como consultor especialista em Desenvolvimento de Processos de Negcio e Solues de Integrao. Atualmente consultor da ITGROUP. Mantm uma longa relao de amor (e algumas vezes dio) com novidades e mudanas.

11

Artigo: Introduo s Fbricas de Software


Esclarecendo as coisas... Antes de mais nada, vamos comear esclarecendo algumas coisas para evitar confuso. Na rea de desenvolvimento, o termo factory (fbrica) utilizado em pelo menos trs diferentes situaes (at onde eu conheo!), embora elas possam estar relacionadas. Primeiro, traduzindo para o portugus, chamamos de Fbrica de Software, a empresa que executa servios de tercerizao para a construo de softwares. Esse uso bastante conhecido no Brasil, e diversas empresas oferecem esse servio. Uma determinada empresa interessada na produo de um sistema transfere parte ou todo o trabalho de construo do mesmo para uma fbrica de software. Nesta fbrica existe toda a estrutura (ou deveria existir!) para que este sistema seja produzido da forma mais rpida e barata possvel, seguindo um modelo de fbrica realmente, com processos e funes bem definidos. Um outro uso do termo factory, embora menos conhecido, mas que pode causar alguma confuso aos desavisados, so os padres factories de projeto, que esto relacionados orientao a objeto (Factory Method e Abstract Factory). J no terceiro uso do termo, Software Factory diz respeito a um conjunto de ferramentas, modelos, wizards, arquivos de configurao, application blocks, geradores de cdigo, padres, documentos e outros, que podem ser utilizados pelos arquitetos e desenvolvedores com a finalidade de agilizar a entrega de um produto de software. E exatamente deste tipo de factory que iremos falar neste artigo. Como chegamos at aqui ? A busca por produtividade no desenvolvimento de software no algo novo. Reusabilidade de requisitos, modelos, cdigo e outros artefatos um dos objetivos desta busca. Iniciativas para tentar estabelecer padres industriais na produo de software so do tempo das ferramentas CASE (Computer-Aided Software Engineering). Hoje temos termos como Modeldriven development (MDD), Component-Based Development (CBD), MOF (MetaObject Facility), BPMN (Business Process Modeling Notation), SysML (Systems Modeling Language), DSL (Domain Specific Language), s para citar alguns. Por outro lado, a padronizao talvez seja uma das maneiras mais simples de caminhar na direo da produtividade. Padres de nomenclatura de cdigo, padres para o uso de determinadas bibliotecas, melhores prticas (ou para se evitar as piores prticas !), padres de projeto (os chamados design patterns), etc. Conforme a complexidade do software aumenta, os prazos de entrega diminuem, a velocidade de mudana dos requisitos de negcio aumenta ou amadurecem durante a construo. Hoje uma aplicao normal tem que consumir diversos servios, enviar email, atualizar bases de dados diferentes, gerar alertas para dispositivos mveis, acessar sistemas legados, gerar diferentes formatos de interface com o usurio, aplicar recursos de autenticao, controle de acesso, auditoria, etc. Ou seja, existe toda uma infra-estrutura que poderia (e deveria) ser reaproveitada de aplicao para aplicao. Enfim, o cenrio catico, o desafio enorme. Mas calma, vamos procurar no perder a cabea. Inicialmente tnhamos as diretrizes para desenvolvimento publicadas na forma de documentos de padres. A prpria Microsoft sempre disponibilizou material de referncia ou melhores prticas. Alm disso, tnhamos aplicaes de referncia, para que o desenvolvedor pudesse se basear em alguma coisa na hora de aplicar uma determinada tecnologia que ainda estava de certa forma obscura. Depois disso, j na era .NET, vieram os Application Blocks, que eram, como o prprio nome diz, blocos de software que poderiam ser utilizados (ou alterados), para se ganhar tempo e qualidade na construo de aplicaes .NET. Blocos de acesso dados, logging, tratamentos de erro, segurana, etc. Esse blocos foram sendo reagrupados para se tornarem mais tarde as conhecidas Enterprise Libraries. Alis, o desenvolvedor .NET que no usa que me desculpe, mas provavelmente ele deve gostar de escrever bastante cdigo e a essa altura j deve estar com algum tipo de tendinite. Brincadeira, o objetivo dessas bibliotecas exatamente prover a infra-estrutura necessria de desenvolvimento para a aplicao, permitindo focar na lgica de negcio, para tornar o ciclo de desenvolvimento menos penoso para o desenvolvedor. Seguindo essa mesma linha, percebemos que j existe uma srie de recursos para dar suporte e agilizar o desenvolvimento, porm eles esto dispersos na forma de documentao, guias, bibliotecas, aplicaes de exemplos, etc. Isso exige um esforo razovel para que possamos reunir, compilar e absorver essas toneladas de informaes.

12

Artigo: Introduo s Fbricas de Software


A idia das software factories exatamente essa, proporcionar um ponto de apoio para o desenvolvimento de um determinado tipo de aplicativo, reunindo no s a documentao, mas tambm templates, wizards e aplicativos de referncia em um nico lugar, com o suporte de uma ferramenta de desenvolvimento, como o VS.NET 2005. Basicamente, uma software factory apia-se em trs idias-chaves :

Schemas : voc pode pensar em um schema como uma receita. Alis, exatamente esse o termo usado (recipe). Schemas descrevem a arquitetura e o relacionamento entre seus componentes. Templates : eles contm os componentes listados na receita e fornece os padres, guias, frameworks, ferramentas de edio de DSL e outros ingredientes. Um ambiente de desenvolvimento extensvel : como por exemplo o VS.NET 2005. Por onde eu comeo ? A melhor maneira para comear a entender e utilizar os recursos das fbricas de software instalando as j disponveis, que so: Mobile Client Software Factory : fbrica para aplicaes Windows para dispositivos mveis. Smart Client Software Factory : fbrica para aplicaes smart-clients, ou seja, aplicaes com recursos Windows que podem ser disponibilizadas atravs de um browser. Web Client Software Factory : fbrica para aplicaes ASP.NET 2.0 e Windows Workflow Foundation.

13

Artigo: Introduo s Fbricas de Software


Fique atento aos pr-requisitos para a instalao, que dependem da fbrica que ser instalada. Eles podem variar desde o GAX (Guidance Automation Extensions), que o run-time necessrio para que o Visual Studo 2005 seja capaz de executar os pacotes, at o .NET Framework 3.0, Microsoft SQL Server 2005 Compact Edition Runtime, e outros componentes opcionais como o GAT (Guidance Automation Toolkit) e Visual Studio 2005 extensions para .NET framework 3.0 (WCF & WPF). Um componente interessante citado o GAT, que exatamente a ferramenta que possibilita a criao de pacotes novos de guias. Ou seja, atravs do GAT que o arquiteto da sua empresa poder criar um determinado guia de desenvolvimento (que inclui cdigo, documentao, templates, wizards, etc) e distribuir para os demais desenvolvedores da equipe.

Onde eu consigo mais informao ? http://msdn2.microsoft.com/en-us/practices/default.aspx Concluso Espero que este artigo tenha dado uma idia do que se tratam as software factories. Para aqueles que esto chegando agora, realmente, existe um mundo novo a ser explorado. Termos novos, ferramentas novas e conceitos novos. A medida que caminhos da produo artesanal de software para a produo automatizada, ferramentas que viabilizem essa transio tornam-se fundamentais. A idia de operrios de software nunca me agradou muito, mas podemos encarar as coisas por um outro ngulo : todo o esforo de codificao realizado at agora em processos repetitivos e entediantes poder ser deslocado para reas mais nobres durante a construo de uma aplicao. Essas reas seriam exatamente onde o desenvolvedor insubstitvel, ou seja, nas coisas que no podem ser automatizadas.

Felipe Cembranelli (cembranelli@excite.com) graduado em Cincias da Computao pela Unesp e ps-graduado em Telecomunicaes. Atua a 11 anos na rea de desenvolvimento e certificado na plataforma Microsoft desde 2001. Atualmente trabalha na equipe .NET da Sanmina-SCI em Campinas. No sente saudade da poca do Visual Basic 3.0.

14

Artigo: Integrando aplicaes .Net com SAP R3


Ol pessoal, nesse artigo estarei demonstrando algo que no muito comum entre os desenvolvedores .Net, e por esse motivo, existe uma carncia muito grande desses profissionais nas grandes empresas. Para quem no conhece, o R3 um ERP da empresa alem SAP, atualmente na verso 6 o R3 (da verso 6 em diante conhecido como ECC), est presente em 53% das grandes empresas do planeta, e no Brasil ele usado por empresas como Petrobras, Vivo, Claro, TIM, Embratel, Eletropaulo entre outras. O R3 possui uma linguagem prpria, o ABAP, tambm possui uma camada de gerenciamento de acesso a tabelas, ou seja, um programador ABAP no acessa diretamente o banco de dados, tudo feito no R3 e o prprio internamente persiste as informaes no banco de dados. Devido a facilidade de criao de telas de gerenciamento e relatrios, tornou-se interessante para as empresas terem aplicaes externas que conversam diretamente com o R3, at pelo fato da aplicao poder acessar informaes do negcio em tempo real, por exemplo um software de ponto de venda, sites con informaes detalhadas at mesmo aplicaes para efeitos gernciais. Em uma parceria feita entre SAP e Microsoft foi desenvolvido um componente para o Visual Studio 2003 chamado de SAPDotNetConnector, este consegue acessar RFCs que esto flegadas com acesso remoto no R3. O que uma RFC? RFC uma funo desenvolvida em ABAP, essa funciona como qualquer tipo de funo, recebendo parmetros e retornando parmetros. No R3 quando se cria uma RFC, possvel habilitar uma flag de acesso remoto, para que assim seja visualizado por outros aplicativos. Esse projeto ser demonstrado no Visual Studio 2003, porm, para as pessoas que j usam o Visual Studio 2005, como eu, podem apenas criar uma DLL no VS2003 e usa-la no VS2005 acessando todos os seus recursos. Primeiro necessrio instalar o SAPDotNetConnector 2.0, essa instalao j aplica algumas coisas no VS2003 para facilitar o acesso RFCs. Na figura abaixo, estou mostrando uma RFC que criei como exemplo, esta estar recebendo um parametro que ser o ID de um cliente (parmetro opcional) e estar retornando uma tabela de Clientes com todos ou apenas um referente ao ID passado.

Parmetro de entrada

15

Artigo: Integrando aplicaes .Net com SAP R3


Parmetro de Sada:

Cdigo da funo:

16

Artigo: Integrando aplicaes .Net com SAP R3


Execuo da funo:

Resultado:

Nesse momento, a parte que ser feita no R3 est pronta, observem na ultima figura que quando no passamos nenhum parametro a funo returna todos os usurios.

17

Artigo: Integrando aplicaes .Net com SAP R3


PROJETO

J com o SAPDotNetConnector instalado, vou criar um projeto Windows Application. Indo ao Server Explorer, ao pressionar o boto Refresh vai aparecer um icone do SAP, Vou expandindo em Application Servers e adiciono uma conexo com o servidor do ambiente no qual desenvolvi a RFC, expando para Functions e efetuo um filtro para ver as RFCs, veja va figura abaixo.

Feito isso, adiciono uma classe no projeto, selecionando New Item, mais aparecer outro tipo de classe, veja na imagem abaixo.

18

Artigo: Integrando aplicaes .Net com SAP R3


PROJETO

Para poder usar a RFC, apenas arrasto do Server Explorer para o container criado pelo VS, observem na imagem abaixo.

Aqui importante dizer que, por traz, o SAPDotNetConnector, l as informaes da RFC cria um mtodo, que a chamada da RFC e quando a mesma recebe ou retorna tabelas, ele cria o mapeamento dessas tabelas, observe que ele criou o metodo com o mesmo nome da RFC, criou uma estrutura com os campos da tabela KNA1 (Clientes) e uma coleo que seria a tabela, esse conceito bem parecido com o que temos no DataSet Tipado. Feito isso, voltarei ao Formulrio e vou adicionar uma Grid (dgClientes) e no Load do formulrio, vou adicionar o seguinte cdigo: private void Form1_Load(object sender, System.EventArgs e) { clsSAP S = new clsSAP(); S.ConnectionString = "StringConexaoSAP"; KNA1Table t_kna1 = new KNA1Table(); S.Z_Exemplo_Weliton("", ref t_kna1); dgClientes.DataSource = t_kna1; }

19

Artigo: Integrando aplicaes .Net com SAP R3


Aps exetutar o projeto aparecer todos os clientes na grid conforme mostra a imagem abaixo.

A verso do R3 usada na demonstrao a verso 4.6C, a partir da verso 6 a SAP implantou o conceito de SOA no ECC, dessa forma possvel acessar qualquer informao de RFC por meio de Web Services.

Concluso: Com esse artigo, eu quis demonstrar como possvel fazer acessos remotos RFCs no R3. Atualmente as grandes empresas esto querendo cada vez mais aplicaes que conectem em tempo real com informaes do negcio, o SAPDotNetConector ajuda e muito acessar essas informaes. At o prximo artigo.

Weliton Carlos Flor MCTS Web Applications e analista de sistemas na Stefanini, trabalha com .Net a 4 anos sendo 2 focado em SAP

20

Artigo: Mundo Acadmico


Queria contar-lhes uma experincia que creio que comum a todos no ambiente universitrio, principalmente. Ouvimos que o Java a linguagem ideal para o ambiente universitrio, que ela tem isso, tem aquilo, orientada a objetos, que a nica capaz de ensinar aos alunos o verdadeiro conceito de programao orientada a objetos. Dentre outros mitos, ouvimos que as linguagens C#, Visual Basic.NET e outras no servem para que aprendamos o bsico de algoritmos e fluxogramas, isto , que no so prprias para dar os primeiros passos no estudos das linguagens de programao. Vamos desmistificar essa srie de besteiras e mitos bobos e ver quo prticas so essas linguagens para a aprendizagem nas disciplinas de Algoritmos e Linguagens de Programao. Vamos abordar aqui um problema bem simples, que a resoluo de uma equao de segundo grau, da forma: ax+bx+c = 0

A resoluo dessa equao usa a frmula de resoluo de Bskara, que nos diz:

em que x a raiz da equao de segundo grau, alm disso, d-se o nome de delta () chamado de discriminante da equao e quem nos permite dar casos condicionais para a resoluo da equao de segundo grau, como segue:

Se >0 = > Existem duas razes reais diferentes. Se iguais. Se

=0 <0

= > Existem duas razes reais e = > No existem razes reais.

Em que

= b2 4ac.

O fluxograma desta aplicao (que pode ser melhorado, este apenas um exemplo prtico feito rapidamente para que mostremos a simplicidade de trabalhar com o .NET) dado abaixo:

21

Artigo: Mundo Acadmico


A seguir, temos a implementao do cdigo em C#, no modo Console: using System; using System.Collections.Generic; using System.Text; namespace ConsoleEquacao2Grau { class Program { static void Main(string[] args) { double A, B, C, DELTA, RAIZ, X1, X2; string nomeUsuario; Console.WriteLine("Digite o seu nome: nomeUsuario = Console.ReadLine(); ");

Console.WriteLine("Bem-vindo {0}!", nomeUsuario); Console.WriteLine("Digite o valor de A: \n"); A = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("{0}, digite agora o valor de B: B = Convert.ToDouble(Console.ReadLine()); \n", nomeUsuario); \n");

Console.WriteLine("E por ltimo, digite o valor de C: C = Convert.ToDouble(Console.ReadLine()); DELTA = (B * B) - (4 * A * C); // Se DELTA for maior ou igual a zero if (DELTA >= 0) { RAIZ = System.Math.Sqrt(DELTA); X1 = (-B + RAIZ) / (2 * A); X2 = (-B - RAIZ) / (2 * A);

Console.WriteLine("Caro {0}, o valor da RAIZ {1}! E o valor de DELTA {2}", nomeUsuario, RAIZ, DELTA); Console.WriteLine("E os valores de X1 e X2 so {0} e {1} respectivamente.\n", X1, X2); Console.WriteLine("DELTA maior ou igual a zero.\n"); Console.WriteLine("Pressione ENTER ou qualquer tecla para finalizar!"); Console.ReadLine(); } else { Console.WriteLine("Caro {0}, o valor de DELTA {1}\n", nomeUsuario, DELTA);

22

Artigo: Mundo Acadmico


Console.WriteLine("Portanto, o valor de DELTA negativo!\n"); Console.WriteLine("Pressione ENTER ou qualquer tecla para finalizar!"); Console.ReadLine(); } } } } Cujo resultado ser:

O projeto, em Windows Forms, usando a linguagem C#, criaria um layout como segue:

23

Artigo: Mundo Acadmico


Seu cdigo fonte de implementao fica desta forma:

using using using using using using using

System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Text; System.Windows.Forms;

namespace Equacao2Grau { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnSair_Click(object sender, EventArgs e) { // Encerrar a aplicao Application.Exit(); } private void btnLimpar_Click(object sender, EventArgs e) { //Limpar caixa de textos e // E focalizar no txtA txtA.Text = ""; txtB.Text = ""; txtC.Text = ""; txtX1.Text = ""; txtX2.Text = ""; txtMensagem.Text = ""; txtA.Focus(); } private void btnCalcular_Click(object sender, EventArgs e) { // Criar variveis double A, B, C, D, RAIZ, X1, X2; // // // // lgica // do sistema funcione. A = Convert.ToDouble(txtA.Text); B = Convert.ToDouble(txtB.Text); C = Convert.ToDouble(txtC.Text); Declarando variveis Nesse caso convertido tudo que o usurio digitar que considerado string (texto) e o .Net Framework 2.0 atravs da classe "Convert" converte para o tipo "Double" para que a

24

Artigo: Mundo Acadmico


// Frmula do Bskara D = (B * B) - (4 * A * C); // // // if { Ponto de deciso do sistema Se DELTA for maior ou igual a ZERO o sistema continua. (D >= 0) /* No .NET Framework 2.0 para se calcular uma raiz preciso * adicionar a classe "System.Math.Sqrt" * Assim ser possvel executar a RAIZ do problema */ RAIZ = System.Math.Sqrt(D); // Calculando o X1 e X2 X1 = (-B + RAIZ) / (2 * A); X2 = (-B - RAIZ) / (2 * A); // Convertendo os valores de X1 e X2 para exibio em formato texto // atravs da classe "Convert" e passando para "String" (texto). txtX1.Text = Convert.ToString(X1); txtX2.Text = Convert.ToString(X2); } else { // Se delta for menor que zero { // Exibindo a mensagem caso o DELTA for menor que ZERO! txtMensagem.Text = "Delta menor que zero"; } } } } }

25

Artigo: Mundo Acadmico


E, funcionando, teremos:

Viram a facilidade e a produtividade e os conceitos que foram vistos nos cdigos?

Quaisquer dvidas e/ou esclarecimentos, por favor, no hesitem em escrever para meu email: mauricioow@gmail.com At a prxima e poderiam, para o prximo nmero da revista, pensar em como resolveriam um sistema de duas equaes linares a duas incgnitas em C#, em modo console e em modo Windows Forms. Desde j, obrigado e no se esqueam, senhores: No stress, think .NET ! Abraos a todos

MAURICIO WIELER

Mauricio Wieler Orellana - Bacharel em Cincias da Computao, Mestrando em Cincias da Computao na USP, MCSD em Visual Studio 6, MCP em C#, atua no mercado Informtica h 14 anos e professor da Universidade Paulista (UNIP), Universidade Salesiana de So Paulo (UNISAL) e Faculdade Montessori, desde 2000. Fo Coordenador Acadmico da INETA Brasil.

RECORDAR VIVER!

PGINA

27

XNA - A comunidade mostra sua fora


O dia 15 de setembro de 2007 vai ficar para a histria do desenvolvimento de games. Neste dia a grande comunidade de desenvolvedores e entusiastas de games mostraram sua fora no 1 XNA Game Fest Brasil (www.gamefestbrasil.net ). O evento aconteceu na UNIP, campus Tatuap e foi organizado (www.codificandomagazine.net) e SharpGames.Net (www.sharpgames.net) . por dois grandes grupos: Codificando.Net Os participantes foram contemplados com cerca de 10 horas de atividades divididas em trs nveis: Estudantes/Games 2D, Profissionais/Games 3D e Game Design. Logo na abertura, contabilizamos cerca de 750 pessoas disputando cada centmetro (corredores laterais, central e demais rea de circulao) do auditrio para assistir ao descontrado KeyNote de Amintas Neto, Diretor Acadmico da Microsoft Brasil, apoiado por sua tropa de elite (peo licena pelo uso do trocadilho), Galileu Vieira, Gerente de Inovaes da Microsoft Brasil e Andr Furtado, um vitorioso doutorando ((http://afurtado1980.spaces.live.com), campeo de diversos campeonatos de desenvolvimento, apresentaram qualidades e a evoluo da tecnologia XNA. As palestras foram ministradas por grandes profissionais da rea e tambm por entusiastas que mergulham fundo na tecnologia, como caso de Jos Antonio Leal Farias, popularmente conhecido como JALF. JALF arrancou gargalhadas da galera com seu bom humor, mas provou com seriedade que desenvolver game exige uma boa dose de pacincia. Tambm fomos contemplados com o talento do MSP Roger Tang, um dos responsveis por criar o tutorial em CD distribudo aos participantes do evento. Tang apresentou os desafios da criao de jogos em 3D. Outro entusiasta e expert em GOW (Gears of War), Murilo Maciel Curti, aka SHINJi ou seria ao contrrio? apresentou um game semelhante ao Guitar Hero, demonstrando que os desafios podem estimular a criatividade. Esse nobre Jedi que vos fala (como difcil falar na terceira pessoa) apresentou um tutorial passo-a-passo sobre o desenvolvimento de um pequeno game 2D, com scrolling de cenrio, teste de coliso, controles do teclado e joystick e tambm tcnicas simples para criao de personagens.

PGINA

28

XNA - A comunidade mostra sua fora


Bsico/Acadmico
XNA e XNA Framework: desenvolvendo jogos de maneira fcil e divertida para Windows e Xbox 360 XNA Game Components e Game Services: criando jogos do jeito do XNA

Profissional
Programao Multi-Core para cdigo nativo e gerenciado Perspectivas no mercado nacional e na Live Arcade Criando efeitos especiais usando Shaders em XNA Tutorial: criando jogos em 3D com XNA

Design
Elementos de game design para um jogo de sucesso Criando cenrios 3D para seus jogos Criando roteiros para jogos

Bruno Evangelista ministrou duas palestras muito empolgantes, Criando efeitos especiais usando Shaders em XNA e Criando games 3d com XNA em formato de tutorial. Nesta ltima, os participantes (cerca de 130 na sala) maravilhados com os recursos e excelncia da apresentao, conseguiram extrair o mximo de informaes possveis, extrapolando em pelo menos em 1 hora o tutorial de nosso herico Bruno.

Na elite dos profissionais, Roger Tavares do Game Cultura e Fabio Razzo Galuppo da ZINIA, quebraram alguns paradigmas da concepo de um game, apresentando aspectos do design de games e programao multi-core, respectivamente. Suas palestras foram rapidamente interrompidas pela performance de um animado grupo de Cosplayers.
Tutorial: introduo a modelagem 3D

Como ningum de ferro (exceto alguns personagens dos games), tivemos dois intervalos para repor as energias, com lanches, pipoca, algododoce e muito refrigerante. Alm de repor as energias, o intervalo serviu como um momento para o networking , onde a galera trocou experincias, contatos e tambm muitas dicas de games para XBOX 360.

PGINA

29

XNA - A comunidade mostra sua fora


Bruno Evangelista ministrou duas palestras muito empolgantes, Criando efeitos especiais usando Shaders em XNA e Criando games 3d com XNA em formato de tutorial. Nesta ltima, os participantes (cerca de 130 na sala) maravilhados com os recursos e excelncia da apresentao, conseguiram extrair o mximo de informaes possveis, extrapolando em pelo menos em 1 hora o tutorial de nosso herico Bruno. Reforando ainda mais o sucesso do evento, tivemos forte cobertura jornalstica, com a presena da Play TV, Revista Oficial XBOX (ROX), Revista Game Master, Revista Independente XBOX 360 (Digeratti), Game Cultura, Portal XBOX, Game Reporter e Estadinho. Configura o que foi publicado na imprensa: Trecho do programa PlayZone, que vai ao ar de segunda a sbado na PlayTV: www.bizmedia.com.br/microsoft/ clipping.aspx?video=gamefest Matria da Revista Oficial XBOX 360 http://www.revistax360.com.br/modules/noticias/ver.php?id=275 Revista Game Master nmero 33 Excelente matria de destaque J nas bancas (outubro/novembro) Andr FurtadoAndr traa um perfil bem humorado do evento Panacea DesignGostamos muito do ponto de vista crtico, alm dos destaques positivos do evento.

Alm das matrias publicadas pela imprensa, observamos muitos posts em blogs de qualidade: http://afurtado1980.spaces.live.com/blog/cns!63514833CE40C143!219.entry http://panaceadesign.com.br/?p=24 Aventura da galera de Vila Velha-ESO pessoal mais animado e dedicado do evento, com uma caravana de cerca de 20 pessoas, arrasaram! http://s10.invisionfree.com/enrevil/index.php?showtopic=6007 Auditrio lotadohttp://uk.youtube.com/watch?v=JvOrat4QsZg Game desenvolvido por Andr Furtado - http://uk.youtube.com/watch?v=9I4HCCUlc3w Apresentao de Bruno Evangelista http://uk.youtube.com/watch?v=mNFIFR_gbv4 Andr Furtado arrancando gargalhadas da platia http://uk.youtube.com/watch?v=NbxU2bpcRws

Os videos tambm esto presentes na comunidade do YouTube:

PGINA

30

XNA - A comunidade mostra sua fora


Inscritos Participantes Palestras Apoiadores 1.250 Quase mil pessoas 15 Microsoft Acadmico Microsoft Games MSDN UNIP EA Games Sharp Games Codificando.Net Game Cultura Livraria Saraiva Comunidade Amiga.Net Ineta Play TV Revista Oficial XBOX Revista Game Master Estadinho (Jornal O Estado de So Paulo) Revista XBOX 360 Digeratti Game Cultura Game Reporter Mais de 750 kg

Imprensa

Arrecadao alimentos

Concluindo a matria, importante destacar que o evento contou com patrocinadores de peso, como: Microsoft, EA Games, Livraria Saraiva e UNIP-Tatuap, alm fortes apoiadores, MSDN, Game Cultura, Comunidade Amiga.Net, Ineta, Microsoft cadmico e Microsoft Games. isso a nobre Jedis! At o prximo Game Fest.

de A-

Feio Tomaz (feiotomaz@codificandomagazine.net) tecnlogo em Processamento de Dados, formado pela FatecAmericana. MCTS em BizTalk Server 2006, trabalha desde 2004 como consultor especialista em Desenvolvimento de Processos de Negcio e Solues de Integrao. Atualmente consultor da ITGROUP. Tem saudades dos bons tempos quando as coisas pareciam ser mais simples e os vdeo games tinham apenas um boto.....

31
Pessoal,

Coluna: Desvendando o SQL Server


Nesta srie de artigos para a revista Codificando.net, estou demonstrando o uso de XML com SQL Server 2005. Os seguintes tpicos esto sendo abordados:

Introduo: XML e SQL Server 2005 Gerenciando dados XML Trabalhando com XML Dados XML e tecnologia SQL Server Modificando dados XML Criando Indices XML Os 3 primeiros tpicos foram abordados anteriormente, restando os demais para serem desvendados posteriormente. Antes disso, ser preciso explicar o que venha a ser XML Schema. XML Schema descreve a estrutura e o conteudo de um documento XML. Abaixo encontra-se um exemplo que ser utilizado, pode-se notar que bastante parecido com a definio de uma tabela e seu contedo (dados). Sendo assim, salve o conteudo abaixo em um arquivo (pode ser logRecordSchema.xsd) e vamos para a prxima etapa.

SQL SERVER

<?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="logRecord" type="logRecordType" /> <xsd:simpleType name="flagEnum"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="warning" /> <xsd:enumeration value="information" /> <xsd:enumeration value="failure" /> <xsd:enumeration value="custom" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="eventEnum"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="appStart"/> <xsd:enumeration value="appClose"/> <xsd:enumeration value="logIn"/> <xsd:enumeration value="logOut"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="logRecordType"> <xsd:choice maxOccurs="unbounded"> <xsd:element name="information" type="informationType"/> <xsd:element name="error" type="errorType"/> <xsd:element name="post" type="postType"/> </xsd:choice> <xsd:attribute name="machine" type="xsd:string" /> <xsd:attribute name="timestamp" type="xsd:dateTime" /> </xsd:complexType> <xsd:complexType name="postType">

32

Coluna: Desvendando o SQL Server


<xsd:sequence> <xsd:element name="moreInformation" type="xsd:string" maxOccurs="1" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="eventType" type="eventEnum"/> </xsd:complexType> <xsd:complexType name="informationType"> <xsd:sequence> <xsd:element name="message" type="xsd:string" /> </xsd:sequence> <xsd:attribute name="flag" type="flagEnum" /> </xsd:complexType> <xsd:complexType name="errorType"> <xsd:sequence> <xsd:element name="message" type="xsd:string" /> <xsd:element name="module" type="xsd:string" /> </xsd:sequence> <xsd:attribute name="number" type="xsd:int" /> </xsd:complexType> </xsd:schema>
Na edio anterior, criamos o banco de dados codificandoxml e a tabela tabelaexemploxml (a ser utilizada futuramente em outros artigos). Para isso, estando no SQL Server Management Studio, digitamos o seguinte comando que ir, ao mesmo tempo, carregar o arquivo codificando.xsd e criar a tabela a ser utilizada nos prximos exemplos: USE codificandoxml Go declare @schema XML select @schema = c from openrowset ( bulk 'c:\codificando\logRecordSchema.xsd', single_blob) as temp(c) create xml schema collection LogRecordSchema as @schema go Criar a tabela de exemplos da apresentao: CREATE TABLE UniversalLog ( ID INT IDENTITY(1,1) NOT NULL, LogDateTime DATETIME NOT NULL CONSTRAINT [DF_UniversalLog_LogDateTime] DEFAULT (GetDate()), ApplicationName NVARCHAR(50) NOT NULL, LogRecord XML(LogRecordSchema) NULL )

SQL SERVER

33

Coluna: Desvendando o SQL Server


Neste ponto, chegou o momento de inserir dados na tabela: USE CodificandoXML GO INSERT UniversalLog(ApplicationName, LogRecord) VALUES ('SalesApp', '<logRecord machine="server1" timestamp="2000-01-12T12:13:14Z">

SQL SERVER

<post eventType="appStart"> <moreInformation>All Services starting</moreInformation> </post> </logRecord>') INSERT UniversalLog(ApplicationName, LogRecord) VALUES ('Inventory', '<logRecord machine="server2" timestamp="2000-01-13T12:13:14Z"> <post eventType="appStart"/> <information flag="warning"> <message>Duplicate IP address</message> </information> </logRecord>')

INSERT UniversalLog(ApplicationName, LogRecord) VALUES ('HR', '<logRecord machine="server1" timestamp="2000-01-14T12:13:14Z"> <error number="1001"> <message>The user does not have enough permissions to execute query</message> <module>DataAccessLayer</module> </error> </logRecord>')

INSERT UniversalLog(ApplicationName, LogRecord) VALUES ('CustomerService', '<logRecord machine="server2" timestamp="2000-01-15T12:13:14Z"> <post eventType="logOut"/> <information flag="custom"> <message>User must change password on next login</message> </information> </logRecord>')

34
VALUES ('HoursReport',

Coluna: Desvendando o SQL Server


INSERT UniversalLog(ApplicationName, LogRecord) '<logRecord machine="server2" timestamp="2000-01-11T12:13:14Z"> <information flag="failure"> <message>Hard Disk with ID #87230283 is not responding</message> </information> <error number="18763"> <message>Application can not start</message>

SQL SERVER

<module>AppLoader</module> </error> <post eventType="appStart"/> </logRecord>') SELECT * FROM UniversalLog GO O resultado encontra-se abaixo:

At o momento preparamos todo o nosso ambiente de estudos criando o database, as tabelas, XML schema e inserimos os dados que sero utilizados na prxima etapa. Por enquanto ficaremos por aqui, no prximo artigo continuaremos a desvendar o uso de XML com SQL Server explicando como os dados XML se comportam com a tecnologia SQL Server, modificaremos os dados XML inseridos neste segundo artigo e tambm ser explicado a criao de indices XML. Preparem-se, a viagem promete! Abraos, Alexandre Lopes

Alexandre Lopes atua como consultor especialista em SQL Server em projetos da Y2K-TI (http://www.y2k-ti.com.br). Possui mais de 10 anos de experincia na rea de TI, sendo certificado Microsoft com os ttulos MCT, MCSE e MCDBA. Como instrutor MCT (Microsoft Certified Trainer) possui cerca de 4.200 horas ministrando treinamento oficial Microsoft.

36

Cinema
TROPA DE ELITE
O Cinema Nacional em patamar de cinema de primeiro mundo. Nobres Jedis, dificil analisar e fazer uma crtica transparente quando nossa moo supera a razo. Assisti ao filme logo na estria e confesso que tentei trabalhar como crtico ra escrever vocs, mas a emoo falou mais alto. Bem, a vai minha anlise crtica: Aqui a arte imita a vida, a realidade de um mundo cinzento, uma fronteira intransponvel repleta de armadilhas. Tropa de Elite no pode ser rotulado apenas como mais um filme que trata de problemas sociais. Trata-se de uma obra-prima de produo invejvel, com ances do cinema americano e dilogos comparados ao cinearte europeu. ExageTudo bem, no d pra comparar os dilogos com as sacadas genias de Almodou ironias de Woody Allen, mas Capito Nacimento, brilhantemente interpretapor Wagner Moura, dispara palavras conexas num perfeito timing. nuro? var d o e pa-

O diretor, Jos Padilha, teve sensibilidade e forte sintonia com sua equipe, atingindo a excelncia em fotografia e som este um show a parte, com sincronismo e perfeio em todas as cenas. Respire fundo e prepare-se para interminveis cenas de ao, com muito sangue, humilhao, piadas sarcsticas e um herosmo duvidoso; claro, dependendo do seu ponto de vista. Nobres Jedis, esse um filme imperdvel, onde voc far uma forte crtica sobre a sociedade, e no somente sobre o filme. Os brincalhes de planto no perdem tempo e j me enviaram algumas frases sobre o Capito Nascimento. A vai: Quando Bruce Banner fica p#@! ele vira o Hulk, quando o Hulk fica p#t! ele vira o capito Nascimento. Capito Nascimento no l livros, ele bota eles no saco at conseguir toda a informao que precisa. Capito Nascimento apostou queda de brao com o Superhomem e quem perdesse teria que usar a cueca por cima da cala. O capito Nascimento s dorme de luz acesa, porque o escuro tem medo dele. No Aurlio a palavra "vtima" est definida como "aquele que encontra o capito Nascimento". Capito Nascimento dorme com um travesseiro debaixo da arma.

Amigos, sem dvida nenhuma, esse filme vai dar no que falar. Divirtam-se. - Emerson Facunte

TRASH

RIDCULO

D PRO GASTO

V ASSISTIR

T ESPERANDO O QUE?

37

.Close()
Visual Studio 2008! O melhor debug de todos os tempos Debugar, debugar e debugar.... Uma tarefa muito comum em nossas vidas e que graas as evolues das ferramentas conseguimos fazer cada vez melhor. Principalmente em momentos de bugs absurdos, o Debug parceiro fiel para qualquer desenvolvedor... O Visual Studio j nos oferece um debug muuuuito bom, com recursos sensacionais ainda mais para fs de trabalhar com colees, o Debug sensacional. O time de produto do Visual Studio 2008 surpreendeu ao anunciar um novo recurso de Debug... A partir da prxima verso, simplesmente poderemos navegar pelo debug na implementao na Biblioteca de Classes do Framework... Isso mesmo, na implementao de cdigo feita pela Microsoft. O que ganho com isso? Um nvel a mais de debug... Poderemos por exemplo em debug entrar na implementao do mtodo Replace da classe String.... E muito mais claro :) D para imaginar no trabalho que devem ter tido para fazer isso? Imaginem a limpeza no cdigo, tirar as solues tcnicas alt ernativas (gambiarras), tirar os comentrios do tipo: No sei o que faz, mas no apaguem, etc etc etc... Mas at ai, o trabalho que isso deu para fazer no muito problema nosso :) , mas o recurso sim e nosso e os debugs de quem utilizar Visual Studio 2008 vo ser muito mais profundos...

Veja mais: http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx

Alexandre Tarifa MVP Visual Developer Visual Basic .Net, bacharel/ps graduado em Cincia da Computao, trabalha em diversos projetos. Tem participado de diversos projetos que comeam como Web e terminam com Smart Client. Especialista .Net e Lder de Projetos na ITGROUP (www.itgroup.com.br), editor da revista Codificando e-Magazine e fantico torcedor do So Paulo Futebol Clube. Blog: www.vstsrocks.com.br/alexandretarifa.

You might also like