lixe - project studying xml in location-based services university of jyväskylä, faculty of...
Post on 21-Dec-2015
214 views
TRANSCRIPT
LIXE - ProjectStudying XML in Location-Based Services
University of Jyväskylä, Faculty of Information TechnologyProf. Jari Veijalainen
Jouni Markkula
Artem Katasnov
Republica Corp.Eetu Ojanen
Diego Ballvé
Architectures & Specifications Related to LBS
Location Interoperability Forum (LIF)
• MLP - Mobile Location Protocol:
– http://www.locationforum.org/publicdownload/LIF-TS-101-v2.0.0.zip
Open GIS Consortium (OGC)
• GML - Geographic MarkUp Language:
– http://www.opengis.net/gml/01-029/GML2.pdf
• WMS - Web Map Service:
– http://www.opengis.org/techno/specs/01-047r2.pdf
• WFS - Web Feature Service:
– http://www.opengis.org/techno/RFC13.pdf
Open Location Services initiative (OpenLS)
– http://www.openls.org
WAP Forum
• WAP Location Framework (adoption of LIF MLP)
Recently Open Mobile Alliance (OMA)• http://www.openmobilealliance.org
General LBS Architecture
LCS
Mobileterminal
LocationAttachment
Block
Location QueryBlock
Portalservice
LBSCore
spatialapplicationand dataservices
Gateway
OpenLSAPI
OpenLSAPI
LIF MLP
GMLGML
non-standardprotocol and
format
LCS protocol
andformat
request1
response1
request1(+MLP data)
response1
Other datasources
LIF MLP
• XML encoded messages• HTTP Post as binding mechanism
• LCS (Location Service): provides location of mobile users.• LQB (Location Query Block): a wrapper of LCS into LIF
Mobile Location Protocol (MLP).• LCA (Location Attachment Block): if needed, attaches location
information to a request.• Portal service: the gateway to LBS.• LBS: information service utilizing location data.• Core spatial application and data services: building blocks for
LBSs.
X-Fetch Wrapper
• Data conversion to XMLaccording to rules specifiedwith Data Extraction Language
– Any input format– Any output XML format
• Data Extraction Language (DEL) isevaluated and published bythe W3C
– www.w3.org/TR/data-extraction
X-Fetch Performer
• Reading and parsing XML streams (and files)
– Low memory consumption– Synchronous reading and writing– SAX application program
interface• MAP file
– Rules for data processing– Where to route the data– In which format to route
the data• J2EE compatible
LBS Architecture and X-FETCH
+
The blue blocks have to deal with:
• XML processing (requests, responses)
• Data streams (HTTP connection streams)
• Message generation based on templates.
X-FETCH LBS Demo: process [1/2]
• Gateway: Generates XML formated request to Location Attachement Block.
• LAB Servlet: Performer processes HTTP request (XML) and generates a LIF MLP request for Location Query Block.
• LQB Servlet: Performer transforms LIF MLP request into LCS protocol’s request for Location Server.
• LQB Servlet: Wrapper reads LCS response and convert it into LIF MLP response.
• LAB Servlet: Wrapper takes in LIF MLP response and combines with the original user’s request, forwarding it to Portal.
X-FETCH LBS Demo: process [2/2]
• Portal Servlet: Performer processes HTTP request from LAB and generates WFS request for Web Feature Server.
• WFS Servlet: Performer processes WFS request into SQL (spatial) query for GML adapter.
• GML Adapter: uses SQL to query Oracle 9i Database and, combined with Oracle SDO API, generates GML response.
• WFS Servlet: Packs multiple queries results into a single WFS response (GML).
• Portal Servlet: Performer processes WFS response and returns to client whether XHTML or GML, according to the request.
Music Festival
• The environment is a Music Festival
• Limited, temporarily densely populated area
• Several stages• Several eating and drinking
places• People active, mobile and social
• Assumptions– People have mobile terminals– Supporting positioning– Positioning accuracy ~10 m
Stage 1
Stage 3
Stage 2
Parking Place
Hamburgers
Pizza&
Beer
Planned LBS
• Concentration on “Pull” services (Mobile Originated Location Request)
• Stage Information
– The real-time schedule of performers• Text-based output
• Find Food & Drink
– Finding eating & drinking places according preferences and present location• Text-based and/or map based output• Navigation support
• Find Friend
– Finding identified friends• Map-based output
– Meeting request• Text-based and/or map based output