Download presentation
Presentation is loading. Please wait.
Published byAugusta McCormick Modified over 9 years ago
1
Improving portlet interoperability through deep annotation Oscar Díaz, Jon Iturrioz, Arantza Irastorza ONEKIN Research group University of the Basque Country San Sebastián (Spain) May 10th, 2005 The 14th International World Wide Web Conference
2
O. Díaz, J. Iturrioz, A. Irastorza 2 Agenda Introduction Portlet interoperability process Portlet and Portal ontology Portlet annotation Portlet feeding Conclusions
3
O. Díaz, J. Iturrioz, A. Irastorza 3 XML Request XML Response Business Logic Web Services Web Services Client Application User Interface WS Proxy 2 nd Hand Car Database Search for Cars Car Search Service Ferrari 360 request 360 Spider 360 Modena response Client application From web services
4
O. Díaz, J. Iturrioz, A. Irastorza 4 … to portlets Web Services Client Application User Interface Web Services WS Proxy 2Hand Car Database Search for Cars Car Search Service Client application Ferrari 360 request XML Request HTML Fragment Flow + Presentation Business Logic response
5
O. Díaz, J. Iturrioz, A. Irastorza 5 Portlets definition 2Hand Car Database Search for Cars “Portlets are user-facing, multi-step interactive Web Services that can be plugged into third-party applications.” Flow + Presentation Business Logic Data Complete Web Application
6
O. Díaz, J. Iturrioz, A. Irastorza 6 The portal integrator “front-end” of applications Portal= aggregation of portlets
7
O. Díaz, J. Iturrioz, A. Irastorza 7 The challenge: how to interoperate between portlets ? Portlet-1 Portlet-2 OUTPUT INPUT OUTPUT INPUT
8
O. Díaz, J. Iturrioz, A. Irastorza 8 getMarkup() XHTML “Output Process” Annotation instanceOf Portal Ontology registry integrate Extended Portal Ontology ontology + Rules Enactment Time Registration Time Query Time feeding XTMHL getMarkup(query mode) bookHotel+data A portlet interoperability proccess Source Portlet role: backend owner Portal role: annotator Target Portlet role: querying party
9
O. Díaz, J. Iturrioz, A. Irastorza 9 registry Portal Ontology integrate Extended Portal Ontology ontology + Rules Enactment Time Registration Time Query Time Registration time Source Portlet role: backend owner Portal role: annotator Target Portlet role: querying party
10
O. Díaz, J. Iturrioz, A. Irastorza 10 Portlet’s ontology So far, portlet description does not include an ontology However, this is a natural extension. WSs have one For our purposes: Portlet ontology = domain ontology + process ontology
11
O. Díaz, J. Iturrioz, A. Irastorza 11 ……… Domain ontology
12
O. Díaz, J. Iturrioz, A. Irastorza 12 Two kinds of processes (OWL-S): Output atomic proccess Input atomic proccess... Process ontology
13
O. Díaz, J. Iturrioz, A. Irastorza 13 Process ontology
14
O. Díaz, J. Iturrioz, A. Irastorza 14 ¿Portal ontology? The portal acts as a portlet mediator The portal bridges the semantic gap between portlet’s ontologies FlightBook’s depart date HotelBook’s entry date The portal acts as a pipe between portlets FlightBook’s event HotelBook’s eventual events
15
O. Díaz, J. Iturrioz, A. Irastorza 15 ¿Eventual event? Event 1 Event 2 Events are realisations of portlet processes Eventual events are potential realisation of portlet processes Eventual event 1 Eventual event 2
16
O. Díaz, J. Iturrioz, A. Irastorza 16 XHTML+OWL Events XHTML+Data Pipe rule Eventual events A portal ontology
17
O. Díaz, J. Iturrioz, A. Irastorza 17 XHTML+OWL Events XHTML+Data Pipe rule Eventual events 2004-04-13T11:30:05 departureFlightSelected_OS BIO LHT 12:55 04/04/2005 searchHotel_IS 04/04/2005 London Palace 1 A portal ontology instantiation
18
O. Díaz, J. Iturrioz, A. Irastorza 18 getMarkup() XHTML “Output Process” Annotation instanceOf registry Portal Ontology integrate Extended Portal Ontology ontology + Rules Enactment Time Registration Time Query Time Enactment time Source Portlet role: backend owner Portal role: annotator Target Portlet role: querying party
19
O. Díaz, J. Iturrioz, A. Irastorza 19 Flight Search portlet -> Select Step 1 2 3 Selected Departure Flight Flight TR0123 Departs BIO at 12:55, arrives LHT at 19:00 Flexible web fare 12:00(phone fare 15:00 Selected Return Flight Flight TR0561 Departs LHT at 12:45, arrives BIO at 14:00 Flexible web fare 22:50(phone fare 01:50 BIO LHT 12:55 Output Proccess instances 1.- Portlet ontology instantiation
20
O. Díaz, J. Iturrioz, A. Irastorza 20 2004-04-13T11:30:05 departureFlightSelected_OS BIO LHT 12:55 04/04/2005 BIO LHT 12:55 Annotation: mapping with the portal ontology Flight Search portlet -> Select Step 1 2 3 Selected Departure Flight Flight TR0123 Departs BIO at 12:55, arrives LHT at 19:00 Flexible web fare 12:00(phone fare 15:00 Selected Return Flight Flight TR0561 Departs LHT at 12:45, arrives BIO at 14:00 Flexible web fare 22:50(phone fare 01:50
21
O. Díaz, J. Iturrioz, A. Irastorza 21 getMarkup() XHTML “Output Process” Annotation instanceOf registry Portal Ontology integrate Extended Portal Ontology ontology + Rules Enactment Time Registration Time Query Time XTMHL Feeding bookHotel+data piping Query time Source Portlet role: backend owner Portal role: annotator Target Portlet role: querying party
22
O. Díaz, J. Iturrioz, A. Irastorza 22 getMarkup() XHTML “Output Process” Annotation instanceOf XTMHL Feeding bookHotel+data piping Piping - Feeding Piping: deriving eventual events from events Feeding: inlaying parameters of input forms from eventual events
23
O. Díaz, J. Iturrioz, A. Irastorza 23 XHTML+OWL Events Pipe rule Eventual events XHTML+Data Piping pipeRule= "[ fromBookFlightToBookHotel : (?departureEvent rdf:type ontopipe:Event), (?departureEvent ontopipe:process 'departureFlightSelected_OS'), (?departureEvent ontopipe:data ?depFlight), (?depFlight flightBook:departDate ?depDate), (?depFlight flightBook:passenger ?depPassenger), (?depFlight flightBook:destination ?destAirport), (?destAirport airportCodes:city ?destCity) Jena2 Rule Mechanism (Prolog-like) // The new Eventual Event is created " (?newEE rdf:type ontopipe:EventualEvent), " + " (?newEE ontopipe:process 'searchHotel_IS'), " + " (?newEE ontopipe:data ?newData)," + // The hotel booking is created using // the data from flight bookings " (?newData rdf:type hotelBook:Hotel)," + " (?newData hotelBook:entryDate ?depDate), " + " (?newData hotelBook:guest ?depPassenger) ]"; " (?newData hotelBook:city ?destCity) ]";
24
O. Díaz, J. Iturrioz, A. Irastorza 24 Piping 2004-04-13T11:30:05 departureFlightSelected_OS BIO LHT 12:55 04/04/2005 searchHotel_IS 04/04/2005 London Palace 1
25
O. Díaz, J. Iturrioz, A. Irastorza 25 ……….. Feeding …… searchHotel_IS 04/04/2005 London Palace 1
26
O. Díaz, J. Iturrioz, A. Irastorza 26 Conclusions Portlet interoperability is a must to enhance the user experience Deep annotation provides a seamless approach Transparent to the portlet provider (provides provider independence) All the burden rests on the portlet consumer (i.e. the portal) Separation of concerns: Annotation Piping Feeding … accounts for easy evolution of the portal (addition/removal of portlets)
27
O. Díaz, J. Iturrioz, A. Irastorza 27 Issues Portlet fragments should be enhanced with ontology instantiations Is this a big burden? It is now up to the portal master to define the piping rules Is this a big burden?
28
O. Díaz, J. Iturrioz, A. Irastorza 28 Thank you! Oscar Díaz jipdigao@si.ehu.es Jon Iturrioz jipitsaj@si.ehu.es Arantza Irastorza arantza.irastorza@ehu.es http://www.onekin.org
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.