Introduccion Sistema Informatico - Sistema Operativo - Historia y Tecnologias
Sistema S2DG e Tecnologias Web
-
Upload
elenilson-vieira -
Category
Technology
-
view
1.801 -
download
0
description
Transcript of Sistema S2DG e Tecnologias Web
![Page 1: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/1.jpg)
SISTEMA DISCENTE/DOCENTE DE
GRADUAÇÃO E TECNOLOGIAS UTILIZADAS
Diénert de Alencar Vieira
![Page 2: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/2.jpg)
QUEM SOU EU?
Tecnólogo em Sistemas para Internet – IFPB
Bacharelando em Ciência da Computação –
UFPB
Sun Certified Java Programmer - SCJP 6
Engenheiro de Software – Dynavideo
Sócio da empresa IDEEN Soluções em
Informática
ex-Arquiteto do Projeto de Engenharia
2
![Page 3: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/3.jpg)
ROTEIRO
Overview da Arquitetura de Sistemas Web
Pequeno Histórico em JSP e Servlets
Facelets
JSF
JBoss Seam
JBoss Annotations
JBoss EL
3
![Page 4: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/4.jpg)
ROTEIRO
Richfaces
Apresentação do Sistema S2DG
Se der tempo: Utilizando SVN com plugin do
Eclipse
Se der tempo: Padrões de Projeto
4
![Page 5: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/5.jpg)
ARQUITETURA DE SISTEMAS WEB
5
![Page 6: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/6.jpg)
ARQUITETURA DE SISTEMAS WEB
6
O servidor pode conter todas as páginas
HTML
As páginas HTML, ou partes das páginas
podem ser geradas dinâmicamente
Diversas são as tecnologias que podem
gerar HTML
Exemplos: CGI, PHP, JAVA, RUBY, ASP ...
![Page 7: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/7.jpg)
HISTÓRICO EM SERVLETS E JSP
Servlets
Uma classe na linguagem de programação Java
que dinamicamente processa requisições e
respostas, proporcionando dessa maneira novos
recursos aos servidores. A definição mais usada
considera-os extensões de servidores.
7
![Page 8: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/8.jpg)
HISTÓRICO EM SERVLETS E JSP
8
![Page 9: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/9.jpg)
HISTÓRICO EM SERVLETS E JSP
9
![Page 10: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/10.jpg)
HISTÓRICO EM SERVLETS E JSP
10
Ref.: http://www.jsptut.com/Scriptlets.jsp
![Page 11: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/11.jpg)
HISTÓRICO EM SERVLETS E JSP
JSP - Expression Languages
Poder de Processamento e Acesso a JavaBeans
Ref.: http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSPIntro7.html
11
![Page 12: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/12.jpg)
HISTÓRICO EM SERVLETS E JSP
Ref.: http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSPIntro7.html
12
EL Expression Resultado
${1 > (4/2)} False
${4.0 >= 3} True
${100.0 == 100} True
${(10*10) ne 100} False
${'a' < 'b'} True
${'hip' gt 'hit'} False
${4 > 3} True
${3 div 4} 0.75
${header["host"]} O próprio host
![Page 13: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/13.jpg)
HISTÓRICO EM SERVLETS E JSP
Deployment Descriptor: web.xml<!-- Faces Servlet -->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<!-- Faces Servlet Mapping -->
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
13
![Page 14: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/14.jpg)
JSF EL
JSF EL x JSP EL: #{1 + 1} <=> ${1+1}
Código:
Resultado:
14
![Page 15: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/15.jpg)
FACELETS
Facelets
Ponto inicial: Mecanismo de Templates
Sufixo padrão de arquivos: *.xhtml
web.xml:
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
15
![Page 16: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/16.jpg)
FACELETS
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets">
<head>
<title>#{title}</title>
</head>
<body>
<ui:insert name="topo" >Topo Padrão</ ui:insert>
<ui:insert name=“content“ >Conteúdo Padrão</ ui:insert>
<ui:insert name="foot" >Rodapé Padrão</ui:insert>
</body>
</html>
16
![Page 17: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/17.jpg)
FACELETS
<ui:composition template="/template.xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets" >
<ui:param name=“titulo“ value=“Título 1”/>
<ui:define name=“topo">
<ui:include src=“logo.xhtml" />
</ui:define>
<ui:define name=“content“>Conteúdo aqui</ui:define>
<ui:define name=“foot“>Rodapé Feito</ui:define>
</ui:composition>
17
![Page 18: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/18.jpg)
JSF
Framework de aplicação WEB com o
propósito de simplificar o desenvolvimento
de UI para Java EE
Framework MVC para WEB
Interfaces gráficas baseadas em
componentes
Implementa o padrão Front Controller
18
![Page 19: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/19.jpg)
JSF
Ref.: http://docs.sun.com/app/docs/doc/820-7627/bnaph?a=view19
![Page 20: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/20.jpg)
JSF
Ref.: http://www.developersbook.com/jsf/jsf-tutorial/jsf-tutorial.php20
![Page 21: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/21.jpg)
JSF
Uso das bibliotecas de tags de renderização HTML e CORE do JavaServer Faces
Para um página JSP, usar:
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
Para uma página que utilize Facelets, usar:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html">
21
![Page 22: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/22.jpg)
JSF
Exemplos de tags h:
h:commandLink
h:commandButton
h:form
h:messages
h:message
h:dataTable
h:panelGrid
Ref.: http://docs.sun.com/app/docs/doc/820-7627/bnaqz?a=view22
![Page 23: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/23.jpg)
JBOSS SEAM
Poderosa plataforma de desenvolvimento de
código aberto para construir Aplicações
Ricas para Internet em Java
Integra AJAX, JSF, JPA, EJB 3.0 e BPM
Configuração por exceção
Menos xml’s
Mais anotações
23
![Page 24: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/24.jpg)
JBOSS SEAM
Apache
Tomcat
Glassfish
Jetty
Jboss AS – JBoss Application Server
24
![Page 25: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/25.jpg)
JBOSS SEAM - ANNOTATIONS
@Annotation:
Complementam Javadocs
Não afeta a semântica do código em si
Afeta a forma como estes programas são
tratados por ferramentas e bibliotecas
Substituem xml em muitos casos
25
![Page 26: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/26.jpg)
JBOSS SEAM - ANNOTATIONS
@Entity@Name("user") @Scope(SESSION) @Table(name="users") public class User implements Serializable{
private static final long serialVersionUID = 1881413500711441951L;
@Id @NotNull @Length(min=5, max=15)private String username; private String password; private String name;
Ref.: http://docs.jboss.org/seam/2.2.0.GA/reference/en-US/html/tutorial.html
26
![Page 27: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/27.jpg)
JBOSS SEAM - ANNOTATIONS
Injeção de Dependência: é um padrão de
desenvolvimento utilizado quando é necessário
manter o baixo o nível de acoplamento entre
diferentes módulos de um sistema.
Nesta solução as dependências entre os
módulos não são definidas programaticamente,
mas sim pela configuração de uma
infraestrutura de software (container) que é
responsável por "injetar" em cada componente
suas dependências declaradas
27
![Page 28: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/28.jpg)
JBOSS SEAM - ANNOTATIONS
@Name(“teste”)
class Teste {
@In
private EntityManager entityManager;
metodo() {
entityManager.edit(AlgumaCoisa);
}
}28
![Page 29: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/29.jpg)
JBOSS SEAM - ANNOTATIONS
Bijeção de Dependência: injection e
outjection de dependência
O primeiro fornece a instância da
dependência
O segundo fornece a dependência para a
interface
29
![Page 30: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/30.jpg)
JBOSS SEAM - ANNOTATIONS
@Name(“teste”)
class Teste {
@Out
private User currentUser;
}
#{currentUser.name}
30
![Page 31: Sistema S2DG e Tecnologias Web](https://reader033.fdocument.pub/reader033/viewer/2022061120/546bdf78af795980298b4ded/html5/thumbnails/31.jpg)
JBOSS SEAM - EL
Idêntica à EL JSF, contudo aceita
parâmetros
Apresentar o projeto
31