terça-feira, 24 de março de 2009

Os vencedores são...

Os cinco vencedores da assinatura da Engenharia de Software Magazine são:

Ronaldo Camacho

Rodolfo Sabatin

Flávio da Maia Jr.

Paulo Gilson da Costa

Marcus Vinícius Moreira


Em breve o pessoal da DevMedia entrará em contato com vocês.

Grande Abraço e até a próxima!

quarta-feira, 18 de março de 2009

Engenharia de Software Conference

Nos dias 22 e 23 de maio, acontecerá o Engenharia de Software Conference. Essa é uma daquelas raras oportunidades que não se pode perder.

Este evento, promovido pela DevMedia (editora da .NET Magazine e Engenharia de Software Magazine - www.devmedia.com.br), abordará os temas mais atuais sobre engenharia e arquitetura de software. São mais de 30 palestras que vão desde o projeto até o último teste de um software, passando pelos mais modernos conceitos de gerenciamento.

Entre outras informações você pode conferir a grade de palestras no seguinte site: http://www.devmedia.com.br/es_conference/, que também pode ser acessado pelo banner aí ao lado.

É uma oportunidade única de entrar em contato com renomados profissionais do mercado de desenvolvimento de software. Não deixe de participar!

Outra ótima noticia é que estarei sorteando aqui neste Blog, 5 assinaturas da revista digital da DevMedia: Engenharia de Software Magazine (http://www.devmedia.com.br/canais/sobre.asp?site=43).

Na próxima segunda-feira (23/março) vou colocar um POST aqui no BLOG, e as primeiras 5 pessoas que colocarem um comentário neste POST, irão ganhar a assinatura. Fique atento e não perca essa!!

Grande Abraço e até Segunda!!

segunda-feira, 16 de março de 2009

ASP.NET MVC eBook – Free Download!

O ASP.NET MVC é uma nova framework que vem sendo desenvolvida pela Microsoft com o objetivo de viabilizar o desenvolvimento de aplicações Web no padrão MVC (Model x View x Controller).

Atualmente o MVC Framework está disponível para download na versão Release Candidate 2 (http://www.asp.net/mvc/), que certamente estará na versão final em breve.

Mas este POST não é para falar a respeito do ASP.NET MVC, e sim de um livro escrito por feras no assunto: Scott Guthrie, Scott Hanselman, Rob Conery, e Phil Haack.

O livro ainda não está disponível, mas já é possível fazer um “pré-pedido” com desconto: http://www.amazon.com/gp/product/0470384611?ie=UTF8&tag=scoblo04-20&linkCode=xm2&camp=1789&creativeASIN=0470384611

Porém, jóia mesmo foi o Scott Gunthrie disponibilizar para download o capítulo que ele escreveu. Através desse site aqui: http://www.wrox.com/WileyCDA/Section/id-321793.html?cid=0311hottopics3 você faz o download do capítulo inteiro em PDF, e ainda tem acesso ao código fonte que é feito no exemplo.

Vale à pena baixar! Ele mostra ao estilo passo-a-passo como construir uma aplicação inteira com o ASP.NET MVC Framework. São 186 páginas de conteúdo de excelente qualidade. Imperdível!

segunda-feira, 9 de março de 2009

db4o (parte 6) – LINQ to db4o

Para finalizar esta sequencia de Posts sobre como realizar Queries no db4o, veremos como é possível utilizar a linguagem LINQ do .net para consultar dados em databases do db4o.

LINQ é a linguagem de queries integrada do .NET Framework, e o db40 também oferece compatibilidade com a linguagem LINQ. A vantagem do LINQ é a capacidade de criar queries em C# com as mesmas funcionalidades da linguagem SQL.

A primeira coisa que você precisa fazer é adicionar uma nova referencia ao seu projeto. Como neste exemplo estamos utilizando um projeto do tipo Console Application, basta adicionar uma referencia neste projeto, à DLL Db4objects.Db4o.dll como você confere na Figura abaixo.


Veja que essa DLL está no mesmo lugar que a Db4objects.Db4o.dll, e ela é que vai adicionar capacidade de criar queries LINQ no db4o.

Em seguida basta importar o namespace Db4objects.Db4o.Linq na classe Program.cs, e já estamos prontos para criar nossas queries com LINQ. Veja na Figura abaixo uma query que vai retornar todos os países com população acima de 1 milhão, e ordenada em ordem alfabética.


O resultado você vê na próxima figura.



Na minha opinião essa é a forma mais fácil e com maiores recursos que temos, para realizar queries no db4o. Além das capacidades de query, que são muito similares à linguagem SQL, com o LINQ temos a adição de uma série de métodos extendidos.

Veja, por exemplo, na Figura abaixo. Note que temos acesso à uma enorme quantidade de métodos da plataforma LINQ. Neste exemplo estamos utilizando o método Take, que funciona como um TOP, e neste caso irá limitar a nossa pesquisa à apenas os 5 primeiros registros encontrados.



Veja o resultado na próxima figura.


Deu pra notar que as possibilidades são muitas com o LINQ. Com isso somamos quatro possíveis formas de se executar queries no db4o: QBE, NQ, SODA e LINQ. Com todas essas possibilidades, dá pra notar que query é um ponto bem forte neste database.

Nos próximos POSTs pretendo falar de alguns assuntos mais avançados, e alguns exemplos práticos de como começar a utilizar o db4o em nossas aplicações. Grande abraço e até a próxima!

terça-feira, 3 de março de 2009

db4o (parte 5) – Queries SODA

SODA é a API interna do db4o para a execução de Queries. Ela oferece compatibilidade com antigas versões, e pode ser utilizada para a criação de queries dinâmicas, enquanto a NQ é fortemente tipada.

A API SODA pode ser utilizada para queries dinâmicas, pois identifica os campos das classes como strings. Para a maioria das aplicações o ideal é utilizar uma API fortemente tipada, como é o caso da NQ e do LINQ, mas em certas aplicações a construção de queries dinâmicas pode ser necessária. A API SODA preenche essa lacuna.

Para escrever Queries com a API Soda precisamos da interface IQuery, e para isso é preciso importar o seguinte namespace: using Db4objects.Db4o.Query; Adaptando para o nosso exemplo, uma Query SODA para retornar todos os países ficaria assim:



Note que a constraint da query é uma “meta descrição” dos objetos que queremos retornar. O resultado é a lista de todos os países cadastrados, o mesmo resultado que obtivemos com o QBE e NE nos outros POSTs.

A única restrição das Queries SODA que eu particularmente não gosto, é que as constraints precisam ser criadas apontando para os atributos privados da classe (private fields), e não para as propriedades. Isso inviabiliza o uso das Queries SODA quando usamos as propriedades automáticas (recurso incluso no C#3.0), conforme fizemos no exemplo da classe Country.

Porém, se nossa classe tivesse sido declarada sem o recurso das propriedades automáticas, como neste exemplo abaixo:


Poderíamos então executar uma Query SODA com uma condição aplicada aos atributos, conforme você pode ver no exemplo abaixo:


Esses exemplos mostram apenas o básico que se pode fazer com as Queries SODA. É possível criar queries bem mais avançadas. Mas o importante a notar aqui é que esse é um mecanismo bem mais complexo de se criar Queries, se comparado com as NQs. Porém, toda NQ por debaixo dos panos, é convertida em SODA, o que significa que as Queries SODA são mais performáticas.

No fim vamos notar que cada estilo de Query atende à uma necessidade, e não será incomum usar mais do que um estilo na mesma aplicação. No próximo POST vou falar do LINQ e fechar a sequencia de posts sobre as Queries em db4o.

Grande Abraço e até o próximo!