Your SlideShare is downloading. ×
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Portlets: Let them make your virtual world
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Portlets: Let them make your virtual world

484

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
484
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Portlets: Let them make your virtual world! Fabiano Cruz Coordenador NEC / Java User Group – Petrópolis Marcelo Mayworm Coordenador NEC / Java User Group – Petrópolis Portlets: Let them make your virtual world!
  • 2. Agenda • Gerenciamento de informação • Framework Jetspeed – Overview – Instalação e configuração • Porlets API • Study Case Portlets: Let them make your virtual world!
  • 3. Proposta • Pesquisa e desenvolvimento de soluções para a integração e gerenciamento de informação, baseada em projetos Open Source e seguindo o conceito Web based • Pesquisa e desenvolvimento de novas features para o Framework Jetspeed • Contribuições para a Apache Software Foundation • Publicações periódicas Portlets: Let them make your virtual world!
  • 4. Gestão do Conhecimento • Durante as primeiras décadas da Informática a ênfase foi em gerenciar dados • Estruturas de dados, arquiteturas de dados, bancos de dados, data warehouses, e assim por diante • Transformar os dados transacionais em conhecimento e inteligência para suportar as tomadas de decisões • O fluxo de informações integrado aumentou vertiginosamente, proporcionando uma difusão de conhecimento Portlets: Let them make your virtual world!
  • 5. As mudanças • Prover informações organizadas – Visão liner versus visão holística • Obter meios efetivos de uma empresa se relacionar com seus fornecedores e clientes – ERP(Enterprise Resource Planning) – CRM(Customer Relationship Management) – KM(Knowledge Management) – SCM(Supply Chain Management) • Data Mining, junto às demais funcionalidades do ERP transforma dados em informações relevantes Portlets: Let them make your virtual world!
  • 6. Integração Web based • Tecnologias Web based para suportar as transações desse novo ambiente – Applications Service Provider (ASPs) – Dificuldade de customizar(os processos se adequam a empresa) • Com a expansão da Internet e das intranets corporativas, a distinção entre os sistemas de “back office” e “front office” tem sido cada vez mais tênue • Rede Integrada de valor – O bem mais valioso para o sucesso é a informação – Empresas estarão conectadas diretamente uma a uma • Integrando a partir de Web based Portlets: Let them make your virtual world!
  • 7. ### ????? ### • Mas o que nos falta? – Integrar sistemas tecnológicos num único ponto de acesso Portlets: Let them make your virtual world!
  • 8. O que é um Portal ? • Funções típicas: – Registro de usuário – Autenticação e autorização – Componentes de gerenciamento de dados: • Portlets – Personalização baseada em profiles/behavior – Customização de páginas por usuários – Busca – Gerenciamento de conteúdo Portlets: Let them make your virtual world!
  • 9. Exemplo: Portlets: Let them make your virtual world!
  • 10. JetSpeed | Visão Geral • Um Framework da Apache Software Foundation • O principal projeto Open Source de um Portal Server • Usa o Portal Structure Markup Language para definir o page layout, contents, decorations, etc – Jetspeed prove uma ferramenta de customização / administração para ser utilizada durante o carregamento da página • Usa XML para definir serviços Portlets: Let them make your virtual world!
  • 11. Portal | Topologia Portlets: Let them make your virtual world!
  • 12. JetSpeed | Arquitetura • Dentro do Jetspeed, o Framework Turbine é responsável por gerenciar a autenticação dos usuários e as suas configuração de layout de página. • Portlets podem interagir com os serviços do Turbine através do RunData object. • Uso de templates – JSP, Velocity etc Portlets: Let them make your virtual world!
  • 13. JetSpeed | Page Layout • Pense nos portlets como componentes ativos que mostram dados dentro de uma página HTML. A figura ilustra os portlets dentro da página de um portal. São exibidos três portlets Portlets: Let them make your virtual world!
  • 14. Jetspeed | Screen/Page • Essa figura mostra a anatomia da página contendo os portlets. Dentro dessa página, o conteúdo do portlet é gerenciado pelo PortletControl e PortletController. Portlets: Let them make your virtual world!
  • 15. Jetspeed | Screen/Page • PortletControl – Dentro da página do Portlet, gerencia o título e corpo do Portlet • PortletController – Gerencia múltiplos portletControl (cada um gerenciando seu portlet), provendo uma página de entrada de informações para os portlets Portlets: Let them make your virtual world!
  • 16. Jetspeed | Portlets Goals • Possuem pequenas web applications para o usuário • quot;skin“: essas web applications possibilitam ao usuário definir background color, title bar color, icons, etc • Gerenciamento de performace entre múltiplos portlets através da utilização de cache • Facilmente customizado pelo usuário Portlets: Let them make your virtual world!
  • 17. Jetspeed | Portlets Goals • Facilmente desenvolvidos e não requerem que o desenvolvedor conheça os detalhes da implementação da Engine JetSpeed • Facilmente desenvolvidos, pois a AbstractPortlet class definine a maioria das ações ocorridas em grande parte das situações • Permite automaticamente a apresentação através dos formatos HTML e WML Portlets: Let them make your virtual world!
  • 18. Jetspeed | Portlets Goals • Prove métodos para o portlet determinar o estado atual ou anterior de apresentação. Todos os portlets devem suportar o VIEW mode • Clicando em um desses controles apresentados pela figura, o usuário pode, facilmente, alterar o modo e/ou estado de exibição do portlet. Exemplo: Portlets: Let them make your virtual world!
  • 19. Jetspeed | Portlets Padrão • Esses são os portlets padrão e mais comumente usados: – WebPage Portlet – HTML Portlet – JSP Portlet – RSS Portlet – XSL Portlet Portlets: Let them make your virtual world!
  • 20. Jetspeed | Portlets Padrão • WebPage Portlet – Apresenta uma página web dentro de um Portlet – Essa página será carregada pela Engine Jetspeed, eximindo o portlet de qualquer interação com o browser do usuário, como cookies, sendo gerenciada pelo seu sub- sistema de cache – O WebPagePortlet irá converter, ou apagar, algumas tags do HTML, resultando em uma página que será apresentada em um portlet Portlets: Let them make your virtual world!
  • 21. Jetspeed | Portlets Padrão • HTML Portlet – Apresenta uma página HTML estática dentro de um portlet – Porque utilizar um HTML Portlet ao invés de um WebPagePortlet? – HTML é estático – Não é um HTML completo, ex.: <HEAD> não existe dentro do arquivo – O arquivo HTML não precisa estar visível para o Web Server – Tarefas específicas não podem ser realizadas por um WebPagePortlet – Portlet que apresentam somento uma imagem, como JPEG ou SVG Portlets: Let them make your virtual world!
  • 22. Jetspeed | Portlets Padrão • HTML Portlet Example <portlet-entry name=“OneDayquot; hidden=quot;falsequot; type=quot;ref“ parent=quot;HTMLquot;application=quot;falsequot;> <meta-info> <title>One Day Java</title> <description>HTML Example</description> </meta-info> <url>/OneDay.html</url> </portlet-entry> Portlets: Let them make your virtual world!
  • 23. Jetspeed | Portlets Padrão • JSP Portlet – Apresenta o output de um JSP dentro de um portlet – Porque utilizar um JSP Portlet ao invés de um WebPagePortlet? • JSP não tem que estar visível para o Web Server • Determinadas tarefas não podem ser atingidas com o WebPagePortlet • Jetspeed Tag Library Portlets: Let them make your virtual world!
  • 24. Jetspeed | Portlets Padrão • JSP Portlet Example <portlet-entry name=“OneDayJSPquot; hidden=quot;falsequot; type=quot;refquot; parent=quot;JSPquot; application=quot;falsequot;> <meta-info> <title>One Day JSP Example</title> <description>Simple JSP Portlet</description> </meta-info> <parameter name=quot;templatequot; value=“OneDay.jspquot; hidden=quot;falsequot;/> </portlet-entry> Portlets: Let them make your virtual world!
  • 25. Jetspeed | Portlets Padrão • RSS Portlet – Apresenta um RSS que prove informações para um portlet • Rich Site Summary (RSS) é um formato baseado em XML, desenvolvido pela Netscape. O objetivo do RSS é o de propogar as alterações em um site, incluindo seu portal desenvolvido com o Jetspeed, dinamizando o processo de publicação de conteúdo Portlets: Let them make your virtual world!
  • 26. Jetspeed | Portlets Padrão • RSS Portlet – A formatação de RSS dentro de um portlet é controlada pelo stylesheet – Informações sobre o RSS: http://my.netscape.com/publish/formats/rss-spec-0.91.html Portlets: Let them make your virtual world!
  • 27. Jetspeed | Portlets Padrão • RSS Portlets Example <portlet-entry name=“Apacheweekquot; hidden=quot;falsequot; type=quot;refquot; parent=quot;RSSquot; application=quot;falsequot;> <meta-info> <title>Apacheweek</title> </meta-info> <url> http://www.apacheweek.com/issues/apacheweek-headlines.xml </url> </portlet-entry> Portlets: Let them make your virtual world!
  • 28. Jetspeed | Portlets Padrão • XSL Portlet – Apresenta um documento XML transformado dentro de um portlet Portlets: Let them make your virtual world!
  • 29. Jetspeed | Instalação • Para instalar o JetSpeed siga esses três passos: – Download and install TomCat 3.2 (Binaries) • http://jakarta.apache.org/builds/jakarta- tomcat/release/v3.2.4/bin/ – Download JetSpeed 1.3.a2 (Binaries) • http://jakarta.apache.org/builds/jakarta- jetspeed/release/v1.3a2/ – Download Apache James. Configure a propriedade mail.server no arquivo de propriedades TurbineResources.properties, o qual se encontra em webapps/jetspeed/WEB-INF/conf Portlets: Let them make your virtual world!
  • 30. Jetspeed | Configuração • Descompactar o arquivo jetspeed-1.3a2- release-src.zip • Copiar o arquivo jetspeed.war (Web Archieve), para o diretório WEBAPPS do TomCat • Start o TomCat <TOMCAT_HOME>/bin/startup Nota: O TOMCAT_HOME deverá estar setado • Conectar – http://localhost:8080/jetspeed Portlets: Let them make your virtual world!
  • 31. Jetspeed | Estrutura de Dir. • Conf – Contém todos os arquivos de configuração do Jetspeed • Linguagem, Poll de Conexões, Controle de log (LOG4J), Arquivo de Registro dos Portlets (.xreg), etc • Lib – Armazena todos os JARs (Java Archieve) do Projeto • Templates – Velocity e JSP – HTML e/ou WML – Funcionalidades iniciais • Template de cadastro, login, etc Portlets: Let them make your virtual world!
  • 32. Jetspeed | DataBases • Banco default – Hypersonic – Configuração default no TurbineResource.properties database.default.driver=org.hsql.jdbcDriver database.default.url=jdbc:HypersonicSQL:${webappRoot}/WE B-INF/db/jetspeed database.default. username=sa database.default. password= Portlets: Let them make your virtual world!
  • 33. Jetspeed | New DataBase • Script de criação e preechimento das tabelas para: – MySQL, Postgres, Sybase, DB2 e Oracle – Baixando o Source Code, você terá acesso a esses arquivos • Obter o driver JDBC do distribuidor – Colocá-lo no diretório lib do JetSpeed • Alterar o TurbineResource.properties Portlets: Let them make your virtual world!
  • 34. Jetspeed | MySQL Example • MySQL Connector/J 2.0.14 (ZIP) – mm.mysql-2.0.4-bin.jar • TurbineResource.properties database.default.driver=org.gjt.mm.mysql.Driver database.default.url=jdbc:mysql://localhost:3306/nec_db database.default.username=root database.default.password= Portlets: Let them make your virtual world!
  • 35. Jetspeed | Study Case • Desenvolvendo Portlets – Hello World ! ☺ 1. package org.nec.portal.portlets; 2. import org.apache.jetspeed.portal.portlets.AbstractPortlet; 3. import org.apache.turbine.util.RunData; 4. import org.apache.ecs.ConcreteElement; 5. import org.apache.ecs.StringElement; 6. 7. public class HelloWorldPortlet extends 8. AbstractPortlet 9. { • public ConcreteElement getContent • (RunData runData) 12. { 13. return (new StringElement (quot;Hello World!quot;)); 14. } 15. } Portlets: Let them make your virtual world!
  • 36. Jetspeed | Study Case • A classe utilizada como base para novos portlets é a classe AbstractPortlet. Ela está localizada no package org.apache.jetspeed.portal.portlets • Extendendo a AbstractPortlet, você terá que realizar a implementação do método getContent( ) Portlets: Let them make your virtual world!
  • 37. Jetspeed | Study Case • getContent( ) – Também implementa a interface RunData do Turbine como um parâmetro. Através dos métodos getters e setters da RunData interface, você tem acesso em runtime as informações armazenadas no Turbine, incluindo cookies, locale, e dados do usuário. A maioria dos dados atualmente, são gerenciados pelo próprio Jetspeed, e não precisamos nos preocupar com eles na hora do desenvolvimento dos portlets Portlets: Let them make your virtual world!
  • 38. Jetspeed | Study Case • O método getContent( ) retorna um ConcreteElement de um ECS • ECS (Element Construction Set) – Para mostrar o conteúdo, portlets usam o ECS API. Este vem com o JetSpeed, o qual gera markup elements a partir de objetos Java. Você pode usar servlet template ou JSP para gerar conteúdo como saída, o qual é capturado por uma ECS que mostra o seu conteúdo. ECS suporta tanto WML como HTML Portlets: Let them make your virtual world!
  • 39. Jetspeed | Exemplo ECS out.println(quot;<HTML>quot;); out.println(quot;<HEAD><TITLE>Demo<TITLE><HEAD>quot;); out.println(quot;<BODY>quot;); Construção Manual de HTML out.println(quot;<H1>Demo Header<H1>quot;); out.println(quot;<H3>Sub Header:<H3>quot;); out.println(quot;<FONT SIZE=quot;+1quot; FACE=quot;Timesquot; COLOR=quot;#FFFFFFquot;>); out.println(quot;The big dog &amp; the little cat chased each other.quot;); out.println(quot;<FONT>quot;); out.println(quot;<BODY>quot;); out.printL>quot;); Html html = new Html() .addElement(new Head() .addElement(new Title(quot;Demoquot;))) .addElement(new Body() .addElement(new H1(quot;Demo Headerquot;)) .addElement(new H3(quot;Sub Header:quot;)) Construção com ECS .addElement(new Font().setSize(quot;+1quot;) .setColor(HtmlColor.WHITE) .setFace(quot;Timesquot;) .addElement(quot;The big dog & the little cat chased each other.quot;))); out.println(html.toString()); // or write to the outputstream directly output(out); Portlets: Let them make your virtual world!
  • 40. Jetspeed | Study Case • Publicando o portlet no Jetspeed – O arquivo .xreg • portlet.xreg – Arquivo de registro dos portlets default e de configuração do Jetspeed • local-portlets.xreg – Para que você não tenha problemas nas atualizações de versões do Jetspeed, se faz necessário criar o seu próprio catálogo de portlets Portlets: Let them make your virtual world!
  • 41. Jetspeed | Study Case • Desenvolvendo Portlets – Arquivo de Registro do Portlet (.xreg) 1. <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?> 2. <registry> 3. <portlet-entry name=quot;HelloWorld“ 4. hidden=quot;falsequot; type=quot;instance“ 5. application=quot;falsequot;> 6. <meta-info> 7. <title>HelloWorld</title> 8. <description> 9. Portlet HelloWorld – One Day Java 10. </description> 11. </meta-info> 12. <classname> 13. org.nec.portal.portlets.HelloWorldPortlet 14. </classname> 15. <media-type ref=quot;htmlquot;/> 16. </portlet-entry> 17. </registry> Portlets: Let them make your virtual world!
  • 42. Jetspeed | Study Case • Catálogo de portlets Portlets: Let them make your virtual world!
  • 43. Jetspeed | Study Case • Adicionando o portlet do catálogo ao portal personalizado do usuário Portlets: Let them make your virtual world!
  • 44. Jetspeed | Study Case • Página personalizada do usuário Portlets: Let them make your virtual world!
  • 45. Jetspeed | Study Case • Você deverá publicar o seu novo portlet no Jetspeed de forma manual, utilizando um “dialeto do XML” denominado Portal Structure Markup Language (PSML) • O Jetspeed utiliza o PSML para descrever configurações internas, disponíveis nos portlets, e configurações do usuário • O portlet deverá estar disponível através de seu portlet registry (.xreg) Portlets: Let them make your virtual world!
  • 46. Jetspeed | Study Case • Desenvolvendo Portlets – Arquivo de Publicação do Portlet (.psml) 1. <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?> 2. <portlets 3. xmlns=quot;http://www.apache.org/2000/02/CVSquot;> 4. <controller name=quot;ThreeColumnsquot;/> 5. <skin name=quot;NECPortletStylesquot;/> 6. <entry parent=quot;HelloWorldquot;> 7. <layout> 8. <property name=quot;columnquot; value=quot;1quot;/> 9. <property name=quot;rowquot; value=quot;1quot;/> 10. </layout> 11. </entry> 12. </portlets> Portlets: Let them make your virtual world!
  • 47. Jetspeed | Study Case • Jetspeed e Wireless – Wap de uma forma transparente – Utilizando o Nokia Mobile Internet Toolkit Portlets: Let them make your virtual world!
  • 48. Jetspeed | Study Case Tela de Login Página Personalizada do Usuário Portlets: Let them make your virtual world!
  • 49. Jetspeed | Study Case • Resources – Para informações adicionais, recursos e ferramentas, veja os seguintes web sites • http://jakarta.apache.org • http://jakarta.apache.org/jetspeed • http://www.mysql.com • http://www.javasoft.com • http://www.javaworld.com • http://www.google.com.br ☺ Portlets: Let them make your virtual world!
  • 50. Jetspeed | Study Case • Perguntas – … e respostas … Portlets: Let them make your virtual world!
  • 51. Portlets: Let them make your virtual world! jug-petropolis-subscribe@yahoogroups.com Portlets: Let them make your virtual world!
  • 52. Portlets: Let them make your virtual world! Fabiano Cruz fabianoc@acm.org Marcelo Mayworm mmayworm@acm.org Portlets: Let them make your virtual world!

×