14/06/2005
An Integrated Platform for Location- based Services Built on Java Technologies
- C. Kassapoglou Faist
An Integrated Platform for Location- based Services Built on Java - - PowerPoint PPT Presentation
An Integrated Platform for Location- based Services Built on Java Technologies C. Kassapoglou Faist CSEM 14/06/2005 CSEM Centre Suisse dElectronique et Microtechnique Technologies for innovation High technology know-how transfer to
14/06/2005
14/06/2005
14/06/2005
14/06/2005
14/06/2005
14/06/2005
WLAN (Indoor)
Platform
Service Execution Geo Information System Service Creation Environment Services Service Position GPS Mobile (Outdoor) WLAN (Indoor) WLAN WLAN (Indoor)
Platform
Service Execution Geo Information System Service Creation Environment Services Service Position GPS GPS Mobile (Outdoor) Mobile Mobile (Outdoor)
PoLoS
environment for LBS
for high-level specification, deployment and testing of new services
14/06/2005
14/06/2005
Position WLAN (Indoor) Mobile (Outdoor) GPS Service Geo Information System
Platform
Service Execution
Platform
Service Execution
14/06/2005
Position WLAN (Indoor) Mobile (Outdoor) GPS Geo Information System Service Service Creation Environment
Platform
Service Execution
Platform
Service Execution Services
14/06/2005
14/06/2005
14/06/2005
Typical scenarios for LBS
location (“Where am I?”),
closest cinema?”),
there?”),
“Notify me when one of my friends is close”),
site!”), etc
14/06/2005
Invocation and result of the proximity service using WAP
14/06/2005
Invocation and result of the proximity service using SMS
14/06/2005
MAP RESULT : TEXT RESULT :
at 0 meters Go Straight to I9 ;at 0 meters turn right to IHall 1 ;at 20 meters go straight to IS1 ; at 10 meters turn right to S1 ;at 0 meters turn left to 0 ;at 0 meters Go to end ; at 0 meters Go Straight to S1 ;at 0 meters go straight to AIS1 ; at 10 meters turn left to AHall 1 ;at 0 meters turn right to A22 ;
INVOCATION (FROM THE SERVICE CUSTOM JSP):
14/06/2005
Interfaces PoLoS Kernel Service Creation Environment Positioning OSA Network Infrastructure GIS Charging/Billing Text Data Graph Data
GSM/GPRS UMTS WLAN GPS MExE
PoLoS Platform HTTP WAP SMS PoLoS
14/06/2005
14/06/2005
Compiler Service Deployer Service Invocation Module (SIM)
Service/User Registry Interface to Positioning Technology Interface to GIS Data Interface to Service Creation Environment
Schedule Service Execution Environment
End-user Interface
14/06/2005
14/06/2005
14/06/2005
14/06/2005
14/06/2005
Address to coordinates conversion Geocoding Navigation directions on how to go to a given point Navigation (outdoor and indoor) Information on the closest POI (theater, …) to the supplied coordinates Proximity (outdoor and indoor) Location information corresponding to the supplied coordinates Find Location (outdoor and indoor) Description GIS services
14/06/2005
14/06/2005
<?xml version="1.0" encoding="UTF-8"?> <PolosXML> <service name=“serviceName" ...> ... </service> <configuration> ... </configuration> </PolosXML>
service logic dependencies, parameters, security
14/06/2005
<set>
Support of usual arithmetic and logic expressions and string handling. Treelike variable structures through nested <set> elements.
14/06/2005
<service name="GetMyLocation" > <entry label="main"> <set name="userpos"> <invoke component="POS"> <set name="userid" value="parameters.userId" /> </invoke> </set> <set name="useraddress"> <invoke component="GIS"> <set name="coordinates.north" value="userpos.latitude"/> <set name="coordinates.east" value="userpos.longitude"/> </invoke> </set> <set name="result.location" value="useraddress.textposition"/> </entry> </service>
14/06/2005
SCE Kernel Service Editor SCE Service Deployment Service Debugger Service Deployment Module(SIM) Service Execution Tracking Web-Services Web-Services
Database (HSQLDB)
Service repository database
RMI
SCE PoLoS Kernel Service Editor SCE Service Deployment Service Debugger Service Deployment Module(SIM) Service Execution Tracking Web-Services Web-Services
Database (HSQLDB)
Service repository database
RMI
14/06/2005
14/06/2005
14/06/2005
14/06/2005
Service specification (SCL)
JTB JavaCC
SCL grammar (BNF) parser Syntax tree classes; Default Visitor Syntax tree with visit methods Service specification (SCL)
JTB JavaCC
SCL grammar (BNF) parser Syntax tree classes; Default Visitor Syntax tree with visit methods
14/06/2005
Preprocessing (parsing of XML)
<service name="GetMyLocation"> <entry label="main"> ... </entry> </service> service name=GetMyLocation entry label=main ... /entry /service
Lexical & syntax analyses
service name entry “GetMyLocation” label “main” ...
Semantic analysis and intermediate code generation
ENTRY main … END_ENTRY main Symbol table
Java code generation
public class GetMyLocation implements Serializable { String serviceId = "GetMyLocation"; ... /* Entries */ public String entrymain (String parametersS) { ... } }
14/06/2005
public class GetMyLocationEJB implements SessionBean { … public void ejbCreate() throws RemoteException {…}; public void setSessionContext(SessionContext sc) …{}; public void ejbActivate() …{}; // Stateful public void ejbPassivate() …{}; // Stateful public void ejbRemove() {…}; public String entryMain(String XMLInputParameters) …{ …}; public String entryInit(String XMLInputParameters) …{…}; … }
14/06/2005
14/06/2005
14/06/2005
14/06/2005
14/06/2005
14/06/2005
CLIENT Business Logic Database Server Data Middle Tier (J2EE) Application server
instead of:
CLIENT Business Logic Database Server Data
Container Server Component Component
Separation of business logic, held in components, from implementation details, provided by containers
14/06/2005
Three types of EJB: Session, Entity and Message-driven
14/06/2005
service access
JSP SMS Gateway JSP JSP JSP EJB EJB JSP JSP EJB EJB EJB EJB
services access to POS, GIS, … generic service invocation JSP custom service JSPs access to persistent data
PDA (WAP) Browser
service and user registries, service repositories (persistant data), …
ERP DB
14/06/2005
14/06/2005
14/06/2005
14/06/2005