|
|
|
Desenvolvimento no molde MVC
O molde MVC oferece vantagens significativas no desenvolvimento de aplicativos, através da separação das camadas, possibilitando implementar com maior facilidade e clareza questões programáticas importantes como a persistência de dados, controle de segurança, comunicação em rede e fluxo de visualização. MVC (Model-View-Controller), traduzido livremente para Modelo-Visão-Controlador, consiste num molde de programação em três camadas. O Modelo representa os objetos ou dados de um aplicativo. A Visão é a representação deste modelo em formato de apresentação para o usuário, com interface apropriada para a entrada de informações. O Controlador, por sua vez, implementa a interatividade, através do processamento das ações tomadas pelo usuário e atualização do modelo. O fluxo de interação entre as camadas é cíclico. O usuário indica uma operação através da interface ou visão. Esta operação é processada pelo controlador que altera o modelo conforme a lógica de negócio, retornando ao usuário o novo estado do modelo no formato de uma nova visão. O usuário prossegue então a sua próxima tarefa, re-iniciando o cíclo e assim por diante. O molde MVC oferece vantagens significativas no desenvolvimento de aplicativos, através da separação das camadas, possibilitando implementar com maior facilidade e clareza questões programáticas importantes como a persistência de dados, controle de segurança, comunicação em rede e fluxo de visualização. Equipes de programação podem se concentrar em suas habilidades centrais e integrar as camadas através de interfaces bem definidas. Esta separação permite que aplicativos possam ser mais facilmente modificados e extendidos para atender a novas exigências, bem como possibilita que a interface com o usuário apresente várias visões de um só modelo, sem interferir com a lógica de negócio. A seguir, analizamos diversas tecnologias quanto a sua capacidade de implementar o molde MVC e oferecemos algumas alternativas práticas para o desenvolvimento de aplicativos web. MVC e aplicativos web A programação de aplicativos web através de linguagens interpretadas como ASP ou PHP oferece restrições à implementação do molde MVC, embora seja possível faze-lo. Estruturalmente, estas linguagens formulam a lógica através de scripts inseridos diretamente em páginas HTML. Por outro lado, linguagens compiladas como Java e C# são mais apropriadas pois definem claramente os objetos e ações de forma separada da interface. Novamente, esta separação possiblita funcionalidade distinta das camadas, bem como a extensão de aplicativos, reutilização de código e, conseqüentemente, menor tempo e custo de desenvolvimento. A aplicação de MVC na plataforma .NET é bem definida pela Microsoft, oferecendo metodologia dentro das especificações definidas por ASP.NET, utilizando a linguagem C# e com acesso a banco de dados SQL através de ADO.NET ou ODBC. A plataforma J2EE, por sua vez, apresenta muitas possibilidades. Favorecemos a biblioteca de tags Jakarta Velocity Template sobre páginas JSP pela simplicidade de scripting que Velocity proporciona à camada de visualização. A estrutura Struts, também do Jakarta Project, implementa mapeamento entre a visão e o controlador. Acesso ao banco de dados é intermediado através de Hibernate. Também pode-se utilizar alguma das várias implementações comerciais do padrão JDO (Java Data Objects), que possibilita a interpretação de objetos na estrutura do banco de dados relacional. Há várias opções de banco de dados como MySQL, Oracle ou mesmo SQL Server da Micrososft. Entretanto, observamos que o PostgreSQL hoje oferece uma alternativa altamente robusta, mesmo que gratuíta. Descrevemos na seguinte tabela estas opções e apresentamos um resumo da estrutura MVC: Tabela 1: Estrutura MVC e implementação nas plataformas .NET e J2EE
Resumo e conclusão O molde MVC de arquitetura de aplicativos permite a separação das camadas de dados, controle e visualização. Esta separação oferece vantagens para desenvolvedores como a otimização das habilidades de equipes e a redução de custos associados ao desenvolvimento, além de favorecer a extensibilidade e reutilização do código. Aplicativos web construidos nas plataformas .NET e J2EE podem implementar MVC, sendo que J2EE oferece maior gama de possibilidades. Empresas que não utilizarem o molde MVC no desenvolvimento de aplicativos estarão restringindo seus projetos aos requisitos atuais e correrão o risco de inviabilizar futuras atualizações ou mesmo de isolamento por restrição à integração com outros projetos. Referências Almost All Java Web Apps Need Model 2 The design model you first learned with JSP might not scale or support complexity. by Budi Kurniawan http://www.fawcette.com/javapro/2002_06/online/servlets_06_11_02/ Designing Enterprise Applications with the J2EE™ Platform, Second Edition http://java.sun.com/blueprints/guidelines/ designing_enterprise_applications_2e/web-tier/web-tier5.html |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||