Port Ails Web
Transcript of Port Ails Web
-
8/6/2019 Port Ails Web
1/78
Les portails1) Les Portails
2) JetSpeed3) Dmonstration JetSpeed
Julien BURET
Arnaud AUNE
DESS Informatique Option SRR
-
8/6/2019 Port Ails Web
2/78
Contexte Les portails sont ns du constat que
linformation sur lInternet et les
intranets est diffuse et pas du toutstructure. Linternaute est dbord par le nombre
doutils en tout genre. souhait dune approche plus simple etunifie.
-
8/6/2019 Port Ails Web
3/78
Contexte Visent regrouper sous un accs unique
Un espace informationnel de recherche
Un espace communautaire de partage Un espace personnalis de services
Caractristiques : Point daccs unique Organisation des informations accessibles et des applications
disponibles Personnalisation des services offerts, individuelle ou par
groupe Contrle daccs centralis et gestion des utilisateurs
-
8/6/2019 Port Ails Web
4/78
Dfinition gnrale Un portail, quest ce que cest ?
Un portail est un point dentre sous formedapplication Web regroupant un certainsnombres de services et de contenues unensemble de clients.
-
8/6/2019 Port Ails Web
5/78
Les PortailsVise remplacer le bureau.avantages :
Ils sont accessibles de nimporte quel poste Ils sont personnaliss Les services augmentent : calendrier, agenda, rpertoire en ligne,
traitement de texte, un tableur
Des obstacles restent surmonter: les temps de chargement les cots de connexion la largeur de la bande passante
Selon un responsable de Netcenter (Netscape) les bureauxreprsenteraient lvolution naturelle des portails.
-
8/6/2019 Port Ails Web
6/78
Les principaux portails web Les moteurs ou annuaires de recherche
Yahoo!, Voil,
Site des fournisseurs daccs 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 spcialis ou priv Portail dentreprise, site de communaut
-
8/6/2019 Port Ails Web
7/78
Diffrents type de portails
Web Portail gnraliste ou horizontal
1er types de portail apparu Regroupe le maximum dinformations de
tous les thmes sur un seul site. Point dentre sur le WebYahoo, Altavista, Site Web des providers
(Aol, Wanadoo, Free, ).
-
8/6/2019 Port Ails Web
8/78
Diffrents type de portails
Web Portail spcialis ou vertical
Portail spcialis dans un thme donn Portail dentreprise ou inter-entreprise Il regroupe et partage des ressources pour
un groupe de client ayant un intrt
commun.
-
8/6/2019 Port Ails Web
9/78
Les portails horizontaux But
Attirer un maximum de client sur le serveur
Vendre de lespace aux annonceurs (Estimation2000 : 8 Milliards de dollars). Prendre des commissions sur des transactions Vendre des services amliors aux clients (boite
aux lettres plus grande avec plus defonctionnalits).
Moyen mis en uvre Fournir et ordonner du contenu et des services
pour attirer un maximum de clients
-
8/6/2019 Port Ails Web
10/78
Les portails horizontaux.
Lexemple Yahoo!Au dbut un annuaire de sites classs
par thmes. Dans le but de garder les clients aprs
la consultation des annuaires crationde services comme les calendriers, les
carnets dadresses
-
8/6/2019 Port Ails Web
11/78
Les portails horizontaux.
Lexemple Yahoo! Maintenant les principales activits de Yahoo! sont
lagrgation de contenue : Le service de news de Yahoo! regroupe les informations
publis par dautres site et les classes Le service de mail Yahoo! Messager Jeux en ligne Chat Page personnalise un utilisateur Boutique Services de plus en plus volus comme la personnalisation
de page (MyYahoo!)
-
8/6/2019 Port Ails Web
12/78
Exemple yahoo
-
8/6/2019 Port Ails Web
13/78
Les portails verticaux Regroupe les sites de communauts et
les portails dentreprises. Spcialiss dans un domaine unique.
-
8/6/2019 Port Ails Web
14/78
Sites de communauts Le but est proche des portails
horizontaux. Ils cherchent crer unannuaire de personnes intresses parun mme thme (permet des annoncesbeaucoup plus cibles).
-
8/6/2019 Port Ails Web
15/78
Portails dentreprise Le but de ces portails est de faciliter et de
regrouper laccs au diffrents systmes
dinformations dune entreprise. Pour facilit la lecture et la mise jour par les
employs. Pour prsenter de linformation des clients ou
des partenaires. Beaucoup de produits commerciaux
spcifiques existent pour crer ces types deportails.
-
8/6/2019 Port Ails Web
16/78
Dveloppement de portails
Pourquoi un portail
Les outils de dveloppements
-
8/6/2019 Port Ails Web
17/78
Pourquoi dvelopper un portail
dans une entreprise Un utilisateur doit utilis
un grand nombre
dapplication pouraccder toutes lesinformations delentreprise.
Multiplicit des formats
de donnes, des IHM,informations prsentesde faon dsordonnes.
-
8/6/2019 Port Ails Web
18/78
Pourquoi dvelopper un portail
dans une entreprise Le but est quune
application interroge
elle-mme lesapplications, puistraitent les donnespour les prsentes defaon ordonne et
unifie. Lutilisateur yaccdera dune faonunique, en gnral unnavigateur.
-
8/6/2019 Port Ails Web
19/78
Apport dun systme de portail Un accs simplifi aux informations et
aux applications intranet Intgration de contenus tiers Constitution despaces de travail et
daccs linformation Personnalisation des services Gestion de laccs au diffrentes
donnes de lentreprise (single sign-on)
-
8/6/2019 Port Ails Web
20/78
-
8/6/2019 Port Ails Web
21/78
-
8/6/2019 Port Ails Web
22/78
Fonctionnalits attendues des
diffrents systmes de portails Agrgation de contenu
Collecte dinformations sur des sources internes ouexternes, puis prsentation de ces donnes defaon unifie.
Organisation de contenu Classement des donnes de lentreprises.
Personnalisation des services
Adapter laccs aux informations parlintermdiaire de profils utilisateurs Accs au contenu
Moteur de recherche et indexation
-
8/6/2019 Port Ails Web
23/78
Fonctionnalits attendues des
diffrents systmes de portails Information et diffusion du contenu
Service de diffusions slectives dinformations ou dalertes
Communication et travail collaboratif Mail, forum, agenda partag, diteur de documents
collaboratifs
Services valeur ajout Synthse de documents volus (analyse smantique),
traduction automatique
Administration et scurit Contrles des accs, annuaire dentreprise, statistiques,
pare-feu
-
8/6/2019 Port Ails Web
24/78
Fonctionnalits attendues des
diffrents systmes de portails Les diffrents produits fournissent un ou
plusieurs de ces services. Avant de choisir un produit il faut avoir bien
cern les besoins de lentreprise choisir unproduit en fonction de ses priorits. Peu deproduits fournissent tous types de services.Ou alors on peut utiliser des produits plusgnraux qui ncessiteront le dveloppementdes diffrents services.
-
8/6/2019 Port Ails Web
25/78
Les diffrents produits de
cration de portails 2 types doutils de cration de portails.
Des infrastructures de portails. Ellesfournissent les outils de bases la crationde tout types de portails.
Des portails beaucoup plus spcifique
souvent trs spcialiss dans un domaine
-
8/6/2019 Port Ails Web
26/78
Panorama des produits du
march
-
8/6/2019 Port Ails Web
27/78
Exemples de portail
JETSPEEDreturn
-
8/6/2019 Port Ails Web
28/78
Exemples de portail
Mediapps Net.Portal
-
8/6/2019 Port Ails Web
29/78
Exemples de portail
Oracle Portal Online
-
8/6/2019 Port Ails Web
30/78
Exemples de portail
Websphere
-
8/6/2019 Port Ails Web
31/78
Prsentation dune infrastructure
de portail : JETSPEED
Architecture Portlet Les fichiers de configuration
Dmonstration
-
8/6/2019 Port Ails Web
32/78
JetSpeed
IntroductionJetSpeed : Open source Conu pour crer un portail rapidement Rend accessible les ressources distantes Accessible par le WEB et le WAP JAVA PORTLET API Scurit Utilisateur, groupe, rle Single Sign On une base de donnes interne : Hypersonic-SQL
Services dj implments : Cache Persistance Personnalisation Authentification
installation
-
8/6/2019 Port Ails Web
33/78
JetSpeed
Architecture Globale ESC RSS OSC
-
8/6/2019 Port Ails Web
34/78
JetSpeed
Architecture introductionJetSpeed regroupe les projets suivant : turbine : un framework permettant de se connecter un base de
donnes et de grer laffichage, les utilisateurs et les sessions. Velocity : traite les fichiers templates. ECS : gnre du HTML et XML partir dobjets JAVA.
On peut se servir aussi des projets suivants : cocoon : permet de gnrer 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 donnes partir desites distants.
-
8/6/2019 Port Ails Web
35/78
JetSpeed
Architecture globale (1/3)
-
8/6/2019 Port Ails Web
36/78
JetSpeed
Architecture globale (2/3)Jetspeed
Portlet APITurbine
JServ/JakartaApache HTTPD
-
8/6/2019 Port Ails Web
37/78
JetSpeed
Architecture globale (3/3)Affichage
PortletController
Plusieurs PortletC
ontrolUne portlet par portletControl
-
8/6/2019 Port Ails Web
38/78
JetSpeed
Architecture - ESC La portlet utilise des lments 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.
-
8/6/2019 Port Ails Web
39/78
JetSpeed
Architecture ESC exempleHtml 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 directlyoutput(out);
-
8/6/2019 Port Ails Web
40/78
JetSpeed
Architecture RSS RSS Rich Site Summary Le format RSS est bas sur XML Lgers, multi but, format dimportation/exportation de donnes,
description de mtas donnes
Avantages : Permet de rendre disponible des informations
pour dautres sites Une application personnel peut y accder
exemple
-
8/6/2019 Port Ails Web
41/78
JetSpeed
Architecture OCS OCS Open Content Syndication Le format OCS est bas sur XML Multi cannaux aux formats diffrents Il peut aussi utiliser RDF (Resource
Description Framework) et DC (Dublin Core).
Langages permettant lchanger desdescriptions de ressources sur le Web. xmltree.com. plus de 1700 canaux.
exemple
-
8/6/2019 Port Ails Web
42/78
JetSpeed
Les Portlets
Les Portlets : DfinitionAPI
-
8/6/2019 Port Ails Web
43/78
JetSpeed
Portlet - Dfinition concept populaire dcrit linterface utilisateur ayant la capacit dtre
personnalise met disposition du contenu, donne accs une application ou
un service
Jetspeed inclut quelques portlets : RSSPortletpermet de voir les documents au format RDF FileServerPortletpermet de mettre disposition des pages HTML
CocoonPortletpermet de transformer du XML via XSL PortletViewerPortletpermet dafficher des informations additionnelles sur
une portlet
-
8/6/2019 Port Ails Web
44/78
JetSpeed
Portlet - APIPour avoir une portlet fonctionnelle : tendre la classe AbstractPortlet implmenter la mthode getContent(RunData aRunData) Renvoie un ConcreteElement de ECS
Les Portlets peuvent interagir avec le service turbine par le biais de lobjetRunData.
Pour avoir un contrle total sur la portlet : tendre le classe Portlet Beaucoup de mthodes implmenter
Une autre mthode intressante, valable pour les deux types de portlet,est supportsType(). Elle permet de savoir quel type de document (WMLou HTML) supporte le client.
-
8/6/2019 Port Ails Web
45/78
JetSpeed
Les fichiers de configuration : Fichiers template Fichiers .xreg Fichiers PSML
-
8/6/2019 Port Ails Web
46/78
JetSpeed
Fichiers de configuration (1/5)Pour configurer le portail : linterface Web directement dans les fichiers
Chaque utilisateur, groupe et rle a ces propres
fichiers.
La page daccueil : compte anon
-
8/6/2019 Port Ails Web
47/78
JetSpeed
Fichiers de configuration (2/5)Les fichiers du cadre autour Fichiers templates Dans\WEB-
INF\templates\vm
Screens : proprits pour le contenu navigations : top.vm, left.vm,
bottom.vm Layouts : appel les diffrentes
composantes de navigation
HAUT
Gauche
BAS
Screen
-
8/6/2019 Port Ails Web
48/78
JetSpeed
Fichiers de configuration (3/5)Exemple
plusieurs niveaux dabstraction
PortletControl
PortletController
Portlet
Pane
Portlet Portlet
Portlet Portlet
-
8/6/2019 Port Ails Web
49/78
JetSpeed
Fichiers de configuration (4/5)Les fichiers .xreg rendre disponible une portlet
3 sortes dentres: instance : doit fournir toutes les informations ncessaires abstract : pas instantiable portlet template ref : une rfrence
Page HTML Page JSP
RSS Base de donnes
-
8/6/2019 Port Ails Web
50/78
JetSpeed
Fichiers de configuration (5/5)PSML Portal Structure Markup Language
Fichiers ou base de donnes.Un fichier par utilisateur, groupe, rle.
Ils mmorisent: Les portlets afficher Lagencement proprits
Deux parties : Registry : constitu dune liste dentre (.xreg) Site 5 types denregistrement
Entry : dcrit une portlet (rfrence) Portlets : dcrit un groupe de Portlet (PortletSet) Controller : dcrit le portletController associ au PortletSet. Stratgie daffichage Control : dcrit le portletControl associ au portlet. Cest un attribut de Portlets ou Entry Reference : fait rfrence un autre fichier PSML.
exemple
-
8/6/2019 Port Ails Web
51/78
JetSpeed
La Dmonstration.LimplmentationConfiguration
o Graphique
o ManuellePortlets de JetSpeed
-
8/6/2019 Port Ails Web
52/78
JetSpeed
Dmonstration (1/2)Implmentation de quelques portlets : crer une page WEB (HTML) Portlet crer une page WAP (WML) Portlet crer une page WML ou HTML Portlet rcuprer des donnes par SOAP Portlet
Utilisation de portlet de JetSpeed : accder une page HTML locale utilisation accder une page HTML externe utilisation accder une base de donnes utilisation
Il faut enregistrer les portlets dans un fichier PSML(WEB-INF/conf/nom.xrep).
-
8/6/2019 Port Ails Web
53/78
JetSpeed
Dmonstration (2/2)Pour que les portlets soit visible il faut les ajouter dans le fichier
de configuration de lutilisateur ddi la page darrive duportail.
\WEB-INF\psml\user\anon\html\default.psml.
Cette tape peut tre faite par le biais de linterface.
Exemple :
-
8/6/2019 Port Ails Web
54/78
JetSpeed
ConclusionJetSpeed assure : La personnalisation Laccs des ressources varies Lintgration dapplications varies
Les amliorations attendues : Complter la documentation. Organiser les fichiers de configuration.
-
8/6/2019 Port Ails Web
55/78
Portails
Les Sources InfoNewScreen JDNETsolutions Jakarta.apache.org/jetspeed
-
8/6/2019 Port Ails Web
56/78
JetSpeed
The End
-
8/6/2019 Port Ails Web
57/78
JetSpeed
Installation Installation de tomcat Dplacer jetspeed.war dans
\webapps\ ladresse
http://localhost:8080/jetspeed/ Crer
un nouvel utilisateur.
return
-
8/6/2019 Port Ails Web
58/78
JetSpeed
Architecture RSS - exemple
My Newshttp://www.mynews.netYour source for your newsen-usMy News
http://www.mynews.net/logo.gifhttp://www.mynews.net8831Your source for your news
-
8/6/2019 Port Ails Web
59/78
JetSpeed
Architecture RSS - exemple
We land on Mars!
http://www.mars-lander.org/inthenews.html?id=581
Live report from the Marsspace station. Read more about it inthis discussion...
j-Cars produces a new Java carhttp://www.j-cars.com/press/29022007/The latest version of the
Java car is now available.It includes security enhancements andvarious bug fixes.
-
8/6/2019 Port Ails Web
60/78
JetSpeed
Architecture RSS - exempleSubscribeSubscribe to our mailing list by
entering your emailemailhttp://www.mynews.net/cgi-bin/subscribe.cgi
return
-
8/6/2019 Port Ails Web
61/78
JetSpeed
Architecture OC
S - exemple
Internet Alchemy OCS DirectoryIan Davis (mailto:[email protected])This is a list of channelsavailable at Internet Alchemy
-
8/6/2019 Port Ails Web
62/78
JetSpeed
Architecture OC
S - exempleInternet AlchemyIan Davis (mailto:[email protected])Internet Alchemy is a randomcollection of elementsTechnology, Java, XML, Web Design
http://alchemy.openjava.org/images/alchemylogo.gif
enhttp://my.netscape.com/rdf/simple/0.9/hourly21999-05-30T00:00
-
8/6/2019 Port Ails Web
63/78
JetSpeed
Architecture OC
S - exemple
enhttp://www.scripting.com/dtd/scriptingNews.dtddaily11999-05-30T00:00
-
8/6/2019 Port Ails Web
64/78
JetSpeed
Architecture OC
S - exemple
entext/plaindaily11999-05-30T00:00
...
return
J tS d
-
8/6/2019 Port Ails Web
65/78
JetSpeedFichiers de configuration
exemple de fichier PSMLDefault Jetspeed page
Home
J tS d
-
8/6/2019 Port Ails Web
66/78
JetSpeedFichiers de configuration
exemple de fichier PSML
ESIP Federation NewsNews for ESIP Federation (XML)
org.apache.jetspeed.portal.portlets.NewRSSPortlethttp://www.esipfed.org/news/newsfeed.xml
return
JetSpeed
-
8/6/2019 Port Ails Web
67/78
JetSpeedDmonstration
Portlet - HTMLpublic 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;}
}
JetSpeed
-
8/6/2019 Port Ails Web
68/78
JetSpeedDmonstration
Portlet - HTMLA ajouter au fichier de configuration xrep dans \WEB-INF\conf
Portlet1Portlet Example 1
Portlet1
return
JetSpeed
-
8/6/2019 Port Ails Web
69/78
JetSpeedDmonstration
Portlet - WMLpublic class WMLPortlet extends AbstractPortlet {
public ConcreteElement getContent (RunData runData) {
//create anECS container for ourcontentElementContainer container = new ElementContainer();
//show WML code forwirelessorg.apache.ecs.wml.P p = new org.apache.ecs.wml.P()
.addElement("Onwireless");
container.addElement(p);}
returncontainer;}
} return
JetSpeed
-
8/6/2019 Port Ails Web
70/78
JetSpeedDmonstration
Portlet HTML et WMLpublicclassWMLPortletextendsAbstractPortlet{
//which MIMEtypesdoesthisportletsupportpublicbooleansupportsType (MimeType clientMimeType) {
if(MimeType.HTML.equals(clientMimeType)) {returntrue;
}if(MimeType.WML.equals(clientMimeType)) {
returntrue;}returnfalse;
}
publicConcreteElementgetContent(RunDatarunData) {
//cr
eat
ean
E
CScontain
erfor
our
cont
entElementContainercontainer= new ElementContainer();
//getuser'sbrowserinfofromthe Turbine runtime data.CapabilityMapcapMap = CapabilityMapFactory.getCapabilityMap(runData);
JetSpeed
-
8/6/2019 Port Ails Web
71/78
JetSpeedDmonstration
Portlet HTML et WML//show HTMLcode forthe web
if(capMap.getPreferredType().equals(MimeType.HTML)) {
Table table = newTable().setBorder(0).addElement(newTR()
.addElement(newTD().addElement(newB()
.addElement("Iam bold.")))).addElement(newTR()
.addElement(newTD().addElement("I'mthe lowertable row.")));
container.addElement(table);}//show WMLcode forwirelesselse if(capMap.getPreferredType().equals(MimeType.WML)) {
org.apache.ecs.wml.Pp = neworg.apache.ecs.wml.P()
.addElement("Onwireless");
container.addElement(p);}
returncontainer;}
}return
JetSpeed
-
8/6/2019 Port Ails Web
72/78
JetSpeedDmonstration
Portlet accs base de donnesTable Test dans la base Hypersonic.
On se sert dune portlet prdfinit dans JetSpeed DatabaseBrowserPortlet. ajouter dans le fichier xrep
DatabaseBrowserTestSimple Test Database Browser Portlet Example
return
JetSpeed
-
8/6/2019 Port Ails Web
73/78
JetSpeedDmonstration
Portlet - SOAPCelancessite Apache SOAP2.2Laportletrcupre surle site Xmethods.netle prix dulivre ayantpourISBN :
0596000405
importorg.apache.ecs.*;importorg.apache.ecs.html.*;
importorg.apache.jetspeed.portal.portlets.AbstractPortlet;importorg.apache.turbine.util.RunData;
importorg.apache.soap.util.xml.*;importorg.apache.soap.*;importorg.apache.soap.rpc.*;
importjava.io.*;importjava.net.*;importjava.util.Vector;
publicclassBookPricePortlet extendsAbstractPortlet {
JetSpeed
-
8/6/2019 Port Ails Web
74/78
JetSpeedDmonstration
Portlet - SOAPpublicStringgetPrice(Stringisbn) {
URLurl= null;
try{url=new URL("http://services.xmethods.com:80/soap/servlet/rpcrouter");
}catch(MalformedURLExceptionmue) {
returnmue.getMessage();}
// Thisisthe mainSOAPobjectCallsoapCall=new Call();
// Use SOAPencodingsoapCall.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
// Thisisthe remote objectwe're askingforthe price
soapCall.setTargetObjectURI("urn:xmethods-BNPriceCheck");
// Thisisthe name ofthe methodonthe above objectsoapCall.setMethodName("getPrice");
// We needtosendthe ISBNnumberasaninputparametertothe methodVectorsoapParams=new Vector();
// name, type, value, encodingstyleParameterisbnParam=newParameter("isbn",String.class,isbn,null);
soapParams.addElement(isbnParam);
JetSpeed
-
8/6/2019 Port Ails Web
75/78
JetSpeedDmonstration
Portlet - SOAPsoapCall.setParams(soapParams);
try{
// Invoke the remote methodonthe objectResponse soapResponse =soapCall.invoke(url,"");
// Checktosee ifthere isanerror,return"N/A"if(soapResponse.generatedFault()) {
return"N/A";
} else {
// readresultParametersoapResult=soapResponse.getReturnValue ();
// getastringfromthe resultreturnsoapResult.getValue().toString();
}
}catch(SOAPExceptionse) {
returnse.getMessage();}
}
publicConcreteElementgetContent(RunDatarunData) {
StringElementprice =newStringElement();price.addElement("JavaServletProgramming:"+ getPrice("0596000405"));returnprice;
}
return
-
8/6/2019 Port Ails Web
76/78
JetSpeed
Dmonstration HTML interne
ma page HTML 1
rfrence vers la page HTML 1
/page1.html
return
d
-
8/6/2019 Port Ails Web
77/78
JetSpeed
Dmonstration HTML externe
la page de tomcat
Reference vers la page de
tomcat
http://localhost:8080/
return
S d
-
8/6/2019 Port Ails Web
78/78
JetSpeed
Dmonstration Portlet RSS