Sei sulla pagina 1di 4

ORM (Object Relacional Mapping) Um ORM (Mapeamento Objeto Relacional) um mtodo poderosopara concepo e consulta de modelos de dados no nvel

l conceitual, onde aaplicao descrita em termos facilmente compreendidos pelos usurios notcnicos. Podendo ser descrito tambm como um Framework ou um conjunto declasses que permite fazer esse trabalho sem precisar escrever cdigos de conexocom o banco de dados, querys de SQL a todo o momento, preservando ascaractersticas de orientao a objetos da linguagem face natureza relacional dosbancos de dados atuais.Na prtica, os modelos de dados ORM normalmente captam maisregras de negcio, e so mais fceis de validar e evoluir do que os modelos dedados em outras abordagens. Sendo assim, o mapeamento objeto-relacional umatcnica que visa diminuir a chamada impedncia entre o modelo de objetos e omodelo relacional em Banco de Dados. As ferramentas ORM, fornecem funcionalidades atravs domapeament o entre o modelo de negcio lgico e o modelo fsico dearmazenamento, facilitando a implementao do modelo de domnio padro.Contudo, as ferramentas fornecem uma srie de servios, assim, permitindo que osdesenvolvedores se concentrem na lgica de negcio do aplicativo ao invs deCRUD repetitivo (Ler, Criar, Atualizar e Deletar) lgico.

Vantagem de se usar um ORM

Escreve-se menos cdigo e programa com muito mais produtividade; Melhora a padronizao da sua aplicao. Gerenciamento de transaes e isolamento. Todas as mudanas ocorremde objetos com escopo de uma transao. Toda a transao pode ser confirmada ou revertida. Operaes mltiplas podem ser ativas namemria ao mesmo tempo. mais fcil de dar manuteno no projeto; Navegao. Pode se navegar relaes de objeto transparente. Objetosrelacionados so carregados automaticamente quando necessrio

22

Desvantagem de se usar um ORM

Dados e comportamento no so separados; Cada tecnologia ORM / produto tem um conjunto diferente de APIs eportar cdigos entre eles no fcil.

Exemplo de um cdigo em .Net usando ORM: Usuario.AddNew(); Usuario.FirstName = this.txtFirstName.Text; Usuario.LastName = this.txtLastName.Text; Usuario.Save();

Ferramentas que auxiliam no processo do ORM:

Gentle.NET Caractersticas: Persistncia, Querys, Cache eRelacionamento;

Subsonic Caractersticas: Persistncia, Colees, Suporte a algunsbancos, Querys, Configurao rpida, Releases Rpidos;

NHibernate Caractersticas: Persistncia, Herana, Relacionamento,Querys, Suporte a vrios bancos, Transaes e muito mais;

CODUS

Caractersticas: Persistncia, Herana, Relacionamento,Suporte a vrios bancos, Querys, NUnit, WebServices, Colees, Suportea Nhibernate/Ibatis,Gentle;

ObjectMapper Caractersticas: IDE UML que mapeia para o ORM(Npersist e Nhibernate);

DataObjects.NET Caractersticas: Persistncia, Herana,Relacionamento, Querys, Suporte a vrios bancos, Transaes,Segurana, Remoting

7.1.1 Orientao a Objetos VS Modelo Entidade RelacionamentoUm dos problemas na comunicao entre uma aplicao Java, por exemplo, e um banco de dados o conflito de paradigmas. O banco de dados organizado seguindo o modelo entidade relacionamento, enquanto as aplicaesJava, geralmente, utilizam o paradigma orientado a objetos. A transio de dados entre o modelo entidade relacionamento e omo delo orientado a objetos no simples. Para realizar essa transio, necessrio denir um map eamento entre os conceitos desses dois paradigmas. Por exemplo,classes podem ser mapeadas para tabelas, objetos para registros, atributos paracampos e referncia entre objetos para chaves estrangeiras.Para facilitar a comunicao entre aplicaes Java que seguem omodelo orientado a objetos e os banco de dados que seguem o modelo entidaderelacionamento, podemos utilizar ferramentas que automatizam a transio de dadosentre as aplicaes e os diferentes bancos de dados e que so conhecidas comoferramentas de ORM (Object Relational Mapper).Outra consequncia, ao utilizar uma ferramenta de ORM, que no necessrio escrever consultas em SQL, pois a prpria ferramenta gera asconsultas de acordo com a sintaxe da linguagem SQL correspondente ao banco queest sendo utilizado.

Potrebbero piacerti anche