Prévia do material em texto
(1,5 pontos) Explique o que é e como funciona o padrão de arquitetura de software MVC, porquê este padrão pode ser considerado uma boa opção para o desenvolvimento de uma aplicação Web? R= A arquitetura MCV é dividida em três camadas, que cada letra são as iniciais dos nomes: Model, View e Controller. Funções de cada camada Model: Essa camada tem como função, fazer o acesso ao banco de dados e arquivos, validações de regras de negócio, realizar cálculos, ou seja, é nessa camada que se encontra toda a lógica do sistema. View: A função dessa camada é mostrar as coisas na tela para que o usuário possa interagir, é nessa camada que temos HTML, CSS, JavaScript. O papel dela é montar todo esse conteúdo e mostrá-lo para o usuário. Controller: Essa camada funciona como uma ponte do MVC, ela é responsável por fazer a ligação entre a View e a Model. Ela recebe as requisições e as respostas e direciona cada uma para o seu devido lugar. (1,5 pontos) Disserte sobre o uso de frameworks e sua vantagem no desenvolvimento de software para Web. Em seguida, pesquise exemplos de frameworks que podem ser usados em cada camada da arquitetura MVC, dando preferência a exemplos que não tenham sido citados na disciplina. R= Um framework é um conjunto de classes de métodos que vão facilitar o trabalho dos desenvolvedores, através de suas bibliotecas. Dessa forma ele acaba simplificando a forma de trabalho ganhando tempo para desenvolver a aplição. As maiores vantagens do seu uso no desenvolvimento de software web, é a sua consistência e compatibilidade com outras aplicações, a padronização do desenvolvimento, visto que ele já possui um conjunto definido de classes e funções, velocidade no desenvolvimento e a qualidade, pois muitos frameworks passam por vários testes antes mesmo de sair sua versão final. Os exemplos de frameworks que podem ser utilizados na arquitetura MVC são: Struts (J2EE), Spring (POA) e os já utlizados até o momento pela disciplina, JavaServer Faces (J2EE) e Hibernate (Persistência de Dados). (2,0 pontos) Crie um arquivo Hibernate.cfg.xml completo configurando o hibernate de modo que a aplicação se conecte com um banco de dados chamado uab previamente criado através do MySQLWorkbench, onde o usuário e senha desse banco são, respectivamente ”administrator” e “ge2Parqui6&”, o dialeto utilizado é o dialeto para SQL Server e o Console não deverá exibir os comandos SQLs que o hibernate gerar. No banco uab, já existem tabelas e dados, assim sendo, tenha cuidado para escolher qual será o valor atríbuído para a propriedade hbm2ddl.auto de maneira a não perder estes dados. Apresente aqui o conteúdo final do seu arquivo: R= <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!--configuração da conexão com o banco de dados--> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/db_uab</property> <property name="connection.username">administrador</property> <property name="connection.password">ge2Parqui6</property> <!-- Dialeto SQL Server --> <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property> <!-- Desabilita a apresentação do código SQL no console --> <property name="show_sql">false</property> <!-- cria, exclui, recria, ou incrementa um banco de dados --> <property name="hbm2ddl.auto">12</property> </session-factory> </hibernate-configuration> (1,5 pontos) Explique a função das anotações JPA (linhas que iniciam com @) num arquivo .java de um sistema Java para Web. R= Essas anotações seguem um padrão utilizando o nome da classe Java para juntar com a tabela de banco de dados e fazer o mapeamento objeto e relacional a anotação @Entity. Além disso quando é solicitado ao JPA para salvar, consultar alterar e excluir, ele irá criar o Script SQL para executar a operação no banco de dados. (1,5 pontos) No sistema desenvolvido na disciplina, como ocorre o mapeamento objeto-relacional? Ou seja, como os objetos são persistidos no banco de dados relacional? R= Ocorre através da JPA que define um meio de mapeamento objeto-relacional para os objetos Java. Para tomar a classe persistente é adotada a anotação @Entity, que atráves dessa anotação faz que com o Hibernate consiga realizar a persistência no banco de dados. (1,5 pontos) Explique como o Java Server Faces possibilita a construção de interfaces Web mais rapidamente do que a utilização puramente de HTML e CSS. Qual é a relação do Prime Faces com o Java Server Faces? R= Ele possibilita uma construção mais rápida do que o HTML e CSS, porque é um framework que foi construído pensando em simplificar o desenvolvimento de aplicações web, automatizando vários processos dando liberdade para que os desenvolvedores ganhe tempo e se dedique em realmente desenvolver seus projetos. PrimeFaces e Java Server Faces são ferramentas diferentes, mas nenhum substitui o outro porque são complementos, o JSF foi criado para ser utilizado no desenvolvimento web, já o PrimeFaces é uma biblioteca de componentes para as aplicações criadas em JSF, daí é que surge a relação entre eles.