La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les portails 1) Les Portails 2) JetSpeed 3) Démonstration JetSpeed Julien BURET Arnaud AUNE DESS Informatique Option SRR.

Présentations similaires


Présentation au sujet: "Les portails 1) Les Portails 2) JetSpeed 3) Démonstration JetSpeed Julien BURET Arnaud AUNE DESS Informatique Option SRR."— Transcription de la présentation:

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

21

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 portail JETSPEED return

28 Exemples de portail Mediapps Net.Portal

29 Exemples de portail Oracle Portal Online

30 Exemples de portail Websphere

31 Présentation dune infrastructure de portail : JETSPEED Architecture Portlet Les fichiers de configuration Démonstration

32 JetSpeed Introduction 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 JetSpeed Architecture Globale ESC RSS OSC

34 JetSpeed Architecture – 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 JetSpeed Architecture – 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 JetSpeed Architecture - 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 JetSpeed Architecture – 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 JetSpeed Architecture – RSS 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 dautres sites Une application personnel peut y accéder exemple

41 JetSpeed Architecture – OCS 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. exemple

42 JetSpeed Les Portlets Les Portlets : Définition API

43 JetSpeed Portlet - 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 JetSpeed Portlet - 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 JetSpeed Fichiers 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 JetSpeed Fichiers de configuration (2/5) Les fichiers du cadre autour Fichiers templates Dans \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 HAUT Gauche BAS Screen

48 JetSpeed Fichiers de configuration (3/5) Exemple plusieurs niveaux dabstraction PortletControl PortletController Portlet Pane Portlet

49 JetSpeed Fichiers 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

50 JetSpeed Fichiers de configuration (5/5) 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. exemple

51 JetSpeed La Démonstration. Limplémentation Configuration oGraphique oManuelle Portlets de JetSpeed

52 JetSpeed Démonstration (1/2) Implémentation de quelques portlets : créer une page WEB (HTML)PortletPortlet créer une page WAP (WML)PortletPortlet créer une page WML ou HTMLPortletPortlet récupérer des données par SOAPPortletPortlet Utilisation de portlet de JetSpeed : accéder à une page HTML localeutilisationutilisation accéder à une page HTML externeutilisationutilisation accéder à une base de donnéesutilisationutilisation Il faut enregistrer les portlets dans un fichier PSML ( WEB-INF/conf/nom.xrep).

53 JetSpeed Dé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. \WEB-INF\psml\user\anon\html\default.psml. Cette étape peut être faite par le biais de linterface. Exemple :

54 JetSpeed Conclusion 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 Portails Les Sources InfoNewScreen JDNETsolutions Jakarta.apache.org/jetspeed

56 JetSpeed The End

57 JetSpeed Installation Installation de tomcat Déplacer jetspeed.war dans \webapps\ À ladresse Créer un nouvel utilisateur. return

58 JetSpeed Architecture – RSS - exemple My News Your source for your news en-us My News Your source for your news

59 JetSpeed Architecture – RSS - exemple We land on Mars! Live report from the Mars space station. Read more about it in this discussion... j-Cars produces a new Java car The latest version of the Java car is now available. It includes security enhancements and various bug fixes.

60 JetSpeed Architecture – RSS - exemple Subscribe Subscribe to our mailing list by entering your return

61 JetSpeed Architecture – OCS - exemple Internet Alchemy OCS Directory Ian Davis This is a list of channels available at Internet Alchemy

62 JetSpeed Architecture – OCS - exemple Internet Alchemy Ian Davis Internet Alchemy is a random collection of elements Technology, Java, XML, Web Design en hourly T00:00

63 JetSpeed Architecture – OCS - exemple en daily T00:00

64 JetSpeed Architecture – OCS - exemple en text/plain daily T00:00... return

65 JetSpeed Fichiers de configuration exemple de fichier PSML Default Jetspeed page Home ……

66 JetSpeed Fichiers de configuration exemple de fichier PSML

67 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; } }

68 JetSpeed Démonstration Portlet - HTML A ajouter au fichier de configuration xrep dans \WEB-INF\conf Portlet1 Portlet Example 1 Portlet1 return

69 JetSpeed Démonstration Portlet - 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 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);

71 JetSpeed Démonstration Portlet – 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().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; } } return

72 JetSpeed Démonstration Portlet – accès base de données Table Test dans la base Hypersonic. On se sert dune portlet prédéfinit dans JetSpeed DatabaseBrowserPortlet. À ajouter dans le fichier xrep DatabaseBrowserTest Simple Test Database Browser Portlet Example return

73 JetSpeed Démonstration Portlet - 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 : 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 {

74 JetSpeed Démonstration Portlet - SOAP 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);

75 JetSpeed Démonstration Portlet - SOAP 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(" ")); return price; } } return

76 JetSpeed Démonstration HTML interne

77 JetSpeed Démonstration HTML externe

78 JetSpeed Démonstration Portlet RSS


Télécharger ppt "Les portails 1) Les Portails 2) JetSpeed 3) Démonstration JetSpeed Julien BURET Arnaud AUNE DESS Informatique Option SRR."

Présentations similaires


Annonces Google