Turning Portlets into Services: The Consumer Profile Oscar Díaz, Salvador Trujillo, Sandy Pérez ONEKIN Research group University of the Basque Country.

Slides:



Advertisements
Similar presentations
RESTful, Resource-Oriented Architectures: a Model-Driven Approach Sandy Pérez 1, Frederico Durao 2, Santiago Meliá 3, Peter Dolog 2, Oscar Díaz 1 1st International.
Advertisements

Configuration management
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering.
General introduction to Web services and an implementation example
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.
This product includes material developed by the Globus Project ( Introduction to Grid Services and GT3.
IBM WebSphere Portal © 2008 IBM Corporation 1 Deliver an Irresistible User Experience  Provides an interactive user experience  No programming needed,
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Wesley Budziwojski Senior Architect Sun ONE Portal Server Web Services for Remote Portlets, WSRP Jun/2003.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Service-oriented architecture. The Basic main concepts –Service-orientation describes an architecture that uses loosely coupled services to support the.
Course Instructor: Aisha Azeem
Architecture and Software Product Lines A software architecture represents a significant investment of time and effort, usually by senior talent. So it.
Domain-Specific Software Engineering Alex Adamec.
SOA & BPM Business Architecture, SOA & BPM Learn about SOA and Business Process Management (BPM) Learn how to build process diagrams.
® IBM Software Group © IBM Corporation IBM Information Server Service Oriented Architecture WebSphere Information Services Director (WISD)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
The Design Discipline.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
THE GITB TESTING FRAMEWORK Jacques Durand, Fujitsu America | December 1, 2011 GITB |
© 2007 by «Author»; made available under the EPL v1.0 | Date | Other Information, if necessary Eclipse SOA Tools Platform Project Eric Newcomer IONA Technologies.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
® How to Build IBM Lotus Notes Components for Composite Applications 정유신 과장 2007 하반기 로터스 알토란.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Improving portlet interoperability through deep annotation Oscar Díaz, Jon Iturrioz, Arantza Irastorza ONEKIN Research group University of the Basque Country.
Tagging Aware Portlets Oscar Díaz, Sandy Pérez and Cristóbal Arellano ONEKIN Research Group University of the Basque Country San Sebastián (Spain) The.
Modeling portlet aggregation through statecharts O. Díaz, A. Irastorza, M. Azanza, F.M. Villoria ONEKIN Research group University of the Basque Country.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
Systems Analysis and Design in a Changing World, 3rd Edition
L10 - April 12, 2006copyright Thomas Pole , all rights reserved 1 Lecture 10: Software Assets and Text: Ch. 8: Language Anatomy and Ch 9: Families.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
AUTHORS: MIKE P. PAPAZOGLOU WILLEM-JAN VAN DEN HEUVEL PRESENTED BY: MARGARETA VAMOS Service oriented architectures: approaches, technologies and research.
WIKT 2006, , Bratislava Service-based architecture of Access-eGov system {Martin.Tomasek, InterSoft, a.s.,
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Chris Kuruppu NWS Office of Science and Technology Systems Engineering Center (Skjei Telecom) 10/6/09.
Service Oriented Architecture (SOA) Dennis Schwarz November 21, 2008.
Tuning Github for SPL development Branching models and operations for product engineers Oscar Díaz University of the Basque Country ONEKIN Research Group.
GLOCO – Integrated Corporate Portal Part 2 - Technical Specification Presented by Team 3 1 Team 3 Members: Joyce Torres Kenneth Kittredge Pamela Fisher.
® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies.
1 Service Creation, Advertisement and Discovery Including caCORE SDK and ISO21090 William Stephens Operations Manager caGrid Knowledge Center February.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Incorporating Cooperative Portlets in Web Application Development Nathalie Moreno, José Raúl Romero, Antonio Vallecillo Universidad de Málaga {vergara,jrromero,av}
July 28, 2004WSRF Technical Committee F2F meeting1 WSRP leveraging WSRF Use case for Portlets as WS-Resources.
INFSO-RI Enabling Grids for E-sciencE Web Services Mike Mineter National e-Science Centre, Edinburgh.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Providing Personalized Mashups Within the Context of Existing Web Applications Oscar Díaz, Sandy Pérez and Iñaki Paz ONEKIN Research Group University of.
Introduction to Service Orientation MIS 181.9: Service Oriented Architecture 2 nd Semester,
©Ian Sommerville 2007COTS-based System Engineering Slide 1 COTS-based System Engineering.
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
By Jeremy Burdette & Daniel Gottlieb. It is an architecture It is not a technology May not fit all businesses “Service” doesn’t mean Web Service It is.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
The Holmes Platform and Applications
Sabri Kızanlık Ural Emekçi
SOA (Service Oriented Architecture)
Content Management Systems
Inventory of Distributed Computing Concepts and Web services
Service-centric Software Engineering
Elements of Service-Oriented Architecture
Distributed Systems through Web Services
Introduction to SOA and Web Services
Presentation transcript:

Turning Portlets into Services: The Consumer Profile Oscar Díaz, Salvador Trujillo, Sandy Pérez ONEKIN Research group University of the Basque Country San Sebastián (Spain) May 11th, 2007 The 16th International World Wide Web Conference

O. Díaz, S. Trujillo & S. Pérez 2 Outline  Problem statement: portlet variability  What can vary  When can it vary  How is it supported

O. Díaz, S. Trujillo & S. Pérez 3 Service Oriented Architecture  “SOA can be regarded as a style of information systems architecture that enables the creation of applications that are built by combining loosely coupled and interoperable services” © Elements of SOA, by Dirk Krafzig, Karl Banke, and Dirk Slama. Enterprise SOA.Prentice Hall,2005

O. Díaz, S. Trujillo & S. Pérez 4 Portlet-based SOA  Portlets can be the enablers of SOA at the front end “Front-end” SOA PORTLET REPOSITORY PORTLET BUS SOA PORTLET REPOSITORY PORTLET BUS

O. Díaz, S. Trujillo & S. Pérez 5 From Web Services to Portlets XML Request XML Response Web Services Client Application User Interface WS Proxy 2 nd Hand Car Database Search for Cars Car Search Service request Client application Portlet User Interface Business Logic response SOA PORTLET REPOSITORY PORTLET BUS

O. Díaz, S. Trujillo & S. Pérez 6 Portlet repository  Portlet Swap: jboss.org  Portlet Exchange: portletexchange.com  Open Source Portlet Repository Project (2006): “a library of ready-to-run applications that you can download and deploy directly into your portal with, in most cases, no additional setups or configurations” SOA PORTLET REPOSITORY PORTLET BUS

O. Díaz, S. Trujillo & S. Pérez 7 “Portlet bus” SOA PORTLET REPOSITORY PORTLET BUS  Portlet interoperability based on the WSRP standard  The portal as the most popular portlet consumer WebSphere portlet Plumptree portlet Oracle portlet eXo portal

O. Díaz, S. Trujillo & S. Pérez 8 WSRP protocol (registration) Portlet ConsumerWSRP Producer getServiceDescription As an unregistered consumer Metadata Metadata indicates that registration is required, and certain data is required for registration register With registration data register Registration context Unique to the consumer getServiceDescription As a registered consumer Metadata + Offered portlets SOA PORTLET REPOSITORY PORTLET BUS

O. Díaz, S. Trujillo & S. Pérez 9 Portlets as Web components (reusable) MyBrowser End User 1 MyBrowser End User 2 Portal 1 Consumer 1 Portal 2 Consumer 2 HTTP Producer A Producer B Producer L SOAP SOA PORTLET REPOSITORY PORTLET BUS

O. Díaz, S. Trujillo & S. Pérez 10 But this is not enough …  Portlets are coarse-grained components They realise full-fledged applications (not just functions)  The larger the component, the lower the reuse “front-end” SOA PORTLET REPOSITORY PORTLET BUS VARIABILITY

O. Díaz, S. Trujillo & S. Pérez 11 Portlet ubiquitousness  The capacity of a component for being customized to the idiosyncrasies of distinct consumer applications Portlet Consumer (e.g. a Portal) SOA PORTLET VARIABILITY PORTLET REPOSITORY PORTLET BUS

O. Díaz, S. Trujillo & S. Pérez 12 Outline  Introducting the setting: portlet variability  What can vary  When can it vary  How is it supported

O. Díaz, S. Trujillo & S. Pérez 13 What can vary  Portlet variations can manifest in any of the three layers: the presentation layer –rebranding the rendering with logos and banners, changing the labels and text, changing the entry fields and so on. the functional layer –tuning the process to fit the consumer demands. the data layer –distinct functionalities will probably require distinct data.

O. Díaz, S. Trujillo & S. Pérez 14 e.g. presentation-style variants  A portlet output must be aesthetically harmonised with the presentation guidelines of the hosting Portal  WSRP supported Blue-ish Green-ish Red-ish

O. Díaz, S. Trujillo & S. Pérez 15 e.g. functional variants  Previous variants where domain independent  Most often, variations are domain dependent

O. Díaz, S. Trujillo & S. Pérez 16 flightBooking sample case  Domain: an air carrier selling tickets through distinct travel agencies:  Portlet: flightBooking

O. Díaz, S. Trujillo & S. Pérez 17 What can vary on flightBooking?  payment, indicates how travel agencies (portlet consumers) are compensated  checkin, some travel agencies do not allow for this functionality  flightTypes, indicates the focus on domestic or international flights  portletPref, permits the travel agency to tune which trip parameters end users can set a default for

O. Díaz, S. Trujillo & S. Pérez 18 The consumer model  A feature is any characteristic, placed by the carrier and used by the travel agency to describe how the flight booking process should be tailored to the agency’s idiosyncrasies.  The Consumer Model is a feature model that captures the variation space for consumers of a given portlet

O. Díaz, S. Trujillo & S. Pérez 19 Consumer model for the sample case (*) and alternativeor mandatory optionalrepetitions 1..* * (*) FODA notation

O. Díaz, S. Trujillo & S. Pérez 20 The Consumer Profile  A Consumer Profile instantiates the consumer model for a particular consumer (e.g. Thomas Cook travel agency).

O. Díaz, S. Trujillo & S. Pérez 21 The consumer profile for Thomas Cook travel agency

O. Díaz, S. Trujillo & S. Pérez 22 Outline  Introducting the setting: portlet variability  What can vary  When can it vary  How is it supported

O. Díaz, S. Trujillo & S. Pérez 23 When can it vary  When are blue decorators set?  We need to indicate for each feature when it needs to be committed to a particular variant (binding time)

O. Díaz, S. Trujillo & S. Pérez 24 Binding time: portlet setting  configuration time, the decision is set by the portal administrator any time during the lifetime of a running portlet  runtime, the decision is resolved during the enactment of the portlet (e.g. default departure airport) adaptive: automatically based on the user profile adaptable: user intervention through the edit mode

O. Díaz, S. Trujillo & S. Pérez 25 But …  Handling all variants through parameterization would make the implementation too complex The resulting code could be very cumbersome to develop and maintain  It is a problem of scalability Total number of variants (aprox.) = 3 X 2 X 2 X 2 x 2 x 2 = 96 combinations

O. Díaz, S. Trujillo & S. Pérez 26 Moreover …  Features can impact distinct artifacts

O. Díaz, S. Trujillo & S. Pérez 27 Binding time  Configuration time  Runtime: adaptive adaptable  Development time, the decision is taken when the portlet is being developed

O. Díaz, S. Trujillo & S. Pérez 28 Annotating the consumer model with binding times

O. Díaz, S. Trujillo & S. Pérez 29 Outline  Introducting the setting: portlet variability  What can vary  When can it vary  How is it supported

O. Díaz, S. Trujillo & S. Pérez 30 Software Product Line Approach  Shift of focus from a specific portlet to a portlet domain that sets the variation space (feature model)  Two processes domain engineering is in charge of determining the commonality and the variability among the portlet family: feature model + core assets application engineering is responsible for deriving a specific application portlet  Distinguishing between these processes permits to separate construction of the platform for the portlet family from production of the custom application portlet

O. Díaz, S. Trujillo & S. Pérez 31 Moving Software Product Lines to portlet development What needs to be changed in this diagram? Portlet consumerWSRP Producer getServiceDescription As an unregistered consumer Metadata Metadata indicates that registration is required, and certain data is required for registration register With registration data register Registration context Unique to the consumer getServiceDescription As a registered consumer Metadata + Offered portlets

O. Díaz, S. Trujillo & S. Pérez 32 New description parameters to account for the consumer model  Affects getServiceDescription() parameters  WSRP-compliant extension

O. Díaz, S. Trujillo & S. Pérez 33 New registration parameters to account for the consumer profile  Affects register() parameters  WSRP-compliant extension

O. Díaz, S. Trujillo & S. Pérez 34 A new actor: the domain producer Domain Producer getServiceDescription As an unregistered consumer. Metadata Metadata indicates that registration is required, plus an extension –the consumer model. register With registration data, plus an extension –the consumer profile. Portal regiser (Registers the portal.) Registration Context Unique to the consumer. getServiceDescription As a registered consumer. Metadata + cloned domain portlet

O. Díaz, S. Trujillo & S. Pérez 35 The domain producer  From the portal perspective, it behaves as a conventional portlet provider where the portal assumes portlets to be already deployed at the provider  But, if the binding time of a selected feature is “development time” then the portlet is not yet deployed!!!

O. Díaz, S. Trujillo & S. Pérez 36 Hence, behind the curtains…  The Domain Producer needs to: Generate the application portlet Deploy the application portlet into the so-called Application Producer Consume the application portlet through a locally deployed “domain portlet” that behaves as a proxy to the application portlet Portal Server HTTPWSRP Domain Producer WSRP Domain Portlet PL Factory Application Producer WSRP P1 WSRP P2P3 P4 Domain Portlet consume

O. Díaz, S. Trujillo & S. Pérez 37 Behind the curtains… Domain Producer getServiceDescription As an unregistered consumer. Metadata Metadata indicates that registration is required, plus an extension –the consumer model. register With registration data, plus an extension –the consumer profile. creates the portlet Portlet handle Portal PL Factory API Application Producer java:createPortlet the consumer profile. ant:stop deploys the portlet ant:start clonePortlet (Clones domain portlet, which is a proxy portlet) setPortletProperties (Updates the wsrp_portlet_handle preference with the returned portlet handle.) register (Registers the portal.) Registration Context Unique to the consumer. getServiceDescription As a registered consumer. Metadata + cloned domain portlet Handle cache

O. Díaz, S. Trujillo & S. Pérez 38 To recap …  Setting: portlets as enablers of SOA at the front-end  Problem statement: Portlets are coarse-grained components Reuse requires portlets to be engineered for variability Current parameterization approaches are not enough

O. Díaz, S. Trujillo & S. Pérez 39 Contributions  An SPL approach is presented WSRP extensions required to accommodate the consumer profile A new actor, the Domain Producer is introduced Generative SPL techniques required  A prove-of-concept sample case has been developed with WSRP4J

O. Díaz, S. Trujillo & S. Pérez 40 © Yukon valley by Marc Shandro Oscar Díaz Salvador Trujillo Sandy Pérez © Yukon Valley by Marc Shandro Thanks for your attention!!