• Nenhum resultado encontrado

Modelo SBC - Unitri

N/A
N/A
Protected

Academic year: 2021

Share "Modelo SBC - Unitri"

Copied!
9
0
0

Texto

(1)

Asp.net Dynamic Data

Rogério Rodrigues Franco, Jony Teixeira de Melo

Instituto de Informática – Centro Universitário do Triângulo (UNITRI) Caixa Postal 309 – 38.411-106 – Uberlândia – MG – Brasil

rogerio_rodriguesudi@hotmail.com, jony.unitri@gmail.com

Resumo. As ferramentas e frameworks de geração de códigos vêm conquistando cada vez mais o espaço, principalmente no desenvolvimento Web, e implica em resultados muito satisfatórios. Nesse contexto surge o ASP.NET Dynamic Data, um framework criado pela Microsoft, cujo objetivo é a criação de códigos para manipulação e acesso a dados da aplicação e acelerar o processo no desenvolvimento de aplicações Web com qualidade. Este artigo tem como finalidade apresentar o ASP.NET Dynamic Data, um framework para desenvolvimento ágil de aplicações Web e demonstrar por meio de um estudo de caso suas principais características e recursos.

Palavras Chave. Geração de Código, Banco de dados, ASP.NET Dynamic Data, ASP.NET.

1. Introdução

As empresas com foco no desenvolvimento de software enfrentam grandes desafios, pois precisam desenvolver softwares de qualidade num curto espaço de tempo e a custos baixos.

Atualmente o desenvolvimento de aplicações Web com a utilização de frameworks e ferramentas de geração de código vem crescendo gradativamente, principalmente pelo fato de proporcionar agilidade e ganho de produtividade durante todo o processo de desenvolvimento de um projeto. É nesse contexto que surgem diversas ferramentas destinadas ao desenvolvimento ágil de aplicações, onde entre elas aparece o ASP.NET Dynamic Data, uma ferramenta que possui como principal função a geração de código para manutenção cadastral de tabelas do banco de dados, o qual é apresentado neste trabalho.

Este artigo irá apresentar o ASP.NET Dynamic Data por meio da implementação de uma aplicação, porém, primeiramente, descreve sucintamente conceitos básicos da arquitetura .NET. O estudo de caso demonstrará a implementação de um CRUD de duas maneiras distintas. A primeira usando técnicas convencionais de implementação, a segunda utilizando dos recursos do framework. Por fim, os resultados serão expostos e analisados com o objetivo de obter-se uma conclusão sobre sua adoção ou não.

2. Arquitetura .NET

Em 2000 a Microsoft anunciou a plataforma .NET, um modelo de desenvolvimento de código gerenciado para criação de aplicativos cliente-servidor, , dispositivos móveis, aplicações Windows Client e também serviços incorporados do Windows entre outros [Deitel 2004].

A Microsoft decidiu montar o framework agregando tudo que algumas linguagens de programação têm de bom e, sem dúvida, melhorando o que faltava nelas.

(2)

Uma grande característica desse framework é a completa integração entre as diversas linguagens, por exemplo, uma equipe de desenvolvimento pode contribuir no mesmo projeto, uma vez que a plataforma .NET nos possibilita criar uma classe em VB.NET e compartilhar essa classe com outra desenvolvida em C-Sharp (C#).

A iniciativa da Microsoft com a criação dessa plataforma revelou sua estratégia de trazer ao mercado um novo conceito no processo de desenvolvimento de softwares, alterando a maneira como os códigos são escritos, com uma ênfase muito grande na produtividade [Deitel 2004].

Figura 1. Plataforma .NET – Arquitetura [baboo 2010]

A arquitetura da plataforma .NET é mostrada na figura 1. Neste artigo, serão abordados em detalhes apenas alguns dos seus componentes, uma vez que apenas alguns são relevantes para a compreensão deste trabalho.

2.1. Common Language Runtime (CLR)

O principal mecanismo da plataforma .NET é o CLR, o ambiente de execução das aplicações .NET. Roda em segundo plano, fazendo o gerenciamento de memória, carregando APIs (Application Programming Interface) e bibliotecas necessárias e executando os códigos escritos para a plataforma [Jeffrey 2005].

O CLR é também responsável por várias outras funções, como segurança de código, gerenciamento de processos e threads entre outros. Sem o CLR não é possível a execução dos aplicativos com códigos em .NET, por isso a necessidade da instalação do framework .NET nas máquinas clientes [Jeffrey 2005].

2.2. Common Language Specifications (CLS)

A CLS é responsável por definir um conjunto de recursos básicos ou regras, que as linguagens de programação suportadas pela plataforma .NET deveram seguir, para que o CLR consiga gerar a MSIL (Microsoft Intermediate Language), garantindo a interoperabilidade entre essas linguagens.

A possibilidade de criação de sistemas em diversas linguagens e sua interação dentro da plataforma .NET se deve a geração do MSIL. Ou seja, a compilação de qualquer código, de qualquer linguagem .NET, gera um único código intermediário, o

(3)

MSIL, de acordo com o padrão da CLS. Este é o motivo pelo qual as diferentes linguagens da plataforma .NET entendem os métodos, classes, variáveis, entre outros recursos definidos pelas linguagens, sendo interpretada corretamente pelo CLR.

2.3. Microsoft Intermediate Language (MSIL)

O MSIL, é a linguagem intermediária na qual todo executável .NET esta escrito. O compilador faz a conversão do código fonte para o MSIL, que nada mais é que um conjunto de instruções independentes da CPU. O MSIL obtém instruções de carregamento, armazenagem, chamada de métodos, inicialização, lógica para operações aritméticas, acessando diretamente a memória, tratamento de exceções. entre outras.

Para que o código possa ser executado, o MSIL precisa ser convertido durante a execução em código específico da CPU, tarefa feita pelo JIT (Just-In-Time Compiler). O CLR disponibiliza um ou mais compiladores JIT para cada arquitetura, uma vez que o mesmo conjunto de MSIL poderá ser executado em qualquer arquitetura.

2.4. ASP.NET

O ASP.NET é uma tecnologia de processamento de solicitações HTTP (Hipertext-Transfer-Protocol) criada pela Microsoft, utilizada para transferência de dados pela internet. Vem evoluindo de forma significativa, tornando uma das tecnologias para desenvolvimento de aplicações Web mais consistentes, estáveis e com inúmeros recursos.

Suas principais características são os aplicativos desenvolvidos em Web Forms e Web Services. Os Web Forms podem ser definidos como uma interface disponibilizada em um browser para algum usuário, ou seja, páginas Web. Já os Web Services, expõe suas funções para qualquer aplicativo cliente, permitindo a troca de informações [Santana Filho, Ozcas Vieira 2002].

Como é baseado na plataforma .NET, herda praticamente todas as suas características. Sua codificação pode ser feita nas linguagens VB.NET e C# (C Sharp), podendo reutilizar códigos de qualquer outra aplicação escrita nas linguagens da plataforma .NET, ou mesmo chamar um Web Service escrito em C++.

Com a utilização do ASP.NET, o desenvolvimento de aplicações Web teve uma grande evolução, permitindo o desenvolvimento de aplicações de forma muito rápida, diante da existência de componentes visuais para a criação de formulários (páginas Web), os famosos Drag-and-drop (arrastar e soltar) acelerando o processo de desenvolvimento sem perder a qualidade.

2.5. ADO.NET

O ADO.NET teve sua criação com o intuito de trabalhar com conjunto de dados conectados e desconectados. No cenário conectado, tem uma ligação ativa e permanente com a base de dados, enquanto os dados são manipulados. Já no modelo desconectado, a ligação com a fonte de dados permanece aberta apenas o tempo necessário para a obtenção ou alteração da base de dados, para isso pode-se utilizar o objeto DataSet. 2.6. DataSet

O DataSet é o componente mais importante da arquitetura ADO.NET. Seu funcionamento representa um cachê de dados, com um comportamento muito parecido com um banco de dados em memória. Porém, desconectado da sua base de dados, possuindo tabelas, colunas, relacionamentos e dados.

(4)

3.7. DataReader

O DataReader fornece a lista de dados que foi retornada de uma fonte de dados, permitindo acessar e percorrer os registros na forma de leitura, somente para a frente (forward-only). Por isso, seu desempenho é muito rápido.

2.8. DataAdapter

O DataAdapter é utilizado para atualização de uma fonte de dados e para preenchimento de um DataSet com informações buscadas da fonte de dados. Pode ser considerado como uma ponte entre o DataSet e sua fonte de dados, removendo ou inserindo dados.

Enquanto o objeto DataSet fornece uma ferramenta para armazenamento de dados em memória, é necessário outra ferramenta para criação e a inicialização de várias tabelas, essa ferramenta é o objeto DataAdapter, representando um console centralizado que oculta os detalhes do trabalho com as conexões e os comandos. O objeto DataAdapter permite recuperar e salvar dados entre o DataSet e a fonte de dados.

3. ASP.NET Dynamic Data

Adicionado ao Service Pack 1 do .NET versão 3.5, o framework ASP.NET Dynamic Data, teve como objetivo aumentar de forma considerável a produtividade no desenvolvimento de aplicações Web dirigidas a dados (Data-Driven-Applications). Um conceito onde a criação das aplicações será baseada no modelo de dados. Com base na definição desse modelo, o framework ASP.NET Dynamic Data utiliza as informações dessa estrutura e cria a aplicação de uma forma dinâmica, em tempo de execução parte da aplicação será gerada, muito parecida com as ferramentas de geração de códigos.

Quando se faz uso desse tipo de framework, é necessário ter em mente que se esta utilizando de uma ferramenta cujo objetivo é automatizar o trabalho do desenvolvedor. A automatização feita pela ferramenta implica na criação automática de código para acesso e manipulação dos dados da aplicação. Sem esta ferramenta todo o trabalho seria do desenvolvedor. Por consequência, a automatização implica na criação de um código padrão e menos flexível. Um desenvolvedor humano poderia, em algumas situações, criar um código mais simples e flexível. Isto gera uma resistência ao uso deste recurso. Mas deve ser visto como uma mudança de conceito, o uso desta ferramenta pode resultar em um grande ganho de produtividade, isto é um grande benefício a projetos de curto prazo.

3.1 Arquitetura do ASP.NET Dynamic Data

A arquitetura do ASP.NET Dynamic Data é mostrada na figura 2, e nos parágrafos a seguir, o significado de seus componentes será abordado resumidamente.

(5)

Figura 2. ASP.NET Dynamic Data – Arquitetura [Dynamic Data Overview 2010]

Presentation Layer: ou camada de apresentação, que contém os vários elementos utilizados para a criação da interface com o usuário, por exemplo, o GridView, que nos permite exibir, alterar, excluir e inserir dados nas entidades da arquitetura definida no banco de dados.

Data Layer: ou camada de dados, possui a arquitetura do banco de dados utilizado na criação da aplicação.

Data Source Mapping: ou mapeamento da fonte de dados, o ASP.NET Dynamic Data utiliza um modelo que representa e mapeia a estrutura de um banco de dados relacional, conforme figura 3, pode ser criado com a utilização do ADO.NET ou LINQ to SQL, que são as duas ferramentas mais atualizadas de ORM (Object Relational Mapping) da Microsoft [OR/M 2010], para esse artigo será utilizado o ADO.NET.

4. Estudo de Caso e Resultados obtidos

Nesta seção será analisada a implementação de uma aplicação CRUD, com a finalidade de traçar uma comparação em termos de produtividade e resultado, entre a adoção do framework ASP.NET Dynamic Data e o desenvolvimento convencional via ASP.NET com ADO.NET.

As principais variáveis analisadas neste experimento serão: O tempo gasto para o desenvolvimento de um CRUD em cada uma das abordagens. E também a quantidade de linhas de códigos geradas.

4.1. Ambiente

A seguir tem-se a descrição detalhada do ambiente em que foi executado o estudo de caso.

 Hardware: Processador Core 2 Duo, 4 GB de RAM – Random Acess Memory (Memória de Acesso Randômico) e disco de 320 GB.

(6)

 SGBD - Sistema Gerenciador de Banco de Dados: Microsoft SQL Server 2005.

 Tecnologia: ASP.NET 4.0, ADO.NET 4.0.

 IDE – Integrated Development Environment (Ambiente Integrado de Desenvolvimento): Visual Studio 2010.

4.2. Metodologia

O experimento consistiu em definir uma tabela de banco de dados para o cadastro de uma empresa. Como o objetivo é apenas o teste da tecnologia a tabela escolhida possui poucos campos e não possui relacionamentos com outras tabelas.

A seguir os detalhes da aplicação de cadastro de cliente implementada no estudo de caso.

 Campos: Razão Social, Nome Fantasia, Endereço, Email e CPF.

 Os campos Razão Social e CPF não podem ser persistidos sem informações, uma mensagem de alerta deve ser exibida ao usuário.

 Páginas: Details.aspx, Edit.aspx, Insert.aspx, List.aspx.

O passo seguinte foi criar duas aplicações usando as duas abordagens propostas. O tempo gastos na criação de cada uma das aplicações foi aferido e tabulado para posterior análise. Para minimizar um desvio amostral, foi proposto o experimento em três ciclos de execução, ou seja, a aplicação foi gerada a partir do zero por três vezes. Assim, é esperado que o último ciclo seja o mais coerente pois deve eliminar as variáveis de inexperiência do desenvolvedor.

4.4. Análise dos Resultados

Após realizar-se a implementação da aplicação utilizando as duas abordagens, nos três ciclos propostos, pode-se avaliar os resultados comparando o tempo gasto e a quantidade de linhas de códigos que foram escritos nos dois frameworks, conforme a tabela 1 a seguir. Esta tabela é estruturada da seguinte forma:

 Descrição: Consiste na descrição do item que foi avaliado no desenvolvimento da aplicação.

 ASP.NET Dynamic Data: Resultados obtidos no desenvolvimento da aplicação usando esta abordagem.

 ASP.NET convencional: Resultados obtidos no desenvolvimento da aplicação usando esta abordagem.

Os resultados obtidos demonstram um ganho de produtividade na utilização do ASP.NET Dynamic Data. O desenvolvimento da aplicação com esta abordagem gastou no último ciclo um total de ??:??, um ganho de xxx% quando comparada com a abordagem convencional que gastou no último ciclo um total de ??:??.

Analisando-se o total de linhas de códigos gastas para a implementação da aplicação, o resultado foi muito próximo 313 utilizando-se ASP.NET Dynamic Data, e 376 com a outra abordagem. Vale ressaltar que com a utilização do ASP.NET Dynamic Data as linhas de códigos são geradas automaticamente, sendo necessária a intervenção do desenvolvedor em apenas XXX linhas, tornando o trabalho totalmente produtivo e automático. Já com a utilização da abordagem convencional do ASP.NET com ADO.NET as 376 linhas de códigos tiveram que ser geradas pelo desenvolvedor linha por linha, deixando o desenvolvimento mais lento, manual e sujeito as falhas e erros

(7)

comuns ao processo de desenvolvimento. Isto é claro, gera a necessidade de uma fase de depuração mais extensa.

Tabela 1. Comparativo entre os dois frameworks

Descrição ASP.NET Dynamic Data ASP.NET convencional Ciclo

1 Ciclo2 Ciclo 3 Ciclo 1 Ciclo 2 Ciclo 3 Tempo gasto com o

desenvolvimento da aplicação. (em hh:min:ss)

0:02:4

8 ??? ??? 1:25:40 ??? ???

Tempo gasto para implementação das

validações. (em hh:min:ss)

zero 4:50

Quantidade de total de linhas de código.

313 376

Linhas de código geradas

automaticamente ??? ??? ??? ??? ??? ???

Listas de código inseridas, ou modificadas, pelo

desenvolvedor

??? ??? ??? ??? ??? ???

Quantidade de linhas de código por página, Details.aspx

21 53

Quantidade de linhas de

código por página, Edit.aspx 26 35

Quantidade de linhas de código por página, Insert.aspx

25 20

Quantidade de linhas de

código por página, List.aspx 37 38

O ganho de produtividade pode ser observado também na geração automática das validações conforme sua definição no modelo de dados. A validação é gerada do lado cliente, ou seja, ocorre no próprio navegador através de um código em javascript. Isto acelera o processo no desenvolvimento da aplicação na primeira abordagem, enquanto na segunda o processo de inserção das validações foi manual tomando xxx:xx do tempo de desenvolvimento e impactando no tempo total do desenvolvimento do projeto.

Dois pontos se destacam na análise dos resultados:

 Com utilização do ASP.NET Dynamic Data pode-se obter facilmente grandes resultados até mesmo para desenvolvedores iniciantes.

 As interações mais comuns entre aplicação e banco de dados são automatizadas, ou seja, praticamente não requer a digitação de nenhuma linha de código.

(8)

Em resumo, as vantagens da utilização do ASP.NET Dynamic Data são a qualidade, a consistência e o dinamismo. Mas, sem duvida o principal ganho é o da produtividade em aplicações Web.

As desvantagem ficam por conta da dificuldade em definir a ordem em que as colunas serão apresentadas ao usuário, pois elas serão criadas automaticamente de acordo com a ordem definida no modelo de dados, e a resistência dos desenvolvedores em mudar o paradigma antigo de desenvolvimento. Existe também a questão de manutenção, pois todos as linhas de códigos são geradas automaticamente.

5. Conclusão

Quando um trabalho for repetitivo, existirá sempre uma oportunidade de automatizá-lo, não é diferente no desenvolvimento de software. Analisando-se as aplicações criadas no dia-a-dia, pode-se notar que grande parte desse trabalho é de repetição. A grosso modo, a ferramenta mais utilizada no desenvolvimento de software é o copiar-colar (“control+C e control+v”).

Após a realização dos estudos sobre o ASP.NET Dynamic Data e a realização de um estudo de caso, chega-se a conclusão que este recurso possui um enorme potencial no que diz respeito ao desenvolvimento ágil de aplicações Web.

O ASP.NET Dynamic Data é uma ferramenta que possui uma gama de recursos proporcionando, ao desenvolvedor que a utiliza, certo conforto ao elaborar sua aplicação. Além de, reduzir consideravelmente o tempo de execução do projeto sem perder a qualidade.

As empresas têm adotado ferramentas para aumentar a produtividade no desenvolvimento de software e melhorar os resultados por meio da automação das atividades repetitivas, pois cada vez mais os prazos para a entrega de projetos são menores. Espera-se com este trabalho que o estudo deste e de outros recursos de automação sejam conduzidos para buscar uma melhoria continua no processo de desenvolvimento de aplicações Web.

6. Referências

BABOO. Novidades do Visual Studio. Disponível em: <http://www.baboo.com.br/ conteudo/modelos/Novidades-do-Visual-StudioNET_a5002_z0.aspx>. Acessado em: 25 setembro 2010.

DEITEL, e Nieto. (2004). Visual Basic .NET, “Como Programar”. Editora Gisélia Costa.

JEFFREY, Richter, (2005), “Programação aplicada com Microsoft .net framework”, Editora Booman.

SANTANA FILHO, Ozcas Vieira. (2002), “Microsoft .NET, uma visão geral para programadores”, Editora Senac.

Referências

Documentos relacionados

de lôbo-guará (Chrysocyon brachyurus), a partir do cérebro e da glândula submaxilar em face das ino- culações em camundongos, cobaios e coelho e, também, pela presença

Segundos os dados analisados, os artigos sobre Contabilidade e Mercado de Capital, Educação e Pesquisa Contábil, Contabilidade Gerencial e Contabilidade Socioambiental

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

utilizada, pois no trabalho de Diacenco (2010) foi utilizada a Teoria da Deformação Cisalhante de Alta Order (HSDT) e, neste trabalho utilizou-se a Teoria da

Neste relatório, após esta breve introdução, em que enuncio os objectivos gerais do estágio profissionalizante, descrevo as actividades realizadas e observadas ao longo de

Finally,  we  can  conclude  several  findings  from  our  research.  First,  productivity  is  the  most  important  determinant  for  internationalization  that 

Utilizando a série histórica iniciada em março de 2010 e finalizada em dezembro de 2016, sobre o preço médio por metro quadrado da venda para apartamentos de

Este estudo apresenta como tema central a análise sobre os processos de inclusão social de jovens e adultos com deficiência, alunos da APAE , assim, percorrendo