Introdução ao ORM e NHibernate

2 Comments

ORM - Object Relational Mapping (mapeamento objeto relacional)

Porque usar uma ferramenta ORM:

Há vários anos os bancos de dados relacionas são utilizados como armazenamento de dados e sua eficiência para isso não se discute. Com o passar do tempo vários recursos foram adicionados aos SGBDs, como recursos de relatórios e até mesmo de geração de interface. Nesse mesmo tempo as tecnologias para desenvolvimento de sistemas, a programação propriamente dita, também evoluíram em resposta aos novos desafios que lhe eram impostos.

Por exemplo os prazos foram diminuindo, novas plataformas como WEB e dispositivos móveis se popularizaram, a variedade de banco de dados relacionais existentes sem contar com a necessidade de se melhor representar o mundo real. Por esses e outros motivos a programação OO tem se firmado e crescido em uso.

Ao utilizar OO como programação possuindo um banco relacional como fonte de dados será percebido o que formalmente é conhecido como “impendância objeto/relacional”. Isso se dá ao fato de que os objetos de negócio podem ser representados de forma diferente em um banco relacional. Por isso que surgiram as ferramentas ORM. ORM significa Object Relational Mapping, mapeamento objeto relacional.

Uma ferramenta ORM tem por objetivo diminuir as diferenças entre objetos e tabelas de um SGBD. Devem oferecer formas para o desenvolvedor definir como que seus objetos serão persistidos (salvos) de forma física, e até mesmo como podem ser obtidos e manipulados do SGBD.

Se você ainda não compreendeu imagine uma classe Pessoa que possui os seguintes atributos: Nome, RG, Endereço, sendo que Endereço é uma outra classe que possui os atributos Logradouro, Número, Complemente, Bairro, Cidade, Estado e CEP. Como vamos salvar esse objeto? Em que banco de dados? Para qual tabela? Em quais campos? É isso que uma ferramenta ORM oferece e utilizando uma poderíamos responder as questões acima da seguinte forma, a classe Pessoa é mapeada para uma Tabela Pessoa, e a classe Endereço poderia ter seus atributos mapeados para a mesma tabela Pessoa.

Além de permitir isso, uma ferramenta ORM deve abstrair o banco de dados, seu acesso, sua manipulação através de SQL e até mesmo sua troca para permitir que o desenvolvedor mantenha o foco no que creio ser realmente importante, as regras de negócios que serão aplicadas ao sistema em desenvolvimento.

Porque utilizar o NHibernate ?

Além de oferecer os recursos comuns a qualquer ferramenta ORM que se preze temos:

 

  • Free – Além de ser free é open source.
  • Otimizações para cada SGBD que suporta – O NHibernate possui o conceito de dialetos que são otimizações de cada SGBD suportado. Por exemplo para se retornar os 10 primeiros registros de um consulta o ORACLE pode oferecer um comando particular que traz mais desempenho para a consulta. Igualmente pode acontecer com o SQL Server, MySQL ou Firebird. É aí que entram os dialetos. Cada dialeto implementa as peculiaridades de SQL dos gerenciadores SQL suportados. Isso significa que independentemente do banco de dados utilizado, sua aplicação o está utilizando da melhor forma.
  • Suporte à Stored Procedures – para os mais “tradicionais”, ou em algum momento de performance, pode-se especificar que uma determinada classe será carregada por uma stored procedure. Eu particularmente nunca tive a necessidade de substituir minhas sentenças por uma stored procedure.
  • Segurança contra SQL Injection – Esse é um problema que é resolvido facilmente com o NHibernate porque todo SQL gerado é parametrizado e fortemente tipado, além de que para o desenvolvedor seu uso está encapsulado.
  • Suporte a Lazy Loading – Isso quer dizer que só são trazidos os dados que são utilizados, ou seja, são obtidos por demanda. Por exemplo a classe Pessoa citada anteriormente, os dados do atributo Endereço só seriam retornados se fizéssemos uma chamada a eles. Isso implica em melhoria de performance e menos consumo de memória.
  • Suporte Ativo – O fórum do NHibernate é muito ativo, uma questão lá é rapidamente respondida, podendo ser utilizado também como base de conhecimento.
  • “Parentes” ilustres – O NHibernate é um porte para .NET da tão aclamada ferramenta Hibernate. Troque uma idéia com qualquer desenvolvedor sério de Java e verá que esta é melhor ferramenta ORM.

no próximo artigo irei falar de como usar o NHibernate

Ganhe Dinheiro com o Easy-Share

1 Comment

 Ganhe Dinheiro com o Easy Share

HOSPEDE SEUS ARQUIVOS NO EASY SHARE E GANHE DINHEIRO TODA VEZ QUE FIZEREM DOWNLOAD!

No Easy Share você hospeda seus arquivos “di grátis” e ainda ganha grana quando fizerem download. Para cada 1000 downloads, você ganha US$ 1. Parece merreca mas não é não. No final do mês, dá um dinheirinho bonito! Sem os bloqueios chatos do Megaupload, sem as demoras de 1 hora do Rapidshare, sem dividir os arquivos em 30 partes como o Badongo, no Easy Share , clicou, baixou na hora. E o mais legal é que você pode “upar” seus arquivos via FTP. Não precisa ficar enviando um arquivo de cada vez. O pessoal que frequenta o Diario da Fonte testou, aprovou e deu nota 10!

E eu aprovei também! Já faturei uma grana legal !

Já são mais de 5000 webmasters aqui no Brasil faturando $GRANA$ molinho, molinho, com o Easy Share. E você? Vai ficar esperando o que?

Veja logo abaixo o tutorial em português, passo-a-passo que te ensina em 5 minutos a configurar e trabalhar com o Easy Share

PRIMEIRO PASSO – CADASTRO

Para se cadastrar, clique AQUI . Uma nova janela se abrirá e você poderá ler esse tutorial e preencher o cadastro ao mesmo tempo.

Na página do Easy Share , no canto superior direito, onde está escrito “Create an Account” digite seu nome, e-mail, escolha uma senha e digite essa senha novamente e clique em no botão “Create an Account”.

Pronto, só isso! Cadastro feito. Agora vamos para o segundo passo:

SEGUNDO PASSO – CONFIGURANDO O EASY SHARE PARA VOCÊ GANHAR $$GRANA$$

No topo superior direito da pagina do Easy Share tem um pequeno link denominado “LOGIN”, clique nele, e entre com seu nome de usuário (email) e senha.

A primeira coisa a fazer é clicar em “ENABLE REVENUE PROGRAM” (parte esquerda da tela) para você começar a ganhar dolares pelos downloads.

Depois disso, clique em “MY PROFILE” e escolha a forma como quer receber o dinheiro.

O melhor método para você fica por sua conta, eu recomendo que você escolha o PAYPAL, que aceita uma quantia minima de 10 dolares e não cobra comissão. Se você ainda não tem conta no PayPal, não tem problema, digite o seu email. Depois você se cadastra no PayPal. Não se preocupe. Eu vou te ensinar passo-a-passo como se cadastrar lá também, ok? Fiz um tutorial bem bacana em português Clique AQUI pra você baixar.

Logo depois clique em “UPDATE PROFILE” para salvar isso tudo. Pronto, agora você vai ganhar grana de verdade! Vamos para o terceiro e último passo.

TERCEIRO PASSO – ENVIANDO OS SEUS ARQUIVOS PARA O EASY SHARE

O Easy Share disponibiliza 3 maneiras para você enviar seus arquivos para sua conta.

1) VIA WEB
Para enviar arquivos para o Easy Share, você pode clicar em ” UPLOAD FILE “, depois procurar e enviar o arquivo.

2) VIA FTP
Você pode usar o seu programa de FTP favorito é só configurar com os dados: FTP SERVER: upload.easy-share.com LOGIN/PASSWORD – Seu email e senha. Não vou dar maiores detalhes aqui pois cada programa de FTP funciona de um jeito. Um programa de FTP que eu gosto muito é o LeechFTP. É pequeno, rápido, super fácil de usar, completo e é “di grátis”!

3) VIA EASYUPLOADER
Eu recomendo que você use o programa EasyUploader. Clique AQUI para baixar. É a maneira mais fácil e rápida de enviar arquivos para o Easy Share. Não se esqueça de configurar o EasyUploader. É só clicar em OPTIONS, desmarcar o campo ANONYMOUS LOGIN e digitar os seus dados (email e senha) para os arquivos irem para sua conta e você ganhar grana!

Para enviar os arquivos, é só clicar no “+” e localizar o arquivo. O upload para sua conta começa imediatamente.

Simples não é? Começe hoje mesmo!

Aprendendo Power Point 2007

No Comments

 Aprendendo Power Point 2007

Aprenda a criar apresentações em slide com o Power Point 2007, novos recursos e grandes novidade para tornar sua aprensentação muito mais profissional

Link para download : Clique Aqui

Teoria das Cores

No Comments

Aprenda a como combinar cores, em ilustrações em impresso ou na Web

Link para download: Clique Aqui

Aprendendo Action Script 3

No Comments

 Aprendendo Action Script 3

Action Script é a linguagem de programação para o Flash, baixe a apostila para saber as novidades da versão 3.0

Link para download : Clique Aqui

99 dicas para o Windows XP

No Comments

Olá pessoal hoje encontrei uma apostila que fornece dicas para melhorar o desempenho do WINDOWS XP

Link: Clique Aqui

Conteúdo:

01 − Desinstalando o Windows Messenger (e outros programas):
02 − Altere as pastas padrão do sistema:
03 − Apague as pastas especiais dentro de Meus Documentos:
04 − Fazendo backup do WPA, para evitar a reativação:
05 − Desabilite os balões de aviso do Windows XP:
06 − Como instalar o teclado ABNT2 no Windows XP:
07 − Inicialização e desligamento mais rápido:
08 − Explore outras máquinas da rede mais rapidamente:
09 − Menu Iniciar mais rápido:
10 − Como liberar 20% de sua banda de rede/Internet:
11 − Aumente o desempenho do Windows XP
12 – Visual sóbrio
13 – Troque o protetor de tela padrão da tela de login
14 – Mude as cores do prompt de comando
15 – Remover o amarelão do menu Iniciar
16 – Use imagem como fundo de uma pasta no Windows
17 – Habilite o Clear Type
18 – Tirando as setas dos seus ícones de atalho
19 – Use temas sem instalar um programa de temas
20 – Personalizando as pastas
21 – Windows mais leve
22 – Remover o Messenger
23 – Desligamento rápido
24 – Mais rapidez para o menu Iniciar
25 – Ocultando todas as janelas abertas
26 – Pesquisando mais de uma extensão
27 – Teclado virtual
28 – Iniciar programas rapidamente
29 – Renomeando muitos arquivos de uma só vez
30 – Usando mais a tecla Windows

More

Instalando Apache, PHP5 e MySQL no LINUX

No Comments

Artigo para os programadores que usão servidor APACHE, PHP5 e MySQL no Linux, coloquei o link de uma apostila para auxiliar na instalação desses no LINUX:

apache, php5 e mysql

Para baixar Click Aqui (214 KB)
Até a proxima

Rent a Coder no BRASIL? Agora SIM!

4 Comments

Finalmente o Brasil ganhou um site para freelas igual ao www.rentacoder.com

Ele se chama CATHO NEGÓCIOS , ele funciona no mesmo esquema do rent a coder:

  • O contratante coloca um novo projeto para ser desenvolvido ( Programação , Design, etc;
  • O profissional, dá o seu lance para o projeto;
  • A contratante escolhe um profissional para realizar o projeto;
  • Depois do projeto finalizado, o profissonal é pago;

O recado está dado, agora façam bom aproveito!

10 vantagens do ASP.NET 3.5

2 Comments

Com o lançamento do Visual Studio .NET 2008 e o ASP.NET 3.5, o desenvolvedor tem motivos de sobra para adotar imediatamente esta ferramenta. Quando a Microsoft lançou o VS.NET 2005 houve uma considerável mudança no ASP.NET 2.0, digamos 90% de controles novos com diversas funcionalidades encapsuladas para facilitar a vida do desenvolvedor. Agora com a versão ASP.NET 3.5 existem algumas melhorias e novas implementações, então, veja quais as melhores razões que fará você adotar o ASP.NET 3.5 e o VS.NET 2008.

  1. Gerenciamento de Styles Sheets CSS e HTML Designer – a criação de arquivos de estilos e as configurações dos elementos ficaram muito mais simples e fácil de entender. Já a aplicação de estilos nos controles nunca foi tão fácil, basta abrir a janela de aplicar estilos, selecionar o controle e o estilo a ser aplicado e pronto, com apenas um clique você aplica. Vale dizer que um formulário pode ter vários arquivos de estilos e a aplicação de diferentes estilos nos controles segue o mesmo esquema. Como a janela de aplicar estilo é uma janela como a Solution Explorer ou Propriedades, o desenvolvedor consegue visualmente ver todos os formatos do respectivo elemento antes de aplicar ao controle. Com isto, a produtividade tornou-se um fator chave neste ponto. Caso queira fazer download de templates de CSS disponíveis na internet, acesse www.openwebdesign.org, escolha o template a use na sua aplicação.
  2. Controle ListView e Data Pager – o controle GridView do ASP.NET 2.0 é sem dúvida um dos mais utilizados em todas as aplicações, e agora com o novo controle ListView, com certeza serão os dois mais abordados. O controle ListView permite vincular uma fonte de dados de qualquer tipo (XML, banco de dados, LINQ), contém diversos tipos de formatações prontas, modelos de exibição de dados, diversos tipos de eventos, e o melhor de tudo é que pode-se aplicar paginação. E por falar em paginação, o novo controle Data Pager pode ser entendido como um container de dados o qual ele é o responsável pela paginação. Isto significa dizer que toda a parte de ligação com a fonte de dados e o controle a serem exibidos estes dados, cabe ao Data Pager controlar. Para um melhor entendimento, imagine que o seu banco de dados ou o objeto de acesso a dados retorna uma quantidade de linhas e você gostaria de exibir estes dados em controles do tipo ListView, GridView, FormView, Datalist, etc, então basta vincular o Data Pager ao respectivo controle. Este recurso isola totalmente os controles de ter que ficar controlando a paginação, deixando a responsabilidade apenas para um único controle.
  3. Objeto LINQ – você já deve ter lido muitos artigos sobre o Language Integrated Query (LINQ) que é um modelo de coleções de entidades fortemente tipada. Isto quer dizer que você poderá ter um modelo de dados independente da fonte de dados de forma objeto-relacional. O LINQ pode usar como fonte de dados um banco de dados SQL Server (objeto LinqDataSource), criar classes (Linq to SQL Classes *.dbml), Datasets, arquivos XML (Linq to XML) e na versão final do VS.NET 2008, teremos o Linq to Entity, que permitirá criar um modelo de objetos com qualquer fonte de dados, por exemplo, Oracle. Na prática, o Linq significa que a maneira de você manipular qualquer conjunto de dados mudou radicalmente, nada de ficar usando o famoso SQL Statement (Select, Insert, Delete e Update). Com isto, os desenvolvedores terão que aprender uma nova maneira de lidar com objetos e coleções de dados, mas garanto que será um caminho sem volta, pois quem testou não quer mais saber de strings SQL. Além de tudo, lidar com objetos fortemente tipados e relacionais tratando-os como coleções é tudo o que o desenvolvedor precisa para programar com produtividade.
  4. Master-page aninhadas – este é um conceito fantástico que surgiu no ASP.NET 2.0 e sem nenhuma dúvida é um dos melhores recursos inventados até hoje no desenvolvimento WEB. No entanto, visualmente não era possível herdar uma Master-page de uma Master, apenas consumir a Master em páginas de formulários. Eu cheguei a usar Master encadeadas via programação, mas rezava para não ter que dar manutenção, pois não havia nenhum recurso visual. Agora na versão 3.5 do ASP.NET, temos o recurso visual de herança de Master dentro de outra Master. Isto significa dizer que você conseguirá usar Master-page encadeadas com todos os recursos visuais existentes. Em linhas gerais, na Master principal você define o ContentPlaceHolder que irá expor na Master filha, o qual deverá conter outros ContentPlaceHolder com layouts diferentes que serão expostos para os formulários consumirem. Com isto você poderá ter no projeto uma Master principal e diversas Master filhas herdando da principal, e, cabe aos formulários herdar tanto a Master principal quanto as filhas. Quero dizer que um formulário poderá herdar direto da Master principal, se for preciso.
  5. Split de tela – pense quantas vezes você alternou entre o código HTML e o Design (usando ou não o SHIFT + F7) numa aplicação? Com certeza foram infinitas vezes, principalmente porque o código HTML inserido na página expressa 100% o design criado ou vice-versa. Agora no ASP.NET 3.5 você tem o recurso de split de tela, ou seja, você consegue dividir a tela de forma a exibir o código HTML e o design na mesma tela. O melhor de tudo é que existe um sincronismo entre os mesmos, refletindo qualquer alteração feita. Para os desenvolvedores isto é um dos melhores recursos implementados nesta versão.
    More

Blog WebMastered by All in One Webmaster.