• Nenhum resultado encontrado

Escrevendo meu primeiro porlet. Gustavo Lira Consultor 4Linux

N/A
N/A
Protected

Academic year: 2021

Share "Escrevendo meu primeiro porlet. Gustavo Lira Consultor 4Linux"

Copied!
16
0
0

Texto

(1)

Escrevendo

Escrevendo

meu primeiro

meu primeiro

porlet

porlet

Gustavo Lira

Consultor – 4Linux

(2)

Para quem tiver interesse a 4Linux está lançando os seguintes cursos:

●Desenvolvendo Portlets Java EE

●Desenvolvimento de Portais Dinâmicos com eXo WCM

Quem tiver interesse basta mandar um e-mail para

contato@4linux.com.br ou procurar a Fernanda no chat por PVT

(3)

Especificação para os Portlets

Os padrões para Portlets Java EE são definidos por duas JSRs: 168, que define a API de Portlets versão 1.0, e 286, que define a API de Portlets 2.0

JSR 168 - http://jcp.org/ja/jsr/detail?id=168

(4)

O que São Portlets

● Portlets são aplicações ou componentes exibidos como

parte de um portal web.

● Geram apenas fragmentos de páginas HTML ● Cuidado com eventos Javascript e tags como

<body> e <meta>

● O software do portal é quem gera a página completa e

cuida de toda a interação com o (navegador web do) usuário

● Fornece a interface para associar portlets a páginas ● Em geral usa o conceito de “janelas” dentro da

(5)

Restrições ao HTML de um Portlet

● Um portlet não é dono da sua página!

● Isto é, ele deve conter uma marcação completa, fechando todos os tags abertos por ele mesmo

● Não pode gerar diretamente cabeçalhos HTTP, como autorização e redirect

● Gera apenas um fragmento HTML, onde vários tags são “proibidos”

● Deve tomar cuidado seu seus estilos CSS e código Javascript não interfira com a página do portal ou com outros portlets

(6)

Benefício dos Portlets

● Possibilidade de incorporar ao portal portlets prontos,

desenvolvidos por terceiros

● Aplicações desenvolvidas in-house para um portal

podem ser migradas facilmente para o Software de Portal de outro fornecedor

● Portlets usufruem de toda a estrutura padrão do Java

(7)

Portlets x Componentes

● Portlets são componentes de um portal, não de uma

aplicação!

● Portlets encapsulam aplicações, ou pelo menos partes

delas (subsistemas) que sejam independentes das demais

● Então portlets são bem diferentes de componentes de

(8)

O que é um portal?

● É um agregador de informações, ou seja agrega informações

provenientes de várias origens e aplicações.

● Ponto único de acesso para várias aplicações

Baseado na composição de múltiplos portlets como parte de uma

mesma página

● Definido por JSRs do JCP (168 e 286)

● A especificação não define como é o funcionamento e

configuração do software de portal em si

(9)

Portal x Portlets

Aplicação de Colaboração Gerenciador de Documentos ou Conteúdo Pacote Comprado Sistema de Informações (Transações) Portal Java EE

Portlet Portlet Portlet Portlet Página HTML

(10)

Portal x Portlets

Página do Portal Página do Portal Navegação do portal Portlet maximizado Portlet maximizado _ x Porltet minimizado Página 1 Página 2 Página 3 Página 4

Porltet minimizado

Porltet normal

(11)
(12)

Software de Portal x

Container de Portlets

Servidor de Aplicações Java EE

Servidor de Aplicações Java EE

Container de Servlets Container de Portlets Container de Portlets Portlet 1 Portlet 2 Container EJB EJB 1 EJB 2 Software de Portal Software de Portal JTA EJB JMS JAAS etc

(13)

Portlet MVC

public class HojePortlet extends GenericPortlet {

// a assinatura do método deve ser exatamente esta!

public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {

// formata a data de hoje

DateFormat df = DateFormat.getDateInstance(); String hoje = df.format(new Date());

df = DateFormat.getTimeInstance(); String agora = df.format(new Date());

// gera o fragmento de página

request.setAttribute("hoje", hoje); request.setAttribute("agora", agora);

(14)

Descritor de Deployment de Portlets

<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portl et-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="1.0"> <portlet> <portlet-name>HojePortletMVC</portlet-name> <portlet-class>exemplo.HojePortlet</portlet-class> <!-- continua... -->

(15)

Descritor de Deployment de Portlets

<!-- ...continuação --> <expiration-cache>60</expiration-cache> <supports> <mime-type>text/html</mime-type> <portlet-mode>VIEW</portlet-mode> </supports> <supported-locale>pt_BR</supported-locale> </portlet> </portlet-app>

(16)

JSP de Visão

<%@ page pageEncoding="UTF-8" %> <h1>Data de Hoje MVC</h1>

<p>

Hoje é dia ${hoje}, <p>

Referências

Documentos relacionados

A gente tem um PIB forte, mas um mercado de trabalho ainda fraco, justamente porque os setores que empregam mais são os setores que estão para trás

O ciclo de estudos tem duração e estrutura semelhantes a ciclos de estudos de instituições de referência do Espaço Europeu de Ensino

A iniciativa de novos negócios, identificar oportunidades e poder transformá-los em um negócio lucrativo tem mostrado que o empreendedorismo possui papel importante no âmbito

Trabalhar com educação ambiental nas escolas e de suma importância mais também tem uma necessidade da escola e os professores trabalharem em conjunto para adquirirem

Ao comprar seu celular, você recebeu alguma instrução sobre como usar o aparelho e acessar os

Quanto ao ensino universitário, basta lembrar que atual- mente quase todas as universidades estrangeiras e do Brasil já incluíram, obrigatória ou facultativamente, e m seus

Uma vez experimentada a criação e o pecado — do qual só o diabo e o homem são responsáveis: salvando, portanto, a liberdade divina—, Deus não pode ser incoerente com seu desejo

[...] acolhimento para crianças e adolescentes, por meio de medida protetiva, oferecido em diferentes equipamentos como abrigos institucionais para pequenos grupos