Visualizador para JSON

by Israel Aece 19. August 2010 11:23

O JSON é um formato que temos para serializar informações, e que possibilita aplicações AJAX consumirem serviços de forma muito mais simples, dispensando todo o "overhead" do XML ou SOAP. É um formato relativamente simples, assim como podemos ver abaixo, onde temos um cliente e seus respectivos pedidos:

{"Codigo":123,"Email":"ia@israelaece.com","Nome":"Israel","Pedidos":[{"Codigo":1,"Data":"\/Date(1282228004105-0300)\/","Valor":1000},{"Codigo":2,"Data":"\/Date(1282228004144-0300)\/","Valor":129}]

Para facilitar a vida dos desenvolvedores, principalmente quando lidamos com a construção de serviços, que exigem a exposição de informações mais complexas do que essa mostrada acima, pode ser útil termos um visualizador para mostrar graficamente a estrutura do documento JSON. Para isso, podemos recorrer ao JSONViewer, uma ferramenta que não exige nenhuma instalação, e tudo o que você precisa fazer é rodá-la. Abaixo podemos ver a imagem do documento JSON acima, totalmente formatado e de forma gráfica.

Depois de baixar, com uma configuração simples, que você encontra no site do projeto, verá que podemos incorporá-lo ao Fiddler, para já monitorar serviços que retornam os resultados em formato JSON.

Tags: , ,

General

Feedback do Evento Codificando.NET

by Israel Aece 20. June 2010 21:58

Como eu comentei aqui, eu palestrei no evento do Codificando.NET 2010 sobre a construção de serviços em WCF. O evento foi bem organizado, onde o Alexandre Tarifa, Andrey Sanches e o Diego Nogare se esforçaram para que o evento fosse um grande sucesso. Foi bom reencontrar esses amigos, que além deles, também falei com o Claudenir Andrade, Helio Sá Moreira, Alfred Myers e o Rodolfo Roim. Gostaria também de agradecer aqueles que ficaram para acompanhar a minha palestra, que se iniciou às 16:30hs. Para os interessados, o exemplo que montei pode ser baixado neste endereço.

Além deste evento, também aconteceu uma espécie de "micro-evento", pois o Alexandre Tarifa forneceu um espaço para o pessoal do grupo do DotNetArchitects realizar uma reunião. Foi legal participar e poder conhecer alguns nomes importantes da comunidade, como é o caso do Fabio Margarito, Leandro Daniel, Daniel Castro, Victor Cavalcante e Vinicius Quaiato, onde em uma conversa informal foi discutido muitos assuntos pertinentes ao desenvolvimento de software.

Tags:

General | WCF

QCon - Como unificamos nossa camada de autenticação?

by Israel Aece 25. May 2010 22:04

O principal evento de arquitetos e desenvolvedores chega a América Latina. O QCon SP traz, dias 11 e 12 de Setembro, ícones internacionais e nacionais de diversas áreas, com apresentações de alto nível técnico. Com sistemas cada vez mais complexos, o QCon aborda não apenas uma única tecnologia ou aspecto: passa de Java, .NET e Rails até Arquitetura, Design, Cloud, Escalabilidade, Replicação, Cache e casos de sucesso.

Neste evento, eu fui convidado para compor juntamente com alguns ícones do mundo .NET (tais como Thiago Cruz Soares e Fabio Galuppo), o grupo de palestrantes focados em tecnologias Microsoft/.NET. A minha palestra tem como finalidade abordar o WIF - Windows Identity Foundation, que já falei bastante por aqui. Abaixo temos a descrição completa da palestra:

Título: Como unificamos nossa camada de autenticação?
Palestrante: Israel Aece
Descritivo: Autenticação e autorização são dois conceitos importantes que existem no desenvolvimento de software. A autenticação é a necessidade de saber quem o usuário é, enquanto a autorização é saber que direitos ele tem no software. Há uma grande complexidade em torno destes temas, pois cada aplicação precisa se preocupar em vários detalhes para garantir a segurança, tais como: um local seguro para armazenar as credenciais de acesso, definição de políticas para a criação e reutilização de senhas, etc. E como se isso não fosse o bastante, corremos um grande risco de termos a mesma infraestrutura repetida entre várias aplicações, dificultando a manutenção, segurança e a experiência de navegação dos usuários que as acessam. Essa palestra mostrará cenários típicos do nosso dia-à-dia, como SSO (Single Sign-On) e federação dentro da plataforma .NET.

Tags: ,

General | Security | WIF

Codificando.NET 2010 - Palestra sobre WCF

by Israel Aece 25. May 2010 21:59

No próximo dia 19 de junho (sábado), acontecerá em São Paulo um evento chamado Codificando 2010, organizado pela comunidade Codificando.NET. Esse evento terá várias sessões focadas exclusivamente em desenvolvimento de aplicações utilizando a plataforma .NET, com especialistas de mercado. Para maiores detalhes sobre o evento em geral, consulte o site neste endereço.

Eu fui convidado pelo Alexandre Tarifa para falar sobre WCF - Windows Communication Foundation, que é a alternativa no ambiente Microsoft/.NET para construção de aplicações distribuídas e conectadas. É importante dizer que a palestra será de nível 100, abordando superficialmente algumas das principais funcionalidades e mudanças que aconteceram nesta nova versão da tecnologia, permitindo desmistificar os principais elementos que compõem a estrutura do WCF. Abaixo temos a descrição da palestra:

Título: Distribuindo Componentes com WCF
Palestrante: Israel Aece
Descritivo: O WCF é o pilar de comunicação da plataforma .NET, e que está presente desde a versão 3.0. Através dele podemos construir serviços que podem ser consumidos pela própria empresa ou por parceiros de negócios, para que seja possível criar aplicações inteligentes e conectadas. A finalidade desta palestra é mostrar um overview sobre o WCF, abordando superficialmente as funcionalidades incluídas na versão 4.0, com exemplos práticos de sua utilização.

Tags:

CSD | General | WCF

Evento de Tecnologia em Hortolândia

by Israel Aece 25. May 2010 21:36

No próximo dia 01 de junho (terça-feira) acontecerá um evento na UNASP Hortolândia (Centro Universitário Adventista de São Paulo), na cidade de Hortolândia. Para quem é de Campinas e região, este evento acontecerá na sede da universidade, localizada na Rua Pr. Hugo Gegembauer, 265, Parque Hortolândia, à partir das 19:45. Eu palestrarei sobre o Visual Studio 2010 e o .NET Framework 4.0. É importante dizer que a palestra será de nível 100, que além de abordar superficialmente algumas das principais funcionalidades desta nova versão, falaremos um pouco também sobre algumas tecnologias que já existem e estão à disposição desde as versões anteriores. Abaixo temos a descrição da palestra:

Título: Visual Studio 2010 e .NET Framework 4.0
Palestrante: Israel Aece
Descritivo: Esta palestra tem a finalidade de exibir um “tour” sobre a plataforma .NET, e a principal ferramenta que utilizamos para desenvolver aplicações para ela, que é o Visual Studio. A ideia é demonstrar rapidamente a história e a evolução do .NET Framework até a versão 4.0, incluindo assuntos como as linguagens de programação (C# e VB.NET), acesso à dados e aplicações para internet (WebForms, MVC e Silverlight). Logo após, vamos analisar de forma superficial as novidades que estão sendo incluídas na IDE do Visual Studio 2010 e que dão suporte ao desenvolvimento de qualquer tipo de aplicação sobre a plataforma .NET.

Tags: , , ,

C# | Data | General | WCF

O Português e o Software

by Israel Aece 28. April 2010 13:04

Artigos, preposições, pronomes, verbos, entre várias outras classes de palavras, são características de vários idiomas ao redor do mundo. Cada uma delas desempenha um papel importante, e ficaria difícil montarmos orações sem uma delas, pois coisas básicas como determinar e conectar elementos, expressar ações, etc., são por elas especificadas, e que impõem suas regras de construção.

Quando estamos criando um software, é importante que se nomeie os seus membros de forma à expressar exatamente como temos no mundo real. Isso facilita muito durante o levantamento, desenvolvimento e, principalmente, na manutenção do código, permitindo que pessoas que não conheçam exatamente os detalhes de uma linguagem de programação, olharem para o código e entenderem o que está acontecendo ali. Justamente por isso é importante que você tente manter - também - durante a criação de classes, métodos, propriedades e variáveis, os mesmos elementos gramaticais que são utilizados no mundo real.

Em um artigo anterior eu já havia comentado sobre a utilização do idioma português ao invés do inglês. Se você está criando um código de infraestrutura, como por exemplo, um repositório de logs, classes que facilitam o acesso ao registry do Windows, etc., então você pode manter isso em inglês, pois fica até mais fácil encontrar nomes mais coerentes. Já quando estamos construindo as regras de negócio, onde vamos utilizar algum modelo para o desenvolvimento (DDD, TS ou AR), devemos sim utilizar o português e nos atentarmos para manter as classes de palavras do idioma, para expressar com exatidão o negócio no mundo virtual.

Ao criar variáveis, eu considero o uso das preposições como sendo extremamente importante para conectar uma parte da variável à outra. Se vamos criar uma váriavel que irá armazenar o nome do cliente, ao invés de utilizarmos nomeCliente, é muito mais intuitivo chamarmos de nomeDoCliente. Acredito que nomear a variável como nomeCliente acaba sendo uma má interpretação do inglês, por exemplo, se fossêmos criar a mesma variável em inglês, nomearíamos para customerName, mas lembre-se de que a tradução para customer name é nome do cliente. Para elencar mais alguns exemplos práticos:

DateTime dataDeNascimento = DateTime.Now;
decimal valorTotalDoPedido = 1000.00M;
decimal? taxaDeJuros = null;
bool permiteContinuarCasoEncontreFalhasNoProcessamento = true;
Action<decimal> calculoDeSalario = (salario) => { };

O mesmo vale para métodos. O que temos em mente é que métodos devem ser representados por verbos. Isso continua sendo válido, mas você deve nomeá-lo exatamente de acordo com a sua finalidade. Geralmente você utiliza o verbo em primeiro lugar e o restante complementa de acordo com a tarefa que ele desempenha, por exemplo:

RepositorioDeClientes repositorioDeClientes = new RepositorioDeClientes();

Cliente cliente = new Cliente();
cliente.Nome = "Israel Aece";
cliente.Salario = 1000.00M;

this.CalcularLimiteDaContaCorrente(cliente);
repositorioDeClientes.Adicionar(cliente);

Depois do limite calculado, eu estou adicionando o cliente recém criado no repositório. Note que o método Adicionar é nomeado como Adicionar e não como AdicionarCliente. Como eu já estou em um repositório de clientes, eu já sei que ali eu só posso adicionar clientes. Não precisa "ratificar" isso no método. Além de desnecessário, complica a leitura.

Outro detalhe importante é quando você vai criar sobrecargas (overloads) de métodos. Na maioria destes casos, são os parâmetros (tipo e quantidade) que determinam a diferença entre as várias versões e não o nome, pois os nomes serão sempre os mesmos. Por exemplo, você tem uma classe que efetua a simulação de empréstimos pessoais, onde é necessário informar o valor a ser financiado e o CPF do cliente. Só que o cliente pode não estar com o CPF, mas tem ele na CNH ou no RG. Então você pode criar versões do método Simular, onde cada um utiliza um documento específico.

public class SimuladorDeEmprestimosPessoais
{
    public void Simular(decimal valor, RG rg)
    {
        CPF cpf = ExtrairCPFDoRG(rg);
        Simular(valor, cpf);
    }

    public void Simular(decimal valor, CNH cnh)
    {
        CPF cpf = ExtrairCPFDaCNH(cnh);
        Simular(valor, cpf);
    }

    public void Simular(decimal valor, CPF cpf)
    {
        //efetua a simulação
    }
}

Acima vemos um exemplo prático e expressivo, que olhando para os seus métodos, somos capazes de efetuar a simulação dado qualquer um dos documentos suportados (RG, CNH ou CPF) pela classe.

Como eu disse acima, com esse tipo de código é possível que pessoas que nem conheçam detalhes do C#, olhem para ele e consigam extrair e entender grande parte das funcionalidades que ele executa. Essa técnica tornará o seu trabalho e dos demais membros da equipe muito mais simples, principalmente quando precisamos efetuar algum tipo de manutenção em um código já escrito há algum tempo. A ideia é tentar praticar o que Martin Fowler já falou há algum tempo: "Any fool can write code that a computer can understand. Good programmers write code that humans can understand.".

Tags:

General

Community Launch em Campinas

by Israel Aece 15. March 2010 22:38

No próximo dia 20 de março acontecerá um evento chamado de Community Launch. Esse evento será espalhado por todo o Brasil, onde cada região criará o evento e abordará os principais produtos da Microsoft que estarão sendo lançados neste ano de 2010, a saber: Visual Studio 2010, Windows Server 2008 R2SQL Server 2008 R2.

Para quem é de Campinas e região, este evento acontecerá na Universidade UNIP, localizada no bairro Swift, à partir das 09:00 da manhã. Caso você não saiba exatamente onde ela está localizada, consulte este endereço para saber como chegar até lá. Entre as várias palestras, eu sou o responsável por falar sobre Visual Studio 2010 e .NET Framework 4.0. É importante dizer que a palestra será de nível 100, que além de abordar superficialmente algumas das principais funcionalidades desta nova versão, falaremos um pouco também sobre algumas tecnologias que já existem e estão à disposição desde as versões anteriores. Abaixo temos a descrição da palestra:

Título: Visual Studio 2010 e .NET Framework 4.0
Palestrante: Israel Aece
Descritivo: Esta palestra tem a finalidade de exibir um “tour” sobre a plataforma .NET, e a principal ferramenta que utilizamos para desenvolver aplicações para ela, que é o Visual Studio. A ideia é demonstrar rapidamente a história e a evolução do .NET Framework até a versão 4.0, incluindo assuntos como as linguagens de programação (C# e VB.NET), acesso à dados e aplicações para internet (WebForms, MVC e Silverlight). Logo após, vamos analisar de forma superficial as novidades que estão sendo incluídas na IDE do Visual Studio 2010 e que dão suporte ao desenvolvimento de qualquer tipo de aplicação sobre a plataforma .NET.

IMPORTANTE: Apesar do evento ser gratuito, para poder participar é necessário efetuar o cadastro aqui.

Tags: , , ,

.NET Framework | C# | Data | General | VB.NET

OT: Redirecionamento de Artigos

by Israel Aece 16. January 2010 05:10

Me diga o nome do artigo que eu te passo o novo endereço. Você pode utilizar a busca com palavras chaves, que com certeza você chegará até ele, pois todos os artigos foram migrados de lá para cá. E mais uma vez eu recebo esse tipo de crítica. :)

Tags:

General

Powered by BlogEngine.NET 1.5.0.0
Theme by Mads Kristensen

Sobre

Meu nome é Israel Aece e sou especialista em tecnologias de desenvolvimento Microsoft, atuando como desenvolvedor de aplicações para o mercado financeiro utilizando a plataforma .NET. [ Mais ]

Twitter

Host