DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Acesso a dados no Delphi Prism - Artigo ClubeDelphi 130

Este artigo apresentará o uso do ADO.NET Entity Framework como uma ferramenta de mapeamento objeto/relacional para realizar uma modelagem e consultas a fontes de dados, que serão visualizadas e representadas utilizando Delphi Prism em formulário





ClubeDelphi 130

[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]

> Clique aqui para ler todos os artigos da ClubeDelphi 130


Nos dias atuais, o desenvolvimento de sistemas é uma prática comumente utilizada e o que indica um bom desenvolvimento é um ótimo planejamento (análise), a competência e o prazo (tempo de desenvolvimento), entre outros fatores. A utilização de boas práticas de desenvolvimento aliadas a ferramentas que possibilitam estas práticas permitirá ganhos de produtividade e consequentemente redução do tempo de desenvolvimento, podendo assim a equipe de projeto ficar atenta às regras de análise e testes para que o sistema a ser desenvolvido seja de boa qualidade.

Ao utilizar um ambiente computacional, uma das necessidades mais básicas refere-se à persistência. Ela é a garantia da permanência das informações de uma aplicação em determinado estado, mesmo após seu encerramento. A prática mais comum para a obtenção de tal característica se faz mediante a utilização de um banco de dados relacional.

Banco de dados relacional denota um conceito, sendo este definido no SGBDR (Sistema Gerenciador de Banco de Dados Relacional), o qual possui papel muito importante na manutenção e consulta de grande volume de dados, trazendo entre outros benefícios a recuperação de falhas, velocidade nas pesquisas, acesso concorrente, integridade, independência e segurança dos dados.

A principal dificuldade gira em torno de um problema inerente à disparidade do paradigma objeto/relacional, denominada impedância de dados, que implica em um considerável esforço para transpor as diferenças existentes entre a tecnologia relacional e a orientada a objetos.

O modelo relacional é baseado em princípios matemáticos, tendo suas virtudes relacionadas à capacidade de armazenar grandes volumes de dados, provendo técnicas e conceitos adequados à garantia da integridade dos mesmos, inserindo na abordagem declarativa da linguagem SQL (Structured Query Language) uma maneira eficaz de codificar o que será feito.

Do outro lado, o modelo Orientado a Objetos está fundamentalmente atrelado à engenharia de software, evidenciando a temática imperativa da orientação a objetos, a qual faz uso de conceitos como herança, polimorfismo e encapsulamento, provando assim sua concepção no intuito de indicar como será feito.

O processo de modelagem de um sistema Orientado a Objetos e seus principais conceitos diferem na abordagem referente à tecnologia relacional, existindo muitos desafios quanto à sua utilização, incidindo no empenho em criar um esquema livre de redundâncias relacionadas ao banco de dados. Além disso, podem existir problemas relacionados a desempenho e uma série de outras incompatibilidades, que impõem dificuldades tais como: Granularidade, Subtipos, Identidade, Associações e Navegação.

Partindo deste princípio, com o Visual Studio 2008 surgiu o Linq To Sql, uma forma de utilizar o padrão Linq para realizar consultas SQL em bancos de dados. Este foi um grande avanço que permitiu deixar de escrever instruções SQL engessadas no código e passou a utilizar queries fortemente tipadas.

Após o Linq To Sql surgiu o Entity Framework como uma ferramenta ORM. Com o Entity Framework 1.0 ocorreram mudanças na forma como os desenvolvedores e os projetos passaram a trabalhar com o banco de dados, possibilitando que a atenção fique mais voltada às regras e lógicas do negócio.

O ADO.NET Entity Framework 4 permite realizar a modelagem e o acesso as informações de um Banco de Dados deixando o desenvolvedor transparente às regras de negócio podendo trabalhar com um modelo conceitual do banco de dados. Uma das vantagens é que o mapeamento dos objetos do banco e o próprio banco de dados podem ser alterados sem prejuízo para o desenvolvimento do sistema, a camada de aplicação torna-se independente da camada de acesso a dados.

Capaz de abstrair o esquema de um banco de dados relacional e apresentá-lo como um modelo conceitual, mapeando tabelas para entidades (objetos que representam dados), e preenchendo as lacunas existentes entre o modelo relacional e orientado a objetos, o ADO.NET Entity Framework é uma ferramenta ORM robusta, e suas capacidades de modelagem, acesso e manipulação de dados diminuem o ruído inerente às diferenças de impedância.

Todo o acesso a dados e armazenamento é feito através de um modelo de dados conceitual, que reflete as tabelas do banco na forma de entidades, livrando o desenvolvedor de se concentrar no seu mapeamento manual e ainda da escrita direta de consultas SQL. Essas tarefas eram tediosas e exigiam conhecimento avançado de banco de dados.

O Entity Framework é conhecido como a evolução do pacote de tecnologias ADO.NET, e sua portabilidade se estende aos mais variados bancos de dados, sendo a implementação de referência da Microsoft para o mapeamento objeto/relacional. Outra característica interessante do EF é a capacidade de suportar tipos complexos, uma novidade da última versão, bem como Lazy Loading, que permite o carregamento de entidades relacionadas conforme utilização.

O ADO.NET Entity Framework representa um grande avanço para consulta e atualização de dados relacionais, tendo em vista que as principais formas e ferramentas de manipulação de dados focavam suas estratégias em DataSet. O Entity Framework tem como principal objetivo abstrair o modelo de dados relacional em um modelo conceitual totalmente voltado a orientação a objetos, oferecendo serviços de criação, exclusão, recuperação e modificação. Apresenta um designer RAD (Rapid Application Development) para modelar entidades de dados com suporte a tipos complexos.

 

Nota: O ADO.NET Entity Framework 4 é a segunda versão do Entity Framework, adotando este nome por ser parte integrante do .NET 4.0, e, segundo a Microsoft este pulo de versões é para realizar uma sincronia de seus produtos.

 

Ao utilizar este ORM, a equipe de desenvolvimento é encorajada a iniciar escrevendo a lógica da aplicação, fazendo uso de um modelo de dados totalmente orientado a objetos e sua arquitetura simplificada.

 

Nota do DevMan

Realizando um comparativo do Entity Framework com o Delphi tradicional, pode-se relembrar que o Delphi já teve frameworks nativos para persistência e mapeamento objeto / relacional. O Bold (Delphi 7) era usado em aplicações Win32. O ECO (Enterprise Core Objects) surgiu no Delphi 8, mas seu uso foi descontinuado na ferramenta. O Bold foi originalmente desenvolvido por uma empresa chamada BoldSoft. Em 1997 foi lançada a primeira versão do Bold para Delphi, na época, Delphi 2. Com o advento do .NET, o ECO foi lançado e teve como base o Bold, podendo ser definido como uma evolução do Bold para o mundo .NET. O ECO fez parte de um conjunto de ferramentas destinadas à Arquitetura Dirigida ao Modelo, ou simplesmente MDA (Model Driven Architecture). A MDA possui um objetivo muito claro que é tornar independente a regra de negócio de uma aplicação.

"
A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Rodrigo Araujo
Bacharel em Ciência da Computação pela UFSM – Santa Maria/RS trabalha com Análise e Desenvolvimento de Software há mais de 10 anos. Desde 2003, utiliza tecnologias .NET.
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03