Mashup-Aware Corporate Portals Sandy Pérez and Oscar Díaz ONEKIN Research Group University of the Basque Country San Sebastián (Spain) The 11th International Conference on Web Information System Engineering December 13th, 2010
S. Pérez & O. Díaz THE SETTING 2
S. Pérez & O. Díaz Portal, Portlet & Portlet Container “A portal is a web application whose main focus is on integration and personalization” “A portlet is a Java technology based web component, managed by a portlet container” “A portlet container runs portlets and provides them with the required runtime environment.”
S. Pérez & O. Díaz Portal rendering sample WebSphere portlet Plumptree portlet Oracle portlet eXo portal
S. Pérez & O. Díaz Portlets as commercial-off-the-shelf (COTS) Web components The very same portlet can be re-used in different portals Adaptation is a must to customize the portlet to the portal setting Mashup as a customization technique for portlets into portals 5
S. Pérez & O. Díaz Sample scenario: “Mashuped portlet” When THIS portlet is offered through THIS portal then… add weather widget THIS PORTLET THIS PORTAL
S. Pérez & O. Díaz 7 Composition: Challenges Weather Widget FlightBooking portlet Provider: company A Provider: portal user Portal company B
S. Pérez & O. Díaz 8 Widget being “mashuped” into portlet BY THE PORTAL
S. Pérez & O. Díaz 9 Mashup-aware portals Portal Aggregation of content Messaging & Collaboration Enterprise Search Customization & Personalization Security Browser Content Management Content Presentation Workflow Mashup weaver +
Mashup-Aware Corporate Portals Sandy Pérez and Oscar Díaz ONEKIN Research Group University of the Basque Country San Sebastián (Spain) The 11th International Conference on Web Information System Engineering December 13th, 2010
S. Pérez & O. Díaz CHALLENGES 11
S. Pérez & O. Díaz Challenge 1: Composition So far, portlets & widgets are co-located Portals should permit portlets to inlay mashup content (e.g. widgets) Weather Widget Location & Date Location & Date Weather Widget
S. Pérez & O. Díaz Challenge 2: Orchestration Not just visual integration Operational integration Parameter passing Enhanced experience
S. Pérez & O. Díaz Portlet mashuping: three dimensions 14
S. Pérez & O. Díaz REALIZATION 15
S. Pérez & O. Díaz “Where” dimension 16
S. Pérez & O. Díaz “Where” dimension: the issue 17
S. Pérez & O. Díaz “Where” dimension: realization Portlets return markup fragments to be rendered by the portal This markup now holds placeholders Augmented mashup is restricted to these placeholders 18
S. Pérez & O. Díaz 19
S. Pérez & O. Díaz (What, Where) coordinate Insert WeatherForecastGadget into top- mashcell 20
S. Pérez & O. Díaz (What, Where) coordinate: realization XML Binding Language (XBL) permits to describe bindings to elements in other documents binding: XBL document bound element: specificied through a CSS It is a W3C candidate recomendation 21
S. Pérez & O. Díaz (What, Where) coordinate as an XBL Bound element: top-mashcell of portlet markup Binding: WeatherForecastGadget 22
S. Pérez & O. Díaz XBL snippet 23 WHERE WHAT
S. Pérez & O. Díaz (How, Where) coordinate Obtain city parameter of gadget from “destination” entry at the portlet
S. Pérez & O. Díaz (How, Where) coordinate as an XBL Bound element: destination node Binding: handler for destination propagation 25
S. Pérez & O. Díaz XBL snippet 26 WHERE HOW
S. Pérez & O. Díaz CONCLUSIONS 27
S. Pérez & O. Díaz 28 Conclusions This work introduces a mashup-like approach to personalization in portals Once the portal is deployed, users can supplement portal services with their own widgets that easy the fulfillment of portlet services Implemented for Liferay using XBL
Thanks for your attention! BRINGING “WARHOL” INTO PORTALS