SlideShare a Scribd company logo
1 of 17
Download to read offline
Webtram 
A GWT app for the editing of the transport 
network and the planning of the service 
Lorenzo Sarti 
Firenze 
5th October 2014 
Lorenzo Sarti 1
Agenda 
● M.A.I.O.R. profile and MTRAM software suite 
● WebTram: 
● Back-end based on Oracle Technologies 
● Front-end based on GWT 
● Wrapping a Map Viewer with JSNI 
● Future works and conclusions 
Lorenzo Sarti 2
M.A.I.O.R profile 
●Management, Artificial Intelligence, Operational 
Research ... 
● … was born as a spin-off of the University of Pisa in 1989 
● … its customers are public transport authorities and 
operators 
● … provides systems to manage, automate and optimize 
service planning, resource management, blocking, 
rostering, and performance analysis 
Lorenzo Sarti 3
MTram Suite 
MTRAM means advanced optimization applied to public transport 
planning, programming and management. 
Network design 
Timetable design 
The network design and editing module is WebTram 
Lorenzo Sarti 4
WebTram 
●WebTram allows the user a complete editing of 
all elements of the physical and topological 
network 
● It integrates advanced automatic routing 
functionalities 
● It provides an intuitive and easy-to-use GUI 
implemented by means of GWT 
Lorenzo Sarti 5
WebTram 
●WebTram allows the user a complete editing of 
all elements of the physical and topological 
network 
● It integrates advanced automatic routing 
functionalities 
● It provides a intuitive and easy-to-use GUI 
implemented by means of GWT 
Lorenzo Sarti 6
WebTram back-end 1/2 
● The back-end is developed exploiting Oracle 
technologies: 
● Database and Locator for managing both 
plain and cartographic data 
● MapBuilder for styles, themes, and base 
maps definition 
● MapViewer as a programmable tool for 
rendering maps using spatial data 
Lorenzo Sarti 7
WebTram back-end 2/2 
●MapViewer provides a suite of APIs that allow 
access to its features 
●WebTram uses the AJAX-based Javascript 
API to render spatial data 
Lorenzo Sarti 8
Front-end – GWT features – 1/2 
●WebTram GUI exploits several GWT features: 
● Sencha GXT - provides a comprehensive 
library of high-performance data widgets 
● Static String I18N: uses standard Java 
properties files to store translated strings and 
parameterized messages, then implements 
strongly-typed Java interfaces to retrieve their 
values 
Lorenzo Sarti 9
Front-End – GWT features – 2/2 
● Client Bundles: 
● ImageResources: provide access to image 
data at runtime in the most efficient way 
possible 
● CssResources: syntax validation, minification, 
different Css for different browser 
● JavaScript Native Interface: to create the 
wrapper for the MapViewer JavaScript API 
Lorenzo Sarti 10
Oracle MapViewer API Wrapper 
● The main class of the API is MVMapView 
● JavaScript Native Interface methods have been 
implemented to: 
● Display a map in a div element 
● Add/remove layers 
● Add navigation tool and zoom in/zoom out 
● Draw rectangles and polygons 
● Map browser and cartographic coordinates 
Lorenzo Sarti 11
JNSI Example - Display the map 
public class MVMapViewWrapper{ 
//The reference to the MVMapView Js Object 
private JavaScriptObject nativeMap = null; 
public MVMapViewWrapper(){ 
} 
public void createAndDisplayMap(String aContainerId, String aMapviewerUrl, 
double aX, double aY, int aZoomLevel){ 
nativeMap = createNativeMap(aContainerId, aMapViewerUrl); 
if (nativeMap != null){ 
setCenterAndZoomLevel(nativeMap, aX, aY, aZoomLevel); 
display(nativeMap); 
} 
} //The MVMapView Js Object creation. It needs an HTML container id and the MapViewer URL 
private native JavaScriptObject createNativeMap(String aContainerId, String aMapviewerUrl) /*-{ 
if ($wnd.document.getElementById(aContainerId) == null) { 
alert("$wnd.document.getElementById(" + aContainerId + ") == null"); 
return null; 
} 
else { 
return new $wnd.MVMapView($wnd.document.getElementById(aContainerId), aMapviewerUrl); 
} 
}-*/; 
private native void setCenterAndZoomLevel(JavaScriptObject aNativeMap, 
double aX, double aY, int aZoomLevel) /*-{ 
aNativeMap.setCenterAndZoomLevel($wnd.MVSdoGeometry.createPoint(aX, aY), aZoomLevel); 
}-*/; 
private native void display(JavaScriptObject aNativeMap) /*-{ 
aNativeMap.display(); 
}-*/; 
} 
Lorenzo Sarti 12
WebTram Datasources 
● Generally public transport authorities and 
operators own their spatial data – such data is 
stored in the Oracle Database 
●WebTram can be attached to other spatial 
datasources: 
● OpenStreetMap; 
● Google Maps; 
● Nokia Maps 
●We prefer to use Oracle Database in order to 
better control the whole process 
Lorenzo Sarti 13
Future works with GWT 
●MAIOR will release a WebDesktop environment 
that integrates all the MTRAM modules (within 
2015) 
●MAIOR will release new versions of MTRAM 
planning and scheduling modules (within 2016), 
dedicated to: 
● Automatic Timetable generation 
● Vehicle blocks and Driver duties optimization 
● The new modules will be developed using GWT 
Lorenzo Sarti 14
Future works with GWT 
The timetable planning system exploits HTML5 canvas 
●MAIOR will release a WebDesktop environment 
that integrates all the MTRAM modules (within 
2015) 
●MAIOR will release new versions of MTRAM 
planning and scheduling modules (within 2016), 
dedicated to: 
● Automatic Timetable generation 
● Vehicle blocks and Driver duties optimization 
● The new modules will be developed using GWT 
Lorenzo Sarti 15
Conclusions 
●WebTram represents a GWT success story: 
● .. has been released about one year ago. 
Today, 10 operators in Italy and 2 in Finland 
uses WebTram 
●GWT allows Maior to: 
● develop a cross-browser web app (very 
important – Maior cannot control the browser 
of its customers) 
● use its Java developers (with poor Js skills) 
Lorenzo Sarti 16
Grazie per l'attenzione 
Autore 
Lorenzo Sarti 17

More Related Content

Viewers also liked

Computer vision fundamentals of computer vision - mubarak shah - allbookfre...
Computer vision   fundamentals of computer vision - mubarak shah - allbookfre...Computer vision   fundamentals of computer vision - mubarak shah - allbookfre...
Computer vision fundamentals of computer vision - mubarak shah - allbookfre...Ta Nam
 
Modulo2.T3.Que necesito para tener un blog
Modulo2.T3.Que necesito para tener un blogModulo2.T3.Que necesito para tener un blog
Modulo2.T3.Que necesito para tener un blogProfesorOnline
 
Xamarin day2 - Android with Xamarin
Xamarin day2 - Android with XamarinXamarin day2 - Android with Xamarin
Xamarin day2 - Android with XamarinSubodh Pushpak
 
Grow Foundation for Ghana
Grow Foundation for GhanaGrow Foundation for Ghana
Grow Foundation for GhanaElyse Schaefer
 
Recommendation for successful “the saem” facebook page
Recommendation for successful “the saem” facebook pageRecommendation for successful “the saem” facebook page
Recommendation for successful “the saem” facebook pageFloria Hong
 
Laporan keuangan konsolidasi
Laporan keuangan konsolidasiLaporan keuangan konsolidasi
Laporan keuangan konsolidasiadelaa09
 
Práctica 1 gráficas
Práctica 1 gráficasPráctica 1 gráficas
Práctica 1 gráficasarancha_ruiz
 
LOS FRENOS DEL PODER.AUTOR: Rafael Jiménez Asensio.ISBN: 9788491230700
LOS FRENOS DEL PODER.AUTOR: Rafael Jiménez Asensio.ISBN: 9788491230700LOS FRENOS DEL PODER.AUTOR: Rafael Jiménez Asensio.ISBN: 9788491230700
LOS FRENOS DEL PODER.AUTOR: Rafael Jiménez Asensio.ISBN: 9788491230700Marcial Pons Argentina
 
N_Asm Assembly numbers (sol)
N_Asm Assembly numbers (sol)N_Asm Assembly numbers (sol)
N_Asm Assembly numbers (sol)Selomon birhane
 
Laporan keuangan konsolidasi
Laporan keuangan konsolidasiLaporan keuangan konsolidasi
Laporan keuangan konsolidasiadelaa09
 

Viewers also liked (17)

Visual basic
Visual basicVisual basic
Visual basic
 
Computer vision fundamentals of computer vision - mubarak shah - allbookfre...
Computer vision   fundamentals of computer vision - mubarak shah - allbookfre...Computer vision   fundamentals of computer vision - mubarak shah - allbookfre...
Computer vision fundamentals of computer vision - mubarak shah - allbookfre...
 
Modulo2.T3.Que necesito para tener un blog
Modulo2.T3.Que necesito para tener un blogModulo2.T3.Que necesito para tener un blog
Modulo2.T3.Que necesito para tener un blog
 
Sistema respiratorio
Sistema respiratorioSistema respiratorio
Sistema respiratorio
 
Semantica
SemanticaSemantica
Semantica
 
Xamarin day2 - Android with Xamarin
Xamarin day2 - Android with XamarinXamarin day2 - Android with Xamarin
Xamarin day2 - Android with Xamarin
 
Ruta de cuba
Ruta de cubaRuta de cuba
Ruta de cuba
 
Folleto padres
Folleto padresFolleto padres
Folleto padres
 
2010-11-17 FNF PAK -
2010-11-17 FNF PAK - 2010-11-17 FNF PAK -
2010-11-17 FNF PAK -
 
Grow Foundation for Ghana
Grow Foundation for GhanaGrow Foundation for Ghana
Grow Foundation for Ghana
 
Recommendation for successful “the saem” facebook page
Recommendation for successful “the saem” facebook pageRecommendation for successful “the saem” facebook page
Recommendation for successful “the saem” facebook page
 
Laporan keuangan konsolidasi
Laporan keuangan konsolidasiLaporan keuangan konsolidasi
Laporan keuangan konsolidasi
 
Práctica 1 gráficas
Práctica 1 gráficasPráctica 1 gráficas
Práctica 1 gráficas
 
LOS FRENOS DEL PODER.AUTOR: Rafael Jiménez Asensio.ISBN: 9788491230700
LOS FRENOS DEL PODER.AUTOR: Rafael Jiménez Asensio.ISBN: 9788491230700LOS FRENOS DEL PODER.AUTOR: Rafael Jiménez Asensio.ISBN: 9788491230700
LOS FRENOS DEL PODER.AUTOR: Rafael Jiménez Asensio.ISBN: 9788491230700
 
Ll
LlLl
Ll
 
N_Asm Assembly numbers (sol)
N_Asm Assembly numbers (sol)N_Asm Assembly numbers (sol)
N_Asm Assembly numbers (sol)
 
Laporan keuangan konsolidasi
Laporan keuangan konsolidasiLaporan keuangan konsolidasi
Laporan keuangan konsolidasi
 

Similar to WebTram: una WebApp GWT per l'editing di dati cartografici e topologici di una rete del trasporto pubblico

(Js) Export your own WebGL Viewer
(Js) Export your own WebGL Viewer(Js) Export your own WebGL Viewer
(Js) Export your own WebGL ViewerJooinK
 
Slack in the Age of Prometheus
Slack in the Age of PrometheusSlack in the Age of Prometheus
Slack in the Age of PrometheusGeorge Luong
 
QWC2 - modern web maps with QGIS Server
QWC2 - modern web maps with QGIS ServerQWC2 - modern web maps with QGIS Server
QWC2 - modern web maps with QGIS ServerInvit Management
 
Developing Spatial Applications with CARTO for React v1.1
Developing Spatial Applications with CARTO for React v1.1Developing Spatial Applications with CARTO for React v1.1
Developing Spatial Applications with CARTO for React v1.1CARTO
 
Gwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca TosiGwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca Tosifirenze-gtug
 
CartoDB Inside Out
CartoDB Inside OutCartoDB Inside Out
CartoDB Inside OutJorge Sanz
 
GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)firenze-gtug
 
Introduction to Aneka, Aneka Model is explained
Introduction to Aneka, Aneka Model is explainedIntroduction to Aneka, Aneka Model is explained
Introduction to Aneka, Aneka Model is explainedDr Neelesh Jain
 
Designing Autonomous Car using OpenCV and Machine Learning
Designing Autonomous Car using OpenCV and Machine LearningDesigning Autonomous Car using OpenCV and Machine Learning
Designing Autonomous Car using OpenCV and Machine LearningIRJET Journal
 
Front end microservices: architectures and solution
Front end microservices: architectures and solutionFront end microservices: architectures and solution
Front end microservices: architectures and solutionMikhail Kuznetcov
 
Present and Future of GWT from a developer perspective
Present and Future of GWT from a developer perspectivePresent and Future of GWT from a developer perspective
Present and Future of GWT from a developer perspectiveManuel Carrasco Moñino
 
Rolando Santamaría Masó - Simplicity meets scalability - code.talks 2015
Rolando Santamaría Masó - Simplicity meets scalability - code.talks 2015Rolando Santamaría Masó - Simplicity meets scalability - code.talks 2015
Rolando Santamaría Masó - Simplicity meets scalability - code.talks 2015AboutYouGmbH
 
FIWARE Tech Summit - lwM2M IoT Agent in Depth
FIWARE Tech Summit - lwM2M IoT Agent in DepthFIWARE Tech Summit - lwM2M IoT Agent in Depth
FIWARE Tech Summit - lwM2M IoT Agent in DepthFIWARE
 
Google I/O 2019 - what's new in Android Q and Jetpack
Google I/O 2019 - what's new in Android Q and JetpackGoogle I/O 2019 - what's new in Android Q and Jetpack
Google I/O 2019 - what's new in Android Q and JetpackSunita Singh
 
Large scale virtual Machine log collector (Project-Report)
Large scale virtual Machine log collector (Project-Report)Large scale virtual Machine log collector (Project-Report)
Large scale virtual Machine log collector (Project-Report)Gaurav Bhardwaj
 
mago3D FOSS4G NA 2018
mago3D FOSS4G NA 2018mago3D FOSS4G NA 2018
mago3D FOSS4G NA 2018정대 천
 

Similar to WebTram: una WebApp GWT per l'editing di dati cartografici e topologici di una rete del trasporto pubblico (20)

(Js) Export your own WebGL Viewer
(Js) Export your own WebGL Viewer(Js) Export your own WebGL Viewer
(Js) Export your own WebGL Viewer
 
Slack in the Age of Prometheus
Slack in the Age of PrometheusSlack in the Age of Prometheus
Slack in the Age of Prometheus
 
QWC2 - modern web maps with QGIS Server
QWC2 - modern web maps with QGIS ServerQWC2 - modern web maps with QGIS Server
QWC2 - modern web maps with QGIS Server
 
Developing Spatial Applications with CARTO for React v1.1
Developing Spatial Applications with CARTO for React v1.1Developing Spatial Applications with CARTO for React v1.1
Developing Spatial Applications with CARTO for React v1.1
 
Gwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca TosiGwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca Tosi
 
CartoDB Inside Out
CartoDB Inside OutCartoDB Inside Out
CartoDB Inside Out
 
GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)
 
Introduction to Aneka, Aneka Model is explained
Introduction to Aneka, Aneka Model is explainedIntroduction to Aneka, Aneka Model is explained
Introduction to Aneka, Aneka Model is explained
 
Designing Autonomous Car using OpenCV and Machine Learning
Designing Autonomous Car using OpenCV and Machine LearningDesigning Autonomous Car using OpenCV and Machine Learning
Designing Autonomous Car using OpenCV and Machine Learning
 
Front end microservices: architectures and solution
Front end microservices: architectures and solutionFront end microservices: architectures and solution
Front end microservices: architectures and solution
 
Vimala_Gadegi
Vimala_GadegiVimala_Gadegi
Vimala_Gadegi
 
Present and Future of GWT from a developer perspective
Present and Future of GWT from a developer perspectivePresent and Future of GWT from a developer perspective
Present and Future of GWT from a developer perspective
 
MSI UI Software Design Report
MSI UI Software Design ReportMSI UI Software Design Report
MSI UI Software Design Report
 
Rolando Santamaría Masó - Simplicity meets scalability - code.talks 2015
Rolando Santamaría Masó - Simplicity meets scalability - code.talks 2015Rolando Santamaría Masó - Simplicity meets scalability - code.talks 2015
Rolando Santamaría Masó - Simplicity meets scalability - code.talks 2015
 
FIWARE Tech Summit - lwM2M IoT Agent in Depth
FIWARE Tech Summit - lwM2M IoT Agent in DepthFIWARE Tech Summit - lwM2M IoT Agent in Depth
FIWARE Tech Summit - lwM2M IoT Agent in Depth
 
Google I/O 2019 - what's new in Android Q and Jetpack
Google I/O 2019 - what's new in Android Q and JetpackGoogle I/O 2019 - what's new in Android Q and Jetpack
Google I/O 2019 - what's new in Android Q and Jetpack
 
Large scale virtual Machine log collector (Project-Report)
Large scale virtual Machine log collector (Project-Report)Large scale virtual Machine log collector (Project-Report)
Large scale virtual Machine log collector (Project-Report)
 
Nanaji_Jonnadula
Nanaji_JonnadulaNanaji_Jonnadula
Nanaji_Jonnadula
 
Abhinav Nigam
Abhinav NigamAbhinav Nigam
Abhinav Nigam
 
mago3D FOSS4G NA 2018
mago3D FOSS4G NA 2018mago3D FOSS4G NA 2018
mago3D FOSS4G NA 2018
 

More from GWTcon

"Jclays, A global solution for application design and automatic GWT code gene...
"Jclays, A global solution for application design and automatic GWT code gene..."Jclays, A global solution for application design and automatic GWT code gene...
"Jclays, A global solution for application design and automatic GWT code gene...GWTcon
 
"Xapi-lang For declarative code generation" By James Nelson
"Xapi-lang For declarative code generation" By James Nelson"Xapi-lang For declarative code generation" By James Nelson
"Xapi-lang For declarative code generation" By James NelsonGWTcon
 
In defense of GWT-RPC By Colin Alworth
In defense of GWT-RPC By Colin AlworthIn defense of GWT-RPC By Colin Alworth
In defense of GWT-RPC By Colin AlworthGWTcon
 
DIY: Split GWT Applications using TURDUCKEN approach By Alberto Mancini
DIY: Split GWT Applications using TURDUCKEN approach By Alberto ManciniDIY: Split GWT Applications using TURDUCKEN approach By Alberto Mancini
DIY: Split GWT Applications using TURDUCKEN approach By Alberto ManciniGWTcon
 
Unirex Lean tools By Dario Carotenuto
Unirex Lean tools By Dario CarotenutoUnirex Lean tools By Dario Carotenuto
Unirex Lean tools By Dario CarotenutoGWTcon
 
The future of GWT 2.x - By Colin Alworth
The future of GWT 2.x - By Colin AlworthThe future of GWT 2.x - By Colin Alworth
The future of GWT 2.x - By Colin AlworthGWTcon
 
Web components with java by Haijian Wang
Web components with java by Haijian WangWeb components with java by Haijian Wang
Web components with java by Haijian WangGWTcon
 
UI Framework Development using GWT and HTML Canvas - By Iarosla Kobyliukh
UI Framework Development using GWT and HTML Canvas - By Iarosla KobyliukhUI Framework Development using GWT and HTML Canvas - By Iarosla Kobyliukh
UI Framework Development using GWT and HTML Canvas - By Iarosla KobyliukhGWTcon
 
Best Practices - By Lofi Dewanto
Best Practices - By Lofi DewantoBest Practices - By Lofi Dewanto
Best Practices - By Lofi DewantoGWTcon
 
"Migrate large gwt applications - Lessons Learned" By Harald Pehl
"Migrate large gwt applications - Lessons Learned" By Harald Pehl"Migrate large gwt applications - Lessons Learned" By Harald Pehl
"Migrate large gwt applications - Lessons Learned" By Harald PehlGWTcon
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld DevicesGWTcon
 
GWT vs CSS3
GWT vs CSS3GWT vs CSS3
GWT vs CSS3GWTcon
 
GWT Web Socket and data serialization
GWT Web Socket and data serializationGWT Web Socket and data serialization
GWT Web Socket and data serializationGWTcon
 
GWTcon 2014 - Apertura
GWTcon 2014 - AperturaGWTcon 2014 - Apertura
GWTcon 2014 - AperturaGWTcon
 
GWT videocall: power-up your mobile & web app with WebRTC
GWT videocall:  power-up your mobile & web app with WebRTCGWT videocall:  power-up your mobile & web app with WebRTC
GWT videocall: power-up your mobile & web app with WebRTCGWTcon
 

More from GWTcon (15)

"Jclays, A global solution for application design and automatic GWT code gene...
"Jclays, A global solution for application design and automatic GWT code gene..."Jclays, A global solution for application design and automatic GWT code gene...
"Jclays, A global solution for application design and automatic GWT code gene...
 
"Xapi-lang For declarative code generation" By James Nelson
"Xapi-lang For declarative code generation" By James Nelson"Xapi-lang For declarative code generation" By James Nelson
"Xapi-lang For declarative code generation" By James Nelson
 
In defense of GWT-RPC By Colin Alworth
In defense of GWT-RPC By Colin AlworthIn defense of GWT-RPC By Colin Alworth
In defense of GWT-RPC By Colin Alworth
 
DIY: Split GWT Applications using TURDUCKEN approach By Alberto Mancini
DIY: Split GWT Applications using TURDUCKEN approach By Alberto ManciniDIY: Split GWT Applications using TURDUCKEN approach By Alberto Mancini
DIY: Split GWT Applications using TURDUCKEN approach By Alberto Mancini
 
Unirex Lean tools By Dario Carotenuto
Unirex Lean tools By Dario CarotenutoUnirex Lean tools By Dario Carotenuto
Unirex Lean tools By Dario Carotenuto
 
The future of GWT 2.x - By Colin Alworth
The future of GWT 2.x - By Colin AlworthThe future of GWT 2.x - By Colin Alworth
The future of GWT 2.x - By Colin Alworth
 
Web components with java by Haijian Wang
Web components with java by Haijian WangWeb components with java by Haijian Wang
Web components with java by Haijian Wang
 
UI Framework Development using GWT and HTML Canvas - By Iarosla Kobyliukh
UI Framework Development using GWT and HTML Canvas - By Iarosla KobyliukhUI Framework Development using GWT and HTML Canvas - By Iarosla Kobyliukh
UI Framework Development using GWT and HTML Canvas - By Iarosla Kobyliukh
 
Best Practices - By Lofi Dewanto
Best Practices - By Lofi DewantoBest Practices - By Lofi Dewanto
Best Practices - By Lofi Dewanto
 
"Migrate large gwt applications - Lessons Learned" By Harald Pehl
"Migrate large gwt applications - Lessons Learned" By Harald Pehl"Migrate large gwt applications - Lessons Learned" By Harald Pehl
"Migrate large gwt applications - Lessons Learned" By Harald Pehl
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld Devices
 
GWT vs CSS3
GWT vs CSS3GWT vs CSS3
GWT vs CSS3
 
GWT Web Socket and data serialization
GWT Web Socket and data serializationGWT Web Socket and data serialization
GWT Web Socket and data serialization
 
GWTcon 2014 - Apertura
GWTcon 2014 - AperturaGWTcon 2014 - Apertura
GWTcon 2014 - Apertura
 
GWT videocall: power-up your mobile & web app with WebRTC
GWT videocall:  power-up your mobile & web app with WebRTCGWT videocall:  power-up your mobile & web app with WebRTC
GWT videocall: power-up your mobile & web app with WebRTC
 

Recently uploaded

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 

WebTram: una WebApp GWT per l'editing di dati cartografici e topologici di una rete del trasporto pubblico

  • 1. Webtram A GWT app for the editing of the transport network and the planning of the service Lorenzo Sarti Firenze 5th October 2014 Lorenzo Sarti 1
  • 2. Agenda ● M.A.I.O.R. profile and MTRAM software suite ● WebTram: ● Back-end based on Oracle Technologies ● Front-end based on GWT ● Wrapping a Map Viewer with JSNI ● Future works and conclusions Lorenzo Sarti 2
  • 3. M.A.I.O.R profile ●Management, Artificial Intelligence, Operational Research ... ● … was born as a spin-off of the University of Pisa in 1989 ● … its customers are public transport authorities and operators ● … provides systems to manage, automate and optimize service planning, resource management, blocking, rostering, and performance analysis Lorenzo Sarti 3
  • 4. MTram Suite MTRAM means advanced optimization applied to public transport planning, programming and management. Network design Timetable design The network design and editing module is WebTram Lorenzo Sarti 4
  • 5. WebTram ●WebTram allows the user a complete editing of all elements of the physical and topological network ● It integrates advanced automatic routing functionalities ● It provides an intuitive and easy-to-use GUI implemented by means of GWT Lorenzo Sarti 5
  • 6. WebTram ●WebTram allows the user a complete editing of all elements of the physical and topological network ● It integrates advanced automatic routing functionalities ● It provides a intuitive and easy-to-use GUI implemented by means of GWT Lorenzo Sarti 6
  • 7. WebTram back-end 1/2 ● The back-end is developed exploiting Oracle technologies: ● Database and Locator for managing both plain and cartographic data ● MapBuilder for styles, themes, and base maps definition ● MapViewer as a programmable tool for rendering maps using spatial data Lorenzo Sarti 7
  • 8. WebTram back-end 2/2 ●MapViewer provides a suite of APIs that allow access to its features ●WebTram uses the AJAX-based Javascript API to render spatial data Lorenzo Sarti 8
  • 9. Front-end – GWT features – 1/2 ●WebTram GUI exploits several GWT features: ● Sencha GXT - provides a comprehensive library of high-performance data widgets ● Static String I18N: uses standard Java properties files to store translated strings and parameterized messages, then implements strongly-typed Java interfaces to retrieve their values Lorenzo Sarti 9
  • 10. Front-End – GWT features – 2/2 ● Client Bundles: ● ImageResources: provide access to image data at runtime in the most efficient way possible ● CssResources: syntax validation, minification, different Css for different browser ● JavaScript Native Interface: to create the wrapper for the MapViewer JavaScript API Lorenzo Sarti 10
  • 11. Oracle MapViewer API Wrapper ● The main class of the API is MVMapView ● JavaScript Native Interface methods have been implemented to: ● Display a map in a div element ● Add/remove layers ● Add navigation tool and zoom in/zoom out ● Draw rectangles and polygons ● Map browser and cartographic coordinates Lorenzo Sarti 11
  • 12. JNSI Example - Display the map public class MVMapViewWrapper{ //The reference to the MVMapView Js Object private JavaScriptObject nativeMap = null; public MVMapViewWrapper(){ } public void createAndDisplayMap(String aContainerId, String aMapviewerUrl, double aX, double aY, int aZoomLevel){ nativeMap = createNativeMap(aContainerId, aMapViewerUrl); if (nativeMap != null){ setCenterAndZoomLevel(nativeMap, aX, aY, aZoomLevel); display(nativeMap); } } //The MVMapView Js Object creation. It needs an HTML container id and the MapViewer URL private native JavaScriptObject createNativeMap(String aContainerId, String aMapviewerUrl) /*-{ if ($wnd.document.getElementById(aContainerId) == null) { alert("$wnd.document.getElementById(" + aContainerId + ") == null"); return null; } else { return new $wnd.MVMapView($wnd.document.getElementById(aContainerId), aMapviewerUrl); } }-*/; private native void setCenterAndZoomLevel(JavaScriptObject aNativeMap, double aX, double aY, int aZoomLevel) /*-{ aNativeMap.setCenterAndZoomLevel($wnd.MVSdoGeometry.createPoint(aX, aY), aZoomLevel); }-*/; private native void display(JavaScriptObject aNativeMap) /*-{ aNativeMap.display(); }-*/; } Lorenzo Sarti 12
  • 13. WebTram Datasources ● Generally public transport authorities and operators own their spatial data – such data is stored in the Oracle Database ●WebTram can be attached to other spatial datasources: ● OpenStreetMap; ● Google Maps; ● Nokia Maps ●We prefer to use Oracle Database in order to better control the whole process Lorenzo Sarti 13
  • 14. Future works with GWT ●MAIOR will release a WebDesktop environment that integrates all the MTRAM modules (within 2015) ●MAIOR will release new versions of MTRAM planning and scheduling modules (within 2016), dedicated to: ● Automatic Timetable generation ● Vehicle blocks and Driver duties optimization ● The new modules will be developed using GWT Lorenzo Sarti 14
  • 15. Future works with GWT The timetable planning system exploits HTML5 canvas ●MAIOR will release a WebDesktop environment that integrates all the MTRAM modules (within 2015) ●MAIOR will release new versions of MTRAM planning and scheduling modules (within 2016), dedicated to: ● Automatic Timetable generation ● Vehicle blocks and Driver duties optimization ● The new modules will be developed using GWT Lorenzo Sarti 15
  • 16. Conclusions ●WebTram represents a GWT success story: ● .. has been released about one year ago. Today, 10 operators in Italy and 2 in Finland uses WebTram ●GWT allows Maior to: ● develop a cross-browser web app (very important – Maior cannot control the browser of its customers) ● use its Java developers (with poor Js skills) Lorenzo Sarti 16
  • 17. Grazie per l'attenzione Autore Lorenzo Sarti 17