{"id":494,"date":"2010-11-23T12:06:32","date_gmt":"2010-11-23T11:06:32","guid":{"rendered":"http:\/\/www.alpesjug.fr\/?p=494"},"modified":"2010-11-24T11:15:20","modified_gmt":"2010-11-24T10:15:20","slug":"compte-rendu-de-la-soiree-application-composites","status":"publish","type":"post","link":"https:\/\/www.alpesjug.fr\/?p=494","title":{"rendered":"Compte rendu de la soir\u00e9e Applications Composites"},"content":{"rendered":"<p>Serge Huber et Tarek Elachkar de la soci\u00e9t\u00e9 <a href=\"http:\/\/www.jahia.org\/\">Jahia <\/a>nous ont pr\u00e9sent\u00e9 hier le concept d&rsquo;applications composites.<\/p>\n<div id=\"__ss_5874395\" style=\"width: 425px;\"><strong style=\"display: block; margin: 12px 0 4px;\"><a title=\"Portlets to composite applications\" href=\"http:\/\/www.slideshare.net\/sergehuber\/portets-to-composite-applications\">Portlets to composite applications<\/a><\/strong><object id=\"__sse5874395\" classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" width=\"425\" height=\"355\" codebase=\"http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=6,0,40,0\"><param name=\"allowFullScreen\" value=\"true\" \/><param name=\"allowScriptAccess\" value=\"always\" \/><param name=\"src\" value=\"http:\/\/static.slidesharecdn.com\/swf\/ssplayer2.swf?doc=portetstocompositeapps-final-101123074852-phpapp02&amp;stripped_title=portets-to-composite-applications&amp;userName=sergehuber\" \/><param name=\"name\" value=\"__sse5874395\" \/><param name=\"allowfullscreen\" value=\"true\" \/><embed id=\"__sse5874395\" type=\"application\/x-shockwave-flash\" width=\"425\" height=\"355\" src=\"http:\/\/static.slidesharecdn.com\/swf\/ssplayer2.swf?doc=portetstocompositeapps-final-101123074852-phpapp02&amp;stripped_title=portets-to-composite-applications&amp;userName=sergehuber\" name=\"__sse5874395\" allowscriptaccess=\"always\" allowfullscreen=\"true\"><\/embed><\/object><\/p>\n<div style=\"padding: 5px 0 12px;\">View more <a href=\"http:\/\/www.slideshare.net\/\">presentations<\/a> from <a href=\"http:\/\/www.slideshare.net\/sergehuber\">Serge Huber<\/a>.<\/div>\n<\/div>\n<p>Apr\u00e8s quelques rappels sur les concepts de Portlets et de Mashup, ils nous ont expliqu\u00e9 en quoi ces mod\u00e8les ne r\u00e9pondent pas \u00e0 tous les besoins des applications de gestion de contenu modernes et en quoi les applications composites peuvent changer la donne.<\/p>\n<p>Tarek a commenc\u00e9 par nous montrer un cas d&rsquo;\u00e9cole d&rsquo;utilisation des Portlets, avec transformation d&rsquo;une application Struts classique \u00e0 l&rsquo;aide de Struts bridge. Il est  n\u00e9anmoins pl\u00fbtot rare de tomber sur un cas aussi id\u00e9al, et on se retrouve g\u00e9n\u00e9ralement rapidement confront\u00e9s aux limitations des portlets, comme :<\/p>\n<ul>\n<li>Difficult\u00e9s pour faire int\u00e9ragir plusieurs portlets proprement<\/li>\n<li>Difficult\u00e9s\u00a0pour faire de l\u2019Ajax<\/li>\n<li>Difficult\u00e9s pour g\u00e9rer les r\u00f4les et les groupes<\/li>\n<\/ul>\n<p>Les applications composites sont baties autour des concepts suivants :<\/p>\n<ul>\n<li>Orient\u00e9 contenu (stockage et hi\u00e9rarchisation des donn\u00e9es fournis par des repositories de contenu comme <a href=\"http:\/\/en.wikipedia.org\/wiki\/Content_repository_API_for_Java\">JCR<\/a>)<\/li>\n<li>Approche REST<\/li>\n<li>D\u00e9veloppement modulaire<\/li>\n<\/ul>\n<p>Elles se diff\u00e9rencient des Mashup par l&rsquo;agr\u00e9gation de services internes poss\u00e9dant de la logique m\u00e9tier afin d\u2019augmenter la valeur de ces services, les mahsup \u00e9tant plut\u00f4t un regroupement de services externes (twitter, facebook&#8230;), comme ce que l\u2019on peut  voir sur iGoogle ou Netvibes par exemple. Les frameworks d\u2019applications composites fournissent des m\u00e9canismes de base r\u00e9utilisables comme la gestion de la session et des r\u00f4les, des fonctions de recherche et de s\u00e9curit\u00e9.\u00a0Il est possible de d\u00e9velopper des applications composites avec Apache Sling ou en utilisant le framework inclue dans Jahia. CMIS est quant \u00e0 lui un standard pour les applications composites qui commence \u00e0 monter.<\/p>\n<p>Serge nous a expliqu\u00e9 comment cr\u00e9er des objets de contenu et comment leur associer des comportements via des scripts (jsp, php, groovy&#8230;) \u00e0 partir des API REST de Sling ou de Jahia.<br \/>\nLors des d\u00e9mos on a pu voir l\u2019efficacit\u00e9 de la solution et la grande puissance du concept.<br \/>\nOn obtient avec cette approche un niveau de\u00a0r\u00e9-utilisabilit\u00e9\u00a0plus bas que celui des portlets (\u00ab\u00a0application splitting\u00a0\u00bb).<br \/>\nAu lieu de r\u00e9int\u00e9grer une application compl\u00e8te, on int\u00e8gre des composants r\u00e9utilisables, par exemple un composant de rating ou de commentaires, qui seront r\u00e9utilisables et ins\u00e9rables partout dans un CMS: news, forums, \u00e9v\u00e8nements&#8230;.<br \/>\nCes composants se \u201cbranchent\u201d directement sur les objets enregistr\u00e9s dans JCR pour leur ajouter un comportement.<a href=\"http:\/\/www.alpesjug.fr\/wp-content\/uploads\/2010\/11\/1968873111.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" title=\"196887311\" src=\"http:\/\/www.alpesjug.fr\/wp-content\/uploads\/2010\/11\/1968873111-300x179.jpg\" alt=\"\" width=\"300\" height=\"179\" \/><\/a><\/p>\n<p>Pour terminer cette soir\u00e9e riche en d\u00e9couvertes, nous avons vu une tr\u00e8s belle d\u00e9mo d\u2019application iPad composite, bas\u00e9e sur REST\/JSON, avec des fonctions offline et capable de pousser du contenu vers le repository JCR (par exemple une photo contenue sur l&rsquo;appareil).<\/p>\n<p>Et en fin de soir\u00e9e, \u00e0 l&rsquo;heure des pizzas, deux heureux gagnants ont pu remporter des licences JRebel et IntelliJ IDEA!<\/p>\n<p style=\"text-align: center;\">\n","protected":false},"excerpt":{"rendered":"<p>Serge Huber et Tarek Elachkar de la soci\u00e9t\u00e9 Jahia nous ont pr\u00e9sent\u00e9 hier le concept d&rsquo;applications composites. Portlets to composite applications View more presentations from Serge Huber. Apr\u00e8s quelques rappels sur les concepts de&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[24,27,11,31],"class_list":["post-494","post","type-post","status-publish","format-standard","hentry","category-compte-rendu","tag-portail","tag-portlet","tag-soiree","tag-web-2-0"],"_links":{"self":[{"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=\/wp\/v2\/posts\/494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=494"}],"version-history":[{"count":12,"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=\/wp\/v2\/posts\/494\/revisions"}],"predecessor-version":[{"id":504,"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=\/wp\/v2\/posts\/494\/revisions\/504"}],"wp:attachment":[{"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=494"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}