1 les portails 2 jetspeed 3 d monstration jetspeed
This presentation is the property of its rightful owner.
Sponsored Links
1 / 78

Les portails PowerPoint PPT Presentation


  • 61 Views
  • Uploaded on
  • Presentation posted in: General

1) Les Portails 2) JetSpeed 3) Démonstration JetSpeed. Les portails. Julien BURET Arnaud AUNE DESS Informatique Option SRR. Contexte. Les portails sont nés du constat que l’information sur l’Internet et les intranets est diffuse et pas du tout structurée.

Download Presentation

Les portails

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


1 les portails 2 jetspeed 3 d monstration jetspeed

1) Les Portails

2) JetSpeed

3) Démonstration JetSpeed

Les portails

Julien BURET

Arnaud AUNE

DESS Informatique Option SRR


Contexte

Contexte

  • Les portails sont nés du constat que l’information sur l’Internet et les intranets est diffuse et pas du tout structurée.

  • L’internaute est débordé par le nombre d’outils en tout genre.

  • souhait d’une approche plus simple et unifiée.


Contexte1

Contexte

  • Visent à regrouper sous un accès unique 

    • Un espace informationnel de recherche

    • Un espace communautaire de partage

    • Un espace personnalisé de services

  • Caractéristiques :

    • Point d’accès unique

    • Organisation des informations accessibles et des applications disponibles

    • Personnalisation des services offerts, individuelle ou par groupe

    • Contrôle d’accès centralisé et gestion des utilisateurs


D finition g n rale

Définition générale

  • Un portail, qu’est ce que c’est ?

    • Un portail est un point d’entrée sous forme d’application Web regroupant un certains nombres de services et de contenues à un ensemble de clients.


Les portails

Les Portails

Vise à remplacer le bureau.

avantages :

  • Ils sont accessibles de n’importe quel poste

  • Ils sont personnalisés

  • Les services augmentent : calendrier, agenda, répertoire en ligne, traitement de texte, un tableur…

    Des obstacles restent à surmonter:

  • les temps de chargement

  • les coûts de connexion

  • la largeur de la bande passante

    Selon un responsable de Netcenter (Netscape) les bureaux représenteraient l’évolution naturelle des portails.


Les principaux portails web

Les principaux portails web

  • Les moteurs ou annuaires de recherche

    • Yahoo!, Voilà,…

  • Site des fournisseurs d’accès

    • Aol.com, wanadoo.fr, …

  • Site de logiciel de navigation

    • msn.com (Microsoft) , netcenter.com (Netscape)

  • Les éditeurs de contenu

    • Hachette.fr, go.com (Disney), …

  • Portail spécialisé ou privé

    • Portail d’entreprise, site de communauté


Diff rents type de portails web

Différents type de portails Web

  • Portail généraliste ou horizontal

    • 1er types de portail apparu

    • Regroupe le maximum d’informations de tous les thèmes sur un seul site.

    • Point d’entrée sur le Web

    • Yahoo, Altavista, Site Web des providers (Aol, Wanadoo, Free, …).


Diff rents type de portails web1

Différents type de portails Web

  • Portail spécialisé ou vertical

    • Portail spécialisé dans un thème donné

    • Portail d’entreprise ou inter-entreprise

    • Il regroupe et partage des ressources pour un groupe de client ayant un intérêt commun.


Les portails horizontaux

Les portails horizontaux

  • But

    • Attirer un maximum de client sur le serveur

    • Vendre de l’espace aux annonceurs (Estimation 2000 : 8 Milliards de dollars).

    • Prendre des commissions sur des transactions

    • Vendre des services améliorés aux clients (boite aux lettres plus grande avec plus de fonctionnalités).

  • Moyen mis en œuvre

    • Fournir et ordonner du contenu et des services pour attirer un maximum de clients


Les portails horizontaux l exemple yahoo

Les portails horizontaux. L’exemple Yahoo!

  • Au début un annuaire de sites classés par thèmes.

  • Dans le but de garder les clients après la consultation des annuaires création de services comme les calendriers, les carnets d’adresses…


Les portails horizontaux l exemple yahoo1

Les portails horizontaux. L’exemple Yahoo!

  • Maintenant les principales activités de Yahoo! sont l’agrégation de contenue :

    • Le service de news de Yahoo! regroupe les informations publiés par d’autres site et les classes

    • Le service de mail

    • Yahoo! Messager

    • Jeux en ligne

    • Chat

    • Page personnalisée à un utilisateur

    • Boutique

    • Services de plus en plus évolués comme la personnalisation de page (MyYahoo!)


Exemple yahoo

Exemple yahoo


Les portails verticaux

Les portails verticaux

  • Regroupe les sites de communautés et les portails d’entreprises.

  • Spécialisés dans un domaine unique.


Sites de communaut s

Sites de communautés

  • Le but est proche des portails horizontaux. Ils cherchent à créer un annuaire de personnes intéressées par un même thème (permet des annonces beaucoup plus ciblées).


Portails d entreprise

Portails d’entreprise

  • Le but de ces portails est de faciliter et de regrouper l’accès au différents systèmes d’informations d’une entreprise.

    • Pour facilité la lecture et la mise à jour par les employés.

    • Pour présenter de l’information à des clients ou à des partenaires.

  • Beaucoup de produits commerciaux spécifiques existent pour créer ces types de portails.


D veloppement de portails

Développement de portails

Pourquoi un portail

Les outils de développements


Pourquoi d velopper un portail dans une entreprise

Pourquoi développer un portail dans une entreprise

  • Un utilisateur doit utilisé un grand nombre d’application pour accéder à toutes les informations de l’entreprise.

  • Multiplicité des formats de données, des IHM, informations présentées de façon désordonnées.


Pourquoi d velopper un portail dans une entreprise1

Pourquoi développer un portail dans une entreprise

  • Le but est qu’une application interroge elle-même les applications, puis traitent les données pour les présentées de façon ordonnée et unifiée. L’utilisateur y accédera d’une façon unique, en général un navigateur.


Apport d un syst me de portail

Apport d’un système de portail

  • Un accès simplifié aux informations et aux applications intranet

  • Intégration de contenus tiers

  • Constitution d’espaces de travail et d’accès à l’information

  • Personnalisation des services

  • Gestion de l’accès au différentes données de l’entreprise (single sign-on)


Fonctionnalit s attendues des diff rents syst mes de portails

Fonctionnalités attendues des différents systèmes de portails

  • Agrégation de contenu

    • Collecte d’informations sur des sources internes ou externes, puis présentation de ces données de façon unifiée.

  • Organisation de contenu

    • Classement des données de l’entreprises.

  • Personnalisation des services

    • Adapter l’accès aux informations par l’intermédiaire de profils utilisateurs

  • Accès au contenu

    • Moteur de recherche et indexation 


Fonctionnalit s attendues des diff rents syst mes de portails1

Fonctionnalités attendues des différents systèmes de portails

  • Information et diffusion du contenu

    • Service de diffusions sélectives d’informations ou d’alertes

  • Communication et travail collaboratif

    • Mail, forum, agenda partagé, éditeur de documents collaboratifs

  • Services à valeur ajouté

    • Synthèse de documents évolués (analyse sémantique), traduction automatique

  • Administration et sécurité

    • Contrôles des accès, annuaire d’entreprise, statistiques, pare-feu


Fonctionnalit s attendues des diff rents syst mes de portails2

Fonctionnalités attendues des différents systèmes de portails

  • Les différents produits fournissent un ou plusieurs de ces services.

  • Avant de choisir un produit il faut avoir bien cerné les besoins de l’entreprise choisir un produit en fonction de ses priorités. Peu de produits fournissent tous types de services. Ou alors on peut utiliser des produits plus généraux qui nécessiteront le développement des différents services.


Les diff rents produits de cr ation de portails

Les différents produits de création de portails

  • 2 types d’outils de création de portails.

    • Des infrastructures de portails. Elles fournissent les outils de bases à la création de tout types de portails.

    • Des portails beaucoup plus spécifique souvent très spécialisés dans un domaine


Panorama des produits du march

Panorama des produits du marché


Exemples de portail jetspeed

Exemples de portailJETSPEED

return


Exemples de portail mediapps net portal

Exemples de portailMediapps Net.Portal


Exemples de portail oracle portal online

Exemples de portailOracle Portal Online


Exemples de portail websphere

Exemples de portailWebsphere


Pr sentation d une infrastructure de portail jetspeed

Présentation d’une infrastructure de portail : JETSPEED

  • Architecture

  • Portlet

  • Les fichiers de configuration

  • Démonstration


Jetspeed introduction

JetSpeedIntroduction

JetSpeed :

  • Open source

  • Conçu pour créer un portail rapidement

  • Rend accessible les ressources distantes

  • Accessible par le WEB et le WAP

  • JAVA PORTLET API

  • Sécurité

  • Utilisateur, groupe, rôle

  • Single Sign On

  • une base de données interne : Hypersonic-SQL

    Services déjà implémentés :

  • Cache

  • Persistance

  • Personnalisation

  • Authentification

installation


Jetspeed architecture

JetSpeedArchitecture

  • Globale

  • ESC

  • RSS

  • OSC


Jetspeed architecture introduction

JetSpeedArchitecture – introduction

JetSpeed regroupe les projets suivant :

  • turbine : un framework permettant de se connecter à un base de données et de gérer l’affichage, les utilisateurs et les sessions.

  • Velocity : traite les fichiers templates.

  • ECS : génère du HTML et XML à partir d’objets JAVA.

    On peut se servir aussi des projets suivants :

  • cocoon : permet de générer du HTML à partir de XML et XLS.

  • Xerces et Xalan : est un support XML et XSL.

  • Castor : rend les objets java persistant.

    JetSpeed se sert de RSS et OCS pour rapatrier des données à partir de sites distants.


Jetspeed architecture globale 1 3

JetSpeedArchitecture – globale (1/3)


Jetspeed architecture globale 2 3

JetSpeed Architecture – globale (2/3)

Jetspeed

Portlet API

Turbine

JServ/Jakarta

Apache HTTPD


Jetspeed architecture globale 3 3

JetSpeed Architecture – globale (3/3)

Affichage

PortletController

Plusieurs PortletControl

Une portlet par portletControl


Jetspeed architecture esc

JetSpeedArchitecture - ESC

  • La portlet utilise des éléments de construction (ECS API) en objet java.

  • ECS support WML, HTML

  • open source

  • L’avantage de ECS est qu’il fait du code propre.

  • ECS est limité à HTML et XML pour l’instant.


Jetspeed architecture esc exemple

JetSpeedArchitecture – ESC exemple

Html html = new Html()

.addElement(new Head()

.addElement(new Title("Demo")))

.addElement(new Body()

.addElement(new H1("Demo Header"))

.addElement(new H3("Sub Header:"))

.addElement(new Font().setSize("+1")

.setColor(HtmlColor.WHITE)

.setFace("Times")

.addElement("The big dog & the little cat chased each other.")));

out.println(html.toString());

// or write to the outputstream directly

output(out);


Jetspeed architecture rss

JetSpeedArchitecture – RSS

exemple

  • RSS Rich Site Summary

  • Le format RSS est basé sur XML

  • Légers, multi but, format d’ importation/exportation de données, description de métas données

    Avantages :

  • Permet de rendre disponible des informations pour d’autres sites

  • Une application personnel peut y accéder


Jetspeed architecture ocs

JetSpeedArchitecture – OCS

exemple

  • OCS Open Content Syndication

  • Le format OCS est basé sur XML

  • Multi cannaux aux formats différents

  • Il peut aussi utiliser RDF (Resource Description Framework) et DC (Dublin Core). Langages permettant l’échanger des descriptions de ressources sur le Web.

  • xmltree.com. plus de 1700 canaux.


Jetspeed les portlets

JetSpeedLes Portlets

Les Portlets :

  • Définition

  • API


Jetspeed portlet d finition

JetSpeedPortlet - Définition

  • concept populaire

  • décrit l’interface utilisateur ayant la capacité d’être personnalisée

  • met à disposition du contenu, donne accès à une application ou un service

    Jetspeed inclut quelques portlets :

  • RSSPortlet permet de voir les documents au format RDF

  • FileServerPortlet permet de mettre à disposition des pages HTML

  • CocoonPortlet permet de transformer du XML via XSL

  • PortletViewerPortlet permet d’afficher des informations additionnelles sur une portlet


Jetspeed portlet api

JetSpeedPortlet - API

Pour avoir une portlet fonctionnelle :

  • étendre la classe AbstractPortlet

  • implémenter la méthode getContent(RunData aRunData)

  • Renvoie un ConcreteElement de ECS

    Les Portlets peuvent interagir avec le service turbine par le biais de l’objet RunData.

    Pour avoir un contrôle total sur la portlet :

  • étendre le classe Portlet

  • Beaucoup de méthodes à implémenter

    Une autre méthode intéressante, valable pour les deux types de portlet, est supportsType(). Elle permet de savoir quel type de document (WML ou HTML) supporte le client.


Jetspeed

JetSpeed

Les fichiers de configuration :

  • Fichiers template

  • Fichiers .xreg

  • Fichiers PSML


Jetspeed fichiers de configuration 1 5

JetSpeedFichiers de configuration (1/5)

Pour configurer le portail :

  • l’interface Web

  • directement dans les fichiers

    Chaque utilisateur, groupe et rôle a ces propres

    fichiers.

    La page d’accueil : compte « anon »


Jetspeed fichiers de configuration 2 5

HAUT

Gauche

BAS

Screen

JetSpeedFichiers de configuration (2/5)

Les fichiers du cadre autour

  • Fichiers templates

  • Dans

    <JETSPEED-HOME>\WEB-INF\templates\vm

  • Screens : propriétés pour le contenu

  • navigations : top.vm, left.vm, bottom.vm

  • Layouts : appel les différentes composantes de navigation


Jetspeed fichiers de configuration 3 5

Portlet

Pane

Portlet

Portlet

Portlet

Portlet

JetSpeedFichiers de configuration (3/5)

Exemple

plusieurs niveaux d’abstraction

  • PortletControl

  • PortletController


Jetspeed fichiers de configuration 4 5

JetSpeedFichiers de configuration (4/5)

Les fichiers .xreg  rendre disponible une portlet

3 sortes d’entrées:

  • instance: doit fournir toutes les informations nécessaires

  • abstract: pas instantiable  portlet template

  • ref: une référence

    • Page HTML

    • Page JSP

    • RSS

    • Base de données


Jetspeed fichiers de configuration 5 5

JetSpeedFichiers de configuration (5/5)

exemple

PSML Portal Structure Markup Language

Fichiers ou base de données.

Un fichier par utilisateur, groupe, rôle.

Ils mémorisent:

  • Les portlets à afficher

  • L’agencement

  • propriétés

    Deux parties :

  • Registry : constitué d’une liste d’entrée (.xreg)

  • Site  5 types d’enregistrement

    • Entry : décrit une portlet (référence)

    • Portlets : décrit un groupe de Portlet (PortletSet)

    • Controller : décrit le portletController associé au PortletSet. Stratégie d’affichage

    • Control : décrit le portletControl associé au portlet. C’est un attribut de Portlets ou Entry

    • Reference : fait référence à un autre fichier PSML.


Jetspeed1

JetSpeed

La Démonstration.

  • L’implémentation

  • Configuration

    • Graphique

    • Manuelle

  • Portlets de JetSpeed


Jetspeed d monstration 1 2

JetSpeedDémonstration (1/2)

Implémentation de quelques portlets :

  • créer une page WEB (HTML)Portlet

  • créer une page WAP (WML)Portlet

  • créer une page WML ou HTMLPortlet

  • récupérer des données par SOAPPortlet

    Utilisation de portlet de JetSpeed :

  • accéder à une page HTML localeutilisation

  • accéder à une page HTML externeutilisation

  • accéder à une base de donnéesutilisation

    Il faut enregistrer les portlets dans un fichier PSML

    (<JETSPEED-HOME>WEB-INF/conf/nom.xrep).


Jetspeed d monstration 2 2

JetSpeedDémonstration (2/2)

Pour que les portlets soit visible  il faut les ajouter dans le fichier de configuration de l’utilisateur dédié à la page d’arrivée du portail.

<JETSPEED-HOME>\WEB-INF\psml\user\anon\html\default.psml.

Cette étape peut être faite par le biais de l’interface.

Exemple :

<entry id="P-ef1547a162-10018“ parent="DatabaseBrowserTest">

<parameter name="sql" value="select * from coffees"/>

<parameter name="windowSize" value="10"/>

</entry>


Jetspeed conclusion

JetSpeedConclusion

JetSpeed assure :

  • La personnalisation

  • L’accès à des ressources variées

  • L’intégration d’applications variées

    Les améliorations attendues :

  • Compléter la documentation.

  • Organiser les fichiers de configuration.


Portails les sources

PortailsLes Sources

  • InfoNewScreen

  • JDNETsolutions

  • Jakarta.apache.org/jetspeed


Jetspeed2

JetSpeed

The End


Jetspeed installation

JetSpeedInstallation

return

  • Installation de tomcat

  • Déplacer jetspeed.war dans <tomcat_home>\webapps\

  • À l’adresse http://localhost:8080/jetspeed/ Créer un nouvel utilisateur.


Jetspeed architecture rss exemple

<?xml version="1.0"?> <!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd"> <rss version="0.91"> <!-- only one channel per RSS file --> <channel> <-- information about your channel --> <title>My News</title> <link>http://www.mynews.net</link> <description>Your source for your news </description> <language>en-us</language> <image> <title>My News</title> <url>http://www.mynews.net/logo.gif</url> <link>http://www.mynews.net</link> <width>88</width> <height>31</height> <description>Your source for your news </description>

JetSpeedArchitecture – RSS - exemple


Jetspeed architecture rss exemple1

</image> <!-- here starts the real news, max. 15 items --> <item> <title>We land on Mars!</title> <link> http://www.mars-lander.org/inthenews.html?id=581

</link> <description>Live report from the Mars space station. Read more about it in this discussion...</description> </item> <item> <title>j-Cars produces a new Java car</title> <link>http://www.j-cars.com/press/29022007/ </link> <description>The latest version of the Java car is now available. It includes security enhancements and various bug fixes.</description> </item>

JetSpeedArchitecture – RSS - exemple


Jetspeed architecture rss exemple2

<!-- you can include a link to a form. It's a basic text field where you can enter text and submit data to a CGI. --> <textinput> <title>Subscribe</title> <description>Subscribe to our mailing list by entering your email</description> <name>email</name> <link> http://www.mynews.net/cgi-bin/subscribe.cgi </link> </textinput> </channel> </rss>

JetSpeedArchitecture – RSS - exemple

return


Jetspeed architecture ocs exemple

<?xml version="1.0"?> <rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ocs = "http://alchemy.openjava.org/ocs/directory#" xmlns:dc = "http://purl.org/metadata/dublin_core#"> <!-- This is information about this channel listing --> <!-- The about attribute points to the directory file, usually the same file as the one being parsed --> <rdf:description about= "http://alchemy.openjava.org/ocs/ocsdirectory.rdf"> <!-- This section contains information about the channel directory listing --> <dc:title>Internet Alchemy OCS Directory </dc:title> <dc:creator>Ian Davis (mailto:[email protected]) </dc:creator> <dc:description>This is a list of channels available at Internet Alchemy</dc:description>

JetSpeedArchitecture – OCS - exemple


Jetspeed architecture ocs exemple1

<!-- This is the first channel available --> <rdf:description about="http://alchemy.openjava.org"> <!-- Information about the channel --> <dc:title>Internet Alchemy</dc:title> <dc:creator>Ian Davis (mailto:[email protected]) </dc:creator> <dc:description>Internet Alchemy is a random collection of elements</dc:description> <dc:subject>Technology, Java, XML, Web Design </dc:subject> <ocs:image> http://alchemy.openjava.org/images/alchemylogo.gif </ocs:image> <!-- This is the first format for this channel --> <!-- Information about the RSS version of Internet Alchemy --> <rdf:description about="http://alchemy.openjava.org/alchemyrss.xml"> <dc:language>en</dc:language> <ocs:format> http://my.netscape.com/rdf/simple/0.9/ </ocs:format> <ocs:updatePeriod>hourly</ocs:updatePeriod> <ocs:updateFrequency>2</ocs:updateFrequency> <ocs:updateBase>1999-05-30T00:00 </ocs:updateBase> </rdf:description>

JetSpeedArchitecture – OCS - exemple


Jetspeed architecture ocs exemple2

<!-- This is the second format for this channel --> <!-- Information about the possible scriptingNews version of Internet Alchemy --> <rdf:description about= "http://alchemy.openjava.org/scriptingnews.xml"> <dc:language>en</dc:language> <ocs:format> http://www.scripting.com/dtd/scriptingNews.dtd </ocs:format> <ocs:updatePeriod>daily</ocs:updatePeriod> <ocs:updateFrequency>1</ocs:updateFrequency> <ocs:updateBase>1999-05-30T00:00 </ocs:updateBase> </rdf:description>

JetSpeedArchitecture – OCS - exemple


Jetspeed architecture ocs exemple3

<!-- This is the third format for this channel --> <!-- Information about a plain text version of Internet Alchemy --> <rdf:description about= "http://alchemy.openjava.org/plain.txt"> <dc:language>en</dc:language> <ocs:contentType>text/plain</ocs:contentType> <ocs:updatePeriod>daily</ocs:updatePeriod> <ocs:updateFrequency>1</ocs:updateFrequency> <ocs:updateBase>1999-05-30T00:00 </ocs:updateBase> </rdf:description> </rdf:description> <!-- This is the second channel available --> <rdf:description about= "http://alchemy.openjava.org/othernews/"> ...</rdf:description> </rdf:description> </rdf:RDF>

JetSpeedArchitecture – OCS - exemple

return


Jetspeed fichiers de configuration exemple de fichier psml

<?xml version="1.0" encoding="UTF-8"?>

<portlets id="01">

<metainfo>

<title>Default Jetspeed page</title>

</metainfo>

<skin name="orange-red-Bordered"/>

<layout position="-1" size="-1"/>

<controller name="ColumnController"/>

<portlets id="02">

<metainfo>

<title>Home</title>

</metainfo>

<layout position="1" size="-1"/>

<controller name="ThreeColumnsSymetric"/>

<entry id="04" parent="SubsetMeetingWorkshop">

<layout position="-1" size="-1">

<property name="column" value="1"/>

<property name="row" value="1"/>

</layout>

</entry>

……

JetSpeedFichiers de configurationexemple de fichier PSML


Jetspeed fichiers de configuration exemple de fichier psml1

</portlets>

</portlets>

<portlet-registry>

<portlet-entry name="ESIPFederationNews" hidden="false" type="ref"

parent="RSS" application="false">

<meta-info>

<title>ESIP Federation News</title>

<description>News for ESIP Federation (XML)</description>

</meta-info>

<classname>org.apache.jetspeed.portal.portlets.NewRSSPortlet

</classname>

<url cachedOnURL="true">http://www.esipfed.org/news/newsfeed.xml

</url>

</portlet-entry>

<portlet-entry>

</portlet-entry>

</portlet-registry>

JetSpeedFichiers de configurationexemple de fichier PSML

return


Jetspeed d monstration portlet html

public class FirstPortlet extends AbstractPortlet {   public ConcreteElement getContent (RunData aRunData) {      Table table = new Table()                       .setBorder(0)                               .addElement(new TR()                                  .addElement(new TD()                                     .addElement(new B()                                       .addElement("I am bold.")))).addElement(new TR()                                  .addElement(new TD()                                     .addElement("I'm the lower table row.")));      return table;   }}

JetSpeedDémonstrationPortlet - HTML


Jetspeed d monstration portlet html1

A ajouter au fichier de configuration xrep dans <JETSPEED-HOME>\WEB-INF\conf

<?xml version="1.0" encoding="UTF-8"?>

<registry>

<portlet-entry name="Portlet1" hidden="false" type="instance" application="false">

<meta-info>

<title>Portlet1</title>

<description>Portlet Example 1</description>

</meta-info>

<classname>Portlet1</classname>

<media-type ref="html"/>

</portlet-entry>

</registry>

JetSpeedDémonstrationPortlet - HTML

return


Jetspeed d monstration portlet wml

JetSpeedDémonstrationPortlet - WML

public class WMLPortlet extends AbstractPortlet {   public ConcreteElement getContent (RunData runData) {      //create an ECS container for our content      ElementContainer container = new ElementContainer();      //show WML code for wireless         org.apache.ecs.wml.P p = new org.apache.ecs.wml.P()                                  .addElement("On wireless");         container.addElement(p);      }      return container;   }}

return


Jetspeed d monstration portlet html et wml

public class WMLPortlet extends AbstractPortlet {   //which MIME types does this portlet support   public boolean supportsType (MimeType clientMimeType) {      if (MimeType.HTML.equals(clientMimeType)) {         return true;      }      if (MimeType.WML.equals(clientMimeType)) {         return true;      }      return false;   }

   public ConcreteElement getContent (RunData runData) {      //create an ECS container for our content      ElementContainer container = new ElementContainer();      //get user's browser info from the Turbine runtime data.CapabilityMap capMap = CapabilityMapFactory.getCapabilityMap (runData);

JetSpeedDémonstrationPortlet – HTML et WML


Jetspeed d monstration portlet html et wml1

//show HTML code for the web      if (capMap.getPreferredType().equals (MimeType.HTML)) {         Table table = new Table()                                 .setBorder(0)                                 .addElement(new TR()                                    .addElement(new TD()                                       .addElement(new B()                                          .addElement("I am bold."))))                                 .addElement(new TR()                                     .addElement(new TD()                                        .addElement("I'm the lower table row.")));         container.addElement(table);      }      //show WML code for wireless      else if (capMap.getPreferredType().equals (MimeType.WML)) {         org.apache.ecs.wml.P p = new org.apache.ecs.wml.P()                                  .addElement("On wireless");         container.addElement(p);      }      return container;   }}

JetSpeedDémonstrationPortlet – HTML et WML

return


Jetspeed d monstration portlet acc s base de donn es

JetSpeedDémonstrationPortlet – accès base de données

return

Table Test dans la base Hypersonic.

On se sert d’une portlet prédéfinit dans JetSpeed  DatabaseBrowserPortlet.

À ajouter dans le fichier xrep

<portlet-entry name="DatabaseBrowserTest" hidden="false" type="ref" parent="DatabaseBrowserPortlet" application="false">

<meta-info>

<title>DatabaseBrowserTest</title>

<description>Simple Test Database Browser Portlet Example</description>

</meta-info>

<parameter name="template" value="database-browser-portlet" hidden="false"/>

<parameter name="customizeTemplate" value="database-browser-customize" hidden="false"/>

<parameter name="action" value="portlets.browser.DatabaseBrowserAction" hidden="false"/>

<parameter name="sql" value="select * from coffees" hidden="false"/>

<parameter name="windowSize" value="5" hidden="false"/>

<media-type ref="html"/>

</portlet-entry>


Jetspeed d monstration portlet soap

JetSpeedDémonstrationPortlet - SOAP

Cela nécessite Apache SOAP 2.2

La portlet récupère sur le site Xmethods.net le prix du livre ayant pour ISBN : 0596000405

import org.apache.ecs.*;import org.apache.ecs.html.*;import org.apache.jetspeed.portal.portlets.AbstractPortlet;import org.apache.turbine.util.RunData;import org.apache.soap.util.xml.*;import org.apache.soap.*;import org.apache.soap.rpc.*;import java.io.*;import java.net.*;import java.util.Vector;public class BookPricePortlet extends AbstractPortlet {


Jetspeed d monstration portlet soap1

public String getPrice(String isbn) {      URL url = null;      try {         url=new URL("http://services.xmethods.com:80/soap/servlet/rpcrouter");      } catch (MalformedURLException mue) {         return mue.getMessage();              }              // This is the main SOAP object      Call soapCall = new Call();      // Use SOAP encoding      soapCall.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);      // This is the remote object we're asking for the price      soapCall.setTargetObjectURI("urn:xmethods-BNPriceCheck");      // This is the name of the method on the above object      soapCall.setMethodName("getPrice");      // We need to send the ISBN number as an input parameter to the method      Vector soapParams = new Vector();      // name, type, value, encoding style      Parameter isbnParam = new Parameter("isbn", String.class, isbn, null);      soapParams.addElement(isbnParam);

JetSpeedDémonstrationPortlet - SOAP


Jetspeed d monstration portlet soap2

soapCall.setParams(soapParams);      try {         // Invoke the remote method on the object         Response soapResponse = soapCall.invoke(url,"");         // Check to see if there is an error, return "N/A"         if (soapResponse.generatedFault()) {            return "N/A";         } else {            // read result            Parameter soapResult = soapResponse.getReturnValue ();            // get a string from the result            return soapResult.getValue().toString();         }      } catch (SOAPException se) {         return se.getMessage();      }   }   public ConcreteElement getContent(RunData runData) {   StringElement price = new StringElement();   price.addElement("Java Servlet Programming: " + getPrice("0596000405"));   return price;

   }}

JetSpeedDémonstrationPortlet - SOAP

return


Jetspeed d monstration html interne

JetSpeedDémonstration HTML interne

<portlet-entry name="pageHTML1" hidden="false" type="ref"

parent="HTML" application="false">

<meta-info>

<title>ma page HTML 1</title>

<description>référence vers la page HTML 1</description>

</meta-info>

<url>/page1.html</url>

</portlet-entry>

return


Jetspeed d monstration html externe

JetSpeedDémonstration HTML externe

<portlet-entry name="Page de tomcat" hidden="false" type="ref"

parent="WebPagePortlet" application="false">

<meta-info>

<title>la page de tomcat</title>

<description>Reference vers la page de

tomcat</description>

</meta-info>

<parameter name="dont_remove_applet" value="yes" hidden="false"/>

<parameter name="dont_remove_script" value="yes" hidden="false"/>

<url>http://localhost:8080/</url>

</portlet-entry>

return


Jetspeed d monstration portlet rss

JetSpeedDémonstration Portlet RSS

<portlet-entry name="Apacheweek" hidden="false« 

type="ref" parent="RSS" application="false">

<meta-info>

<title>Apacheweek</title>

</meta-info>

<url>http://www.apacheweek.com/issues/apacheweek-headlines.xml</url>

</portlet-entry>

return


  • Login