Les portails - PowerPoint PPT Presentation

About This Presentation
Title:

Les portails

Description:

Les portails sont n s du constat que l'information sur l'Internet et les ... JETSPEED-HOME WEB-INFpsmluseranonhtmldefault.psml. Cette tape peut tre faite par ... – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 79
Provided by: Juju5
Category:
Tags: annon | les | portails

less

Transcript and Presenter's Notes

Title: Les portails


1
Les portails
  • 1) Les Portails
  • 2) JetSpeed
  • 3) Démonstration JetSpeed

Julien BURET Arnaud AUNE DESS Informatique Option
SRR
2
Contexte
  • Les portails sont nés du constat que
    linformation sur lInternet et les intranets est
    diffuse et pas du tout structurée.
  • Linternaute est débordé par le nombre doutils
    en tout genre.
  • souhait dune approche plus simple et unifiée.

3
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 daccès unique
  • Organisation des informations accessibles et des
    applications disponibles
  • Personnalisation des services offerts,
    individuelle ou par groupe
  • Contrôle daccès centralisé et gestion des
    utilisateurs

4
Définition générale
  • Un portail, quest ce que cest ?
  • Un portail est un point dentrée sous forme
    dapplication Web regroupant un certains nombres
    de services et de contenues à un ensemble de
    clients.

5
Les Portails
  • Vise à remplacer le bureau.
  • avantages 
  • Ils sont accessibles de nimporte 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.

6
Les principaux portails web
  • Les moteurs ou annuaires de recherche
  • Yahoo!, Voilà,
  • Site des fournisseurs daccè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 dentreprise, site de communauté

7
Différents type de portails Web
  • Portail généraliste ou horizontal
  • 1er types de portail apparu
  • Regroupe le maximum dinformations de tous les
    thèmes sur un seul site.
  • Point dentrée sur le Web
  • Yahoo, Altavista, Site Web des providers (Aol,
    Wanadoo, Free, ).

8
Différents type de portails Web
  • Portail spécialisé ou vertical
  • Portail spécialisé dans un thème donné
  • Portail dentreprise ou inter-entreprise
  • Il regroupe et partage des ressources pour un
    groupe de client ayant un intérêt commun.

9
Les portails horizontaux
  • But
  • Attirer un maximum de client sur le serveur
  • Vendre de lespace 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

10
Les portails horizontaux. Lexemple 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 dadresses

11
Les portails horizontaux. Lexemple Yahoo!
  • Maintenant les principales activités de Yahoo!
    sont lagrégation de contenue
  • Le service de news de Yahoo! regroupe les
    informations publiés par dautres 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!)

12
Exemple yahoo
13
Les portails verticaux
  • Regroupe les sites de communautés et les portails
    dentreprises.
  • Spécialisés dans un domaine unique.

14
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).

15
Portails dentreprise
  • Le but de ces portails est de faciliter et de
    regrouper laccès au différents systèmes
    dinformations dune entreprise.
  • Pour facilité la lecture et la mise à jour par
    les employés.
  • Pour présenter de linformation à des clients ou
    à des partenaires.
  • Beaucoup de produits commerciaux spécifiques
    existent pour créer ces types de portails.

16
Développement de portails
  • Pourquoi un portail
  • Les outils de développements

17
Pourquoi développer un portail dans une entreprise
  • Un utilisateur doit utilisé un grand nombre
    dapplication pour accéder à toutes les
    informations de lentreprise.
  • Multiplicité des formats de données, des IHM,
    informations présentées de façon désordonnées.

18
Pourquoi développer un portail dans une entreprise
  • Le but est quune 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.
    Lutilisateur y accédera dune façon unique, en
    général un navigateur.

19
Apport dun système de portail
  • Un accès simplifié aux informations et aux
    applications intranet
  • Intégration de contenus tiers
  • Constitution despaces de travail et daccès à
    linformation
  • Personnalisation des services
  • Gestion de laccès au différentes données de
    lentreprise (single sign-on)

20
(No Transcript)
21
(No Transcript)
22
Fonctionnalités attendues des différents systèmes
de portails
  • Agrégation de contenu
  • Collecte dinformations 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 lentreprises.
  • Personnalisation des services
  • Adapter laccès aux informations par
    lintermédiaire de profils utilisateurs
  • Accès au contenu
  • Moteur de recherche et indexation 

23
Fonctionnalités attendues des différents systèmes
de portails
  • Information et diffusion du contenu
  • Service de diffusions sélectives dinformations
    ou dalertes
  • 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 dentreprise,
    statistiques, pare-feu

24
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 lentreprise 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.

25
Les différents produits de création de portails
  • 2 types doutils 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

26
Panorama des produits du marché
27
Exemples de portailJETSPEED
return
28
Exemples de portailMediapps Net.Portal
29
Exemples de portailOracle Portal Online
30
Exemples de portailWebsphere
31
Présentation dune infrastructure de portail
JETSPEED
  • Architecture
  • Portlet
  • Les fichiers de configuration
  • Démonstration

32
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
33
JetSpeedArchitecture
  • Globale
  • ESC
  • RSS
  • OSC

34
JetSpeedArchitecture introduction
  • JetSpeed regroupe les projets suivant
  • turbine  un framework permettant de se connecter
    à un base de données et de gérer laffichage, les
    utilisateurs et les sessions.
  • Velocity  traite les fichiers templates.
  • ECS  génère du HTML et XML à partir dobjets
    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.

35
JetSpeedArchitecture globale (1/3)
36
JetSpeed Architecture globale (2/3)
  • Jetspeed
  • ?
  • Portlet API
  • ?
  • Turbine
  • ?
  • JServ/Jakarta
  • ?
  • Apache HTTPD

37
JetSpeed Architecture globale (3/3)
  • Affichage
  • ?
  • PortletController
  • ?
  • Plusieurs PortletControl
  • ?
  • Une portlet par portletControl

38
JetSpeedArchitecture - ESC
  • La portlet utilise des éléments de construction
    (ECS API) en objet java.
  • ECS support WML, HTML
  • open source
  • Lavantage de ECS est quil fait du code propre.
  • ECS est limité à HTML et XML pour linstant.

39
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)

40
JetSpeedArchitecture RSS
exemple
  • RSS Rich Site Summary
  • Le format RSS est basé sur XML
  • Légers, multi but, format d importation/exportati
    on de données, description de métas données
  • Avantages 
  • Permet de rendre disponible des informations pour
    dautres sites
  • Une application personnel peut y accéder

41
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.

42
JetSpeedLes Portlets
  • Les Portlets
  • Définition
  • API

43
JetSpeedPortlet - Définition
  • concept populaire
  • décrit linterface 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 dafficher des
    informations additionnelles sur une portlet

44
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 lobjet 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.

45
JetSpeed
  • Les fichiers de configuration
  • Fichiers template
  • Fichiers .xreg
  • Fichiers PSML

46
JetSpeedFichiers de configuration (1/5)
  • Pour configurer le portail
  • linterface Web
  • directement dans les fichiers
  • Chaque utilisateur, groupe et rôle a ces propres
  • fichiers.
  • La page daccueil compte anon

47
JetSpeedFichiers de configuration (2/5)
  • Les fichiers du cadre autour
  • Fichiers templates
  • Dans
  • ltJETSPEED-HOMEgt\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

48
JetSpeedFichiers de configuration (3/5)
  • Exemple
  • plusieurs niveaux dabstraction
  • PortletControl
  • PortletController

49
JetSpeedFichiers de configuration (4/5)
  • Les fichiers .xreg ? rendre disponible une
    portlet
  • 3 sortes dentré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

50
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
  • Lagencement
  • propriétés
  • Deux parties
  • Registry constitué dune liste dentrée (.xreg)
  • Site ? 5 types denregistrement
  • 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 daffichage
  • Control décrit le portletControl associé au
    portlet. Cest un attribut de Portlets ou Entry
  • Reference fait référence à un autre fichier
    PSML.

51
JetSpeed
  • La Démonstration.
  • Limplémentation
  • Configuration
  • Graphique
  • Manuelle
  • Portlets de JetSpeed

52
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 HTML Portlet
  • récupérer des données par SOAP Portlet
  • Utilisation de portlet de JetSpeed
  • accéder à une page HTML locale utilisation
  • accéder à une page HTML externe utilisation
  • accéder à une base de données utilisation
  • Il faut enregistrer les portlets dans un fichier
    PSML
  • (ltJETSPEED-HOMEgtWEB-INF/conf/nom.xrep).

53
JetSpeedDémonstration (2/2)
  • Pour que les portlets soit visible ? il faut les
    ajouter dans le fichier de configuration de
    lutilisateur dédié à la page darrivée du
    portail.
  • ltJETSPEED-HOMEgt\WEB-INF\psml\user\anon\html\defaul
    t.psml.
  • Cette étape peut être faite par le biais de
    linterface.
  • Exemple 
  • ltentry id"P-ef1547a162-10018 parent"DatabaseBro
    wserTest"gt
  • ltparameter name"sql" value"select from
    coffees"/gt
  • ltparameter name"windowSize" value"10"/gt
  • lt/entrygt

54
JetSpeedConclusion
  • JetSpeed assure
  • La personnalisation
  • Laccès à des ressources variées
  • Lintégration dapplications variées
  • Les améliorations attendues
  • Compléter la documentation.
  • Organiser les fichiers de configuration.

55
PortailsLes Sources
  • InfoNewScreen
  • JDNETsolutions
  • Jakarta.apache.org/jetspeed

56
JetSpeed
  • The End

57
JetSpeedInstallation
return
  • Installation de tomcat
  • Déplacer jetspeed.war dans lttomcat_homegt\webapps\
  • À ladresse http//localhost8080/jetspeed/ Créer
    un nouvel utilisateur.

58
JetSpeedArchitecture RSS - exemple
  • lt?xml version"1.0"?gt lt!DOCTYPE rss PUBLIC
    "-//Netscape Communications//DTD RSS 0.91//EN"
    "http//my.netscape.com/publish/formats/rss-0.91.d
    td"gt ltrss version"0.91"gt lt!-- only one
    channel per RSS file --gt ltchannelgt lt--
    information about your channel --gt lttitlegtMy
    Newslt/titlegt ltlinkgthttp//www.mynews.netlt/link
    gt ltdescriptiongtYour source for your news
    lt/descriptiongt ltlanguagegten-uslt/languagegt
    ltimagegt lttitlegtMy Newslt/titlegt
    lturlgthttp//www.mynews.net/logo.giflt/urlgt
    ltlinkgthttp//www.mynews.netlt/linkgt
    ltwidthgt88lt/widthgt ltheightgt31lt/heightgt
    ltdescriptiongtYour source for your news
    lt/descriptiongt

59
JetSpeedArchitecture RSS - exemple
  • lt/imagegt lt!-- here starts the real news, max.
    15 items --gt ltitemgt lttitlegtWe land on
    Mars!lt/titlegt ltlinkgt
    http//www.mars-lander.org/inthenews.html?id581
  • lt/linkgt ltdescriptiongtLive report
    from the Mars space station. Read more
    about it in this discussion...lt/descriptio
    ngt lt/itemgt ltitemgt lttitlegtj-Cars
    produces a new Java carlt/titlegt
    ltlinkgthttp//www.j-cars.com/press/29022007/
    lt/linkgt ltdescriptiongtThe latest version
    of the Java car is now available.
    It includes security enhancements and
    various bug fixes.lt/descriptiongt lt/itemgt

60
JetSpeedArchitecture RSS - exemple
return
  • lt!-- 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. --gt lttextinputgt
    lttitlegtSubscribelt/titlegt
    ltdescriptiongtSubscribe to our mailing list by
    entering your emaillt/descriptiongt
    ltnamegtemaillt/namegt ltlinkgt
    http//www.mynews.net/cgi-bin/subscribe.cgi
    lt/linkgt lt/textinputgt lt/channelgt lt/rssgt

61
JetSpeedArchitecture OCS - exemple
  • lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf
    "http//www.w3.org/1999/02/22-rdf-syntax-ns
    " xmlnsocs "http//alchemy.openjava.or
    g/ocs/directory" xmlnsdc
    "http//purl.org/metadata/dublin_core"gt
    lt!-- This is information about this
    channel listing --gt lt!-- The about attribute
    points to the directory file,
    usually the same file as the one being
    parsed --gt ltrdfdescription about
    "http//alchemy.openjava.org/ocs/ocsdirectory.rdf"
    gt lt!-- This section contains information
    about the channel directory listing
    --gt ltdctitlegtInternet Alchemy OCS
    Directory lt/dctitlegt
    ltdccreatorgtIan Davis (mailtoiand_at_fdc.co.uk)
    lt/dccreatorgt ltdcdescriptiongtThis is a
    list of channels available at Internet
    Alchemylt/dcdescriptiongt

62
JetSpeedArchitecture OCS - exemple
  • lt!-- This is the first channel available
    --gt ltrdfdescription
    about"http//alchemy.openjava.org"gt lt!--
    Information about the channel --gt
    ltdctitlegtInternet Alchemylt/dctitlegt
    ltdccreatorgtIan Davis (mailtoiand_at_fdc.co.uk)
    lt/dccreatorgt ltdcdescriptiongtInternet
    Alchemy is a random collection of
    elementslt/dcdescriptiongt
    ltdcsubjectgtTechnology, Java, XML, Web Design
    lt/dcsubjectgt ltocsimagegt
    http//alchemy.openjava.org/images/alchemylogo.gif
    lt/ocsimagegt lt!-- This is
    the first format for this channel
    --gt lt!-- Information about the RSS
    version of Internet Alchemy --gt
    ltrdfdescription about"http//alchemy.openjava.o
    rg/alchemyrss.xml"gt ltdclanguagegtenlt/dcl
    anguagegt ltocsformatgt
    http//my.netscape.com/rdf/simple/0.9/
    lt/ocsformatgt ltocsupdatePeriodgthourlylt/o
    csupdatePeriodgt ltocsupdateFrequencygt2lt/
    ocsupdateFrequencygt ltocsupdateBasegt1999
    -05-30T0000 lt/ocsupdateBasegt
    lt/rdfdescriptiongt

63
JetSpeedArchitecture OCS - exemple
  • lt!-- This is the second format for
    this channel --gt lt!-- Information about
    the possible scriptingNews
    version of Internet Alchemy --gt
    ltrdfdescription about "http//alchemy.ope
    njava.org/scriptingnews.xml"gt
    ltdclanguagegtenlt/dclanguagegt
    ltocsformatgt http//www.scripting.com/dtd
    /scriptingNews.dtd lt/ocsformatgt
    ltocsupdatePeriodgtdailylt/ocsupdatePeriodgt
    ltocsupdateFrequencygt1lt/ocsupdateFrequencygt
    ltocsupdateBasegt1999-05-30T0000
    lt/ocsupdateBasegt lt/rdfdescriptiongt

64
JetSpeedArchitecture OCS - exemple
return
  • lt!-- This is the third format for
    this channel --gt lt!-- Information about a
    plain text version of Internet
    Alchemy --gt ltrdfdescription about
    "http//alchemy.openjava.org/plain.txt"gt
    ltdclanguagegtenlt/dclanguagegt
    ltocscontentTypegttext/plainlt/ocscontentTypegt
    ltocsupdatePeriodgtdailylt/ocsupdatePeriodgt
    ltocsupdateFrequencygt1lt/ocsupdateFrequency
    gt ltocsupdateBasegt1999-05-30T0000
    lt/ocsupdateBasegt lt/rdfdescriptiongt
    lt/rdfdescriptiongt lt!-- This is the
    second channel available --gt
    ltrdfdescription about "http//alchemy.ope
    njava.org/othernews/"gt ...
    lt/rdfdescriptiongt lt/rdfdescriptiongt
    lt/rdfRDFgt

65
JetSpeedFichiers de configurationexemple de
fichier PSML
  • lt?xml version"1.0" encoding"UTF-8"?gt
  • ltportlets id"01"gt
  • ltmetainfogt
  • lttitlegtDefault Jetspeed pagelt/titlegt
  • lt/metainfogt
  • ltskin name"orange-red-Bordered"/gt
  • ltlayout position"-1" size"-1"/gt
  • ltcontroller name"ColumnController"/gt
  • ltportlets id"02"gt
  • ltmetainfogt
  • lttitlegtHomelt/titlegt
  • lt/metainfogt
  • ltlayout position"1" size"-1"/gt
  • ltcontroller name"ThreeColumnsSymetric"/gt
  • ltentry id"04" parent"SubsetMeetingWorksh
    op"gt
  • ltlayout position"-1" size"-1"gt
  • ltproperty name"column"
    value"1"/gt
  • ltproperty name"row" value"1"/gt
  • lt/layoutgt

66
JetSpeedFichiers de configurationexemple de
fichier PSML
return
  • lt/portletsgt
  • lt/portletsgt
  • ltportlet-registrygt
  • ltportlet-entry name"ESIPFederationNews"
    hidden"false" type"ref"
  • parent"RSS" application"false"gt
  • ltmeta-infogt
  • lttitlegtESIP Federation Newslt/titlegt
  • ltdescriptiongtNews for ESIP Federation
    (XML)lt/descriptiongt
  • lt/meta-infogt
  • ltclassnamegtorg.apache.jetspeed.portal.portlets
    .NewRSSPortlet
  • lt/classnamegt
  • lturl cachedOnURL"true"gthttp//www.esipfed.org/
    news/newsfeed.xml
  • lt/urlgt
  • lt/portlet-entrygt
  • ltportlet-entrygt
  • lt/portlet-entrygt
  • lt/portlet-registrygt

67
JetSpeedDémonstrationPortlet - 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  

68
JetSpeedDémonstrationPortlet - HTML
  • A ajouter au fichier de configuration xrep dans
    ltJETSPEED-HOMEgt\WEB-INF\conf
  • lt?xml version"1.0" encoding"UTF-8"?gt
  • ltregistrygt
  • ltportlet-entry name"Portlet1" hidden"false"
    type"instance" application"false"gt
  • ltmeta-infogt
  • lttitlegtPortlet1lt/titlegt
  • ltdescriptiongtPortlet Example
    1lt/descriptiongt
  • lt/meta-infogt
  • ltclassnamegtPortlet1lt/classnamegt
  • ltmedia-type ref"html"/gt
  • lt/portlet-entrygt
  • lt/registrygt

return
69
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
70
JetSpeedDémonstrationPortlet 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(client
    MimeType))          return true            r
    eturn 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)

71
JetSpeedDémonstrationPortlet HTML et WML
  •       //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()                                          .add
    Element("I am bold."))))                         
            .addElement(new TR()                     
                    .addElement(new
    TD()                                        .addE
    lement("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  

return
72
JetSpeedDémonstrationPortlet accès base de
données
return
  • Table Test dans la base Hypersonic.
  • On se sert dune portlet prédéfinit dans JetSpeed
    ? DatabaseBrowserPortlet.
  • À ajouter dans le fichier xrep
  • ltportlet-entry name"DatabaseBrowserTest"
    hidden"false" type"ref"
    parent"DatabaseBrowserPortlet"
    application"false"gt
  • ltmeta-infogt
  • lttitlegtDatabaseBrowserTestlt/titlegt
  • ltdescriptiongtSimple Test Database Browser
    Portlet Examplelt/descriptiongt
  • lt/meta-infogt
  • ltparameter name"template" value"database-brows
    er-portlet" hidden"false"/gt
  • ltparameter name"customizeTemplate"
    value"database-browser-customize"
    hidden"false"/gt
  • ltparameter name"action"
    value"portlets.browser.DatabaseBrowserAction"
    hidden"false"/gt
  • ltparameter name"sql" value"select from
    coffees" hidden"false"/gt
  • ltparameter name"windowSize" value"5"
    hidden"false"/gt
  • ltmedia-type ref"html"/gt
  • lt/portlet-entrygt

73
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.AbstractPortletimport
    org.apache.turbine.util.RunDataimport
    org.apache.soap.util.xml.import
    org.apache.soap.import org.apache.soap.rpc.
    import java.io.import java.net.import
    java.util.Vectorpublic class BookPricePortlet
    extends AbstractPortlet

74
JetSpeedDémonstrationPortlet - SOAP
  •    public String getPrice(String isbn)
          URL url null      try         
    urlnew URL("http//services.xmethods.com80/soap/
    servlet/rpcrouter")       catch
    (MalformedURLException mue)          return
    mue.getMessage()                            /
    / This is the main SOAP object      Call
    soapCall new Call()      // Use SOAP
    encoding      soapCall.setEncodingStyleURI(Consta
    nts.NS_URI_SOAP_ENC)      // This is the
    remote object we're asking for the
    price      soapCall.setTargetObjectURI("urnxmeth
    ods-BNPriceCheck")      // This is the name of
    the method on the above object      soapCall.setM
    ethodName("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)

75
JetSpeedDémonstrationPortlet - SOAP
return
  •      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            Paramete
    r soapResult soapResponse.getReturnValue
    ()            // get a string from the
    result            return soapResult.getValue().to
    String()                catch (SOAPException
    se)          return se.getMessage()        
       public ConcreteElement getContent(RunData
    runData)    StringElement price new
    StringElement()   price.addElement("Java
    Servlet Programming " getPrice("0596000405"))
       return price
  •   

76
JetSpeedDémonstration HTML interne
  • ltportlet-entry name"pageHTML1" hidden"false"
    type"ref"
  • parent"HTML" application"false"gt
  • ltmeta-infogt
  • lttitlegtma page HTML 1lt/titlegt
  • ltdescriptiongtréférence vers la page HTML
    1lt/descriptiongt
  • lt/meta-infogt
  • lturlgt/page1.htmllt/urlgt
  • lt/portlet-entrygt

return
77
JetSpeedDémonstration HTML externe
  • ltportlet-entry name"Page de tomcat"
    hidden"false" type"ref"
  • parent"WebPagePortlet" application"false"gt
  • ltmeta-infogt
  • lttitlegtla page de tomcatlt/titlegt
  • ltdescriptiongtReference vers la page de
  • tomcatlt/descriptiongt
  • lt/meta-infogt
  • ltparameter name"dont_remove_applet"
    value"yes" hidden"false"/gt
  • ltparameter name"dont_remove_script"
    value"yes" hidden"false"/gt
  • lturlgthttp//localhost8080/lt/urlgt
  • lt/portlet-entrygt

return
78
JetSpeedDémonstration Portlet RSS
  • ltportlet-entry name"Apacheweek" hidden"false 
  • type"ref" parent"RSS" application"false"gt
  • ltmeta-infogt
  • lttitlegtApacheweeklt/titlegt
  • lt/meta-infogt
  • lturlgthttp//www.apacheweek.com/issues/apacheweek-
    headlines.xmllt/urlgt
  • lt/portlet-entrygt

return
Write a Comment
User Comments (0)
About PowerShow.com