PROGRAMAÇÃO MVC E ZEND FRAMEWORK



Documentos relacionados
Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Documento de Análise e Projeto VideoSystem

MVC e Camadas - Fragmental Bliki

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

BARRAMENTO DO SISTEMA

Curso - Padrões de Projeto Módulo 5: Model-View- Controller

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

4 Estrutura do Sistema Operacional Kernel

Como posso usar o HP Easy Printer Care através de USB ou conexão paralela?

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA (PIBIC/CNPq/INPE)

Projeto Arquitetural do IEmbedded

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

2 Diagrama de Caso de Uso

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

INTERNET HOST CONNECTOR

Engenharia de Requisitos Estudo de Caso

Modelagemde Software Orientadaa Objetos com UML

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

Sistemas Distribuídos

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

PROCESSOS DE CRIAÇÃO DE APLICATIVOS

ISO/IEC 12207: Gerência de Configuração

SISTEMA GERENCIADOR DE BANCO DE DADOS

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Programação de Computadores - I. Profª Beatriz Profº Israel

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Persistência e Banco de Dados em Jogos Digitais

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

Como funciona? SUMÁRIO

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

Dadas a base e a altura de um triangulo, determinar sua área.

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

Organização e Arquitetura de Computadores I. de Computadores

Sistemas Operacionais

DESENVOLVIMENTO DE SOFTWARE. Introdução ao Visual Studio VB.Net. Programação Estruturada. Prof. Celso Candido ADS / REDES / ENGENHARIA

Manual de Utilização do Zimbra

ARQUITETURA DE SOFTWARE

Padrões. Projeto (Design) de Software

1.1. Organização de um Sistema Computacional

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

Começando com Ruby on

SISTEMAS OPERACIONAIS

Roteiro 2 Conceitos Gerais

Padrões de Projeto WEB e o MVC

TECNOLOGIAS E FRAMEWORKS PARA O DESENVOLMENTO DE INTERFACES WEB

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

DESENVOLVIMENTO DE APLICATIVO MÓVEL PARA AUXÍLIO NA PREVENÇÃO DE TRAGÉDIAS EM DECORRÊNCIA DE ENCHENTES

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres

CHECK - LIST - ISO 9001:2000

Windows 7. Professor: Jeferson Machado Cordini

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

DESENVOLVIMENTO DE PROGRAMA MULTIMIDIA PARA O ENSINO DEDINÂMICA DE MÚLTIPLOS CORPOS

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

Aplicação Prática de Lua para Web

PHP - Orientação a Objeto MVC. Éderson T. Szlachta {Tecnólogo em Análise e Desenv. de Sistemas} - edersonszlachta@gmail.com

Backup.

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

INFORMATIZAÇÃO DE FARMÁCIAS PÚBLICAS UTILIZANDO SOFTWARE

Documento de Arquitetura

ENGENHARIA DE SOFTWARE I

DIGIMAN. WTB Tecnologia

Instruções de operação

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

UM FRAMEWORK PARA DESENVOLVIMENTO DE

Anexo I Formulário para Proposta

Engenharia de Software III

Disciplina de Banco de Dados Introdução

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Estruturas do Sistema de Computação

SISTEMAS OPERACIONAIS

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Roteamento e Comutação

Basic Exchange System

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

Introdução aos Computadores

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

Atendimento CREA-RO. Plano de Desenvolvimento de Software. Histórico das Reuniões do Grupo

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

Manual do Almoxarifado SIGA-ADM

4 O Workflow e a Máquina de Regras

Manual SAGe Versão 1.2 (a partir da versão )

Orientação a Objetos

Curso de Aprendizado Industrial Desenvolvedor WEB

MANUAL DO AMBIENTE VIRTUAL DE APRENDIZAGEM - ALUNO

Transcrição:

PROGRAMAÇÃO MVC E ZEND FRAMEWORK MVC PROGRAMMING AND ZEND FRAMEWORK Rodolfo Vinícius Moimas Dias Centro Universitário Filadélfia de Londrina UniFil Rafael Francovig Cavicchioli Centro Universitário Filadélfia de Londrina UniFil Prof. Edson Shinki Kaneshima Centro Universitário Filadélfia de Londrina - UniFil RESUMO: Este trabalho teve por objetivo demonstrar a funcionalidade da arquitetura de programação MVC (model-view-controller), introduzida por desenvolvedores do Smalltalk da Xerox PARC (Palo Alto Research Center) em 1979. Foram pesquisadas algumas linguagens de programação que se utilizam desta arquitetura, como por exemplo, Zend, RubyOnRails, CakePHP, Symphony, Codeiginiter. Todos esses programas são basicamente Frameworks feitos para facilitar na modelagem da arquitetura de programação. Um framework é um subsistema de software incompleto ou inacabado que deve ser instanciado, e no caso, serão estudados Frameworks que se utilizem da arquitetura MVC, para descobrir se utilizada trará benefícios. PALAVRAS-CHAVE: MVC. Programação. Zend. ABSTRACT: This study is aimed to demonstrate the functionality of the programming architecture called MVC (model-view-controller), introduced by developers of Smalltalk at Xerox PARC (Palo Alto Research Center) in 1979. We survey some of the programming languages that use this architecture, such as Zend, Ruby On Rails, CakePHP, Symphony, Codeiginiter. All these programs are basically Frameworks made to facilitate the modeling of architectural programming. A framework is a software subsystem that is incomplete or unfinished that should be instantiated, and will be studied Frameworks that use the MVC architecture to discover if the use will bring benefits. KEYWORDS: MVC. Programming. Zend. O Zend framework (ZF) foi concebido no inicio de 2005 na Zend Conference enquanto muitos outros Frameworks estavam ganhando popularidade, tais como o RubyonRails e Spring Frameworks. O ZF é um Framework de aplicações web de código aberto, orientado a objetos, implementação em PHP 5 e licenciado como New BSD License. A BSD License é uma licença para Softwares de código aberto, A licença BSD permite que o software distribuído sob a licença, seja incorporado a produtos proprietários. Trabalhos baseados no material podem até ser liberados com licença proprietária. Alguns exemplos notáveis são: o uso de código do BSD (funções de

rede de computadores) em produtos da Microsoft, e o uso de muitos componentes do FreeBSD no sistema Mac OS X da Apple Computer. MVC é um padrão de arquitetura de software que descreve o relacionamento entre três camadas de desenvolvimento, essas camadas são Model, View e Controller. Model: Como o nome já diz é um modelo, representando os dados da aplicação e as regras do negocio que governam o acesso e a modificação dos dados. O modelo mantem o estado persistente do negocio e fornece ao controlador a capacidade de acessar as funcionalidades da aplicação encapsuladas pelo próprio modelo. View: Um componente de visualização renderiza o conteúdo de uma parte particular do modelo e encaminha para o controlador as ações do usuário; acessa também os dados do modelo via controlador e define como esses dados devem ser apresentados. Controller: O controlador define o comportamento da aplicação, é ele que interpreta as ações do usuário e as mapeia para chamadas do modelo. Em um cliente de aplicações Web essas ações do usuário poderiam ser cliques de botões ou seleções de menus. As ações realizadas pelo modelo incluem ativar processos de negocio ou alterar o estado do modelo. Com base na ação do usuário e no resultado do processamento do modelo, o controlador seleciona uma visualização a ser exibida como parte das respostas a solicitação do usuário. Esse sistema é a implementação de multicamadas. A camada de apresentação ou visualização não se preocupa em como a informação foi obtida ou onde ela foi obtida, apenas a exibe, incluindo os elementos de exibição no cliente (no caso o-zf-) sendo utilizada para receber a entrada de dados pelo usuário e apresentar o resultado. A camada lógica é o coração da aplicação, responsável por tudo que a aplicação vai fazer. É um encapsulamento de dados que se importa apenas com a modelagem de dados, comportamento, armazenamento e a geração de dados. Sendo tudo isso independente da apresentação.a camada de controle, como o

nome já diz controla, determina o fluxo e mapeia as ações, servindo como uma camada intermediaria entre a camada logica e a de apresentação. Nas camadas de controle e visualização, o framework possui um único componente de suporte. Isso se deve ao fato de que essas duas camadas estão estritamente ligadas, uma vez que o controlador é responsável por gerar as informações que serão apresentadas na camada de visualização e recebe desta os eventos de respostas das páginas web. Apesar de alguns frameworks fazerem uso de apenas um componente para as duas camadas, não significa que os códigos para essas serão misturados ou guardados em um único lugar. Ao invés disso, os códigos são divididos e estes componentes é que ficam responsáveis pelo transporte de informações entre as duas de maneira mais simples. Arquitetura MVC é usada para facilitar a modelagem de um sistema e organizá-lo, caso ocorra algum erro ou o sistema necessite de uma implementação no código, é necessário apenas à modificação da camada especifica. A Programação Estruturada ainda é de grande valia didática, pela simplicidade e facilidade de compreensão. O Zend segue seus próprios padrões de codificação e se utiliza de um programa chamado PHPunit para testar completamente todas as classes, revisando por partes e aprovando o código. Tem o apoio de grandes empresas como, por exemplo, a IBM (1888) e a FOX Interactive Media (1982). O sistema MVC possui duas dificuldades em relação com um projeto e suas soluções de hardware para a sua codificação, esses são o paralelismo e a memoria. É possível dividir os blocos de um banco de dados e despachá-los para vários núcleos de processamento operando de maneira paralela, acelerando a codificação de um banco de dados em muitas vezes. Vivendo em um tempo onde os processadores são divididos em múltiplos núcleos, dispositivos móveis como smartphones, tablets e consoles portáteis estão recebendo estes processadores. Mas grande parte das aplicações não estão preparadas para obter o máximo desempenho do hardware. Desta forma, é sempre recomendável procurar a utilização do paralelismo em banco de dados. Apesar de

essa preocupação ser recente, e muito mais comum para quem trabalha na área, a exploração de paralelismo deve ser considerada quando for necessário aperfeiçoar instruções de uma linguagem estruturada. Um grande problema para a gestão da memória na arquitetura MVC utilizada pelo Zend é que grande parte dos projetos desconsidera a maneira de como os dados de entrada serão acessados na memória principal, o que é feito é assumir que existe um módulo externo para fazer o trabalho e a entrega de vetores para a arquitetura nos momentos certos. Em codificadores de vídeo MVC a disponibilidade da memória não é verificada. A organização de memória do codificador deve ser acessada por quase todos os módulos. Isto pode ser evitado com a inserção de memórias internas à arquitetura que guarda os dados intermediários, evitando que todos os módulos acessem sempre a memória principal. Entretanto, memórias internas às arquiteturas têm seu custo por bit é muito alto, inviabilizando o seu uso indevido. Um bom uso da comunicação com a memória é necessário para a redução do gasto de recursos do sistema. Cada acesso tem seu custo especifico em potência e tem de ser aproveitado ao máximo. Outro problema é o quanto de memoria interna utilizar, visto que estas unidades possuem uma considerável taxa de consumo da memória. REFERÊNCIAS ZEND: framewok. Disponível em: <http://framework.zend.com/>. Acesso em: 19 ago. 2012. RUBY OnRails: Guides. Disponível em: <http://guias.rubyonrails.com.br/>. Acesso em: 17 ago. 2012. MVC: UFCG. Disponível em: <http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/arqu/mvc/mvc.htm>. Acesso em: 14 ago. 2012. DEACON, John. Model-View-Controller (MVC) architecture. 2009. Disponível em: <http://www.jdl.co.uk/briefings/mvc.pdf>. Acesso em: 23 ago. 2012.

ALEXANDER, Christopher. Model-View-Controller: A design pattern for software. 2004. Disponível em: <http://ist.berkeley.edu/as-ag/pub/pdf/mvc-seminar.pdf>. Acesso em: 23 ago. 2011. KRASNER, Glenn E; POPE, Stephen T. A description of the Model-View- Controller user interface paradigm in the Smalltalk-80 System. 1988. Disponível em: <www.create.ucsb.edu/~stp/postscript/mvc.pdf>. Acesso em: 26 ago. 2011.