300 likes | 358 Views
W3car project. Emmanuel Castellani Laurent Marchese Nicolas Pastorelly. Wolfgang Kieß Johannes Walch Claudia Schremmer. Teleseminar Nice-Mannheim Year 2001-2002. Overview. 1 General information 1.1 Big Picture 1.2 Initial Spec 1.3 Actual Spec. 2 Technical informations
E N D
W3car project Emmanuel Castellani Laurent Marchese Nicolas Pastorelly Wolfgang Kieß Johannes Walch Claudia Schremmer Teleseminar Nice-Mannheim Year 2001-2002
Overview 1 General information 1.1 Big Picture 1.2 Initial Spec 1.3 Actual Spec 2 Technical informations 2.1 Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration
Big Picture • DCX Speed3 Project • Prototype of UMTS car on Monaco Telecom network • Emphasis on bandwidth-consuming type of 3G services • DCX, Sun, Jentro, Siemens, MDBS joint venture 1 General information 1.1 Big Picture 1.2 Initial Spec 1.3 Actual Spec 2 Technical informations 3 Demonstration
W3Car Services Services categorized by priority for Services categorized by priority for showcase showcase 2 2 Video Video - - House security/ car security House security/ car security - - Traffic Traffic - - Parking Parking PRIORITY PRIORITY 4 4 4 Online navigation (map information not via CD, available via dow Online navigation (map information not via CD, available via dow Online navigation (map information not via CD, available via dow nload) nload) nload) 3 3 3 - - - Video on Video on Video on demand demand demand - - - Music on Music on Music on demand demand demand , , , selection via call center selection via call center selection via call center , , , voice portal voice portal voice portal - - - Personalized audio (front seat) video (back seat) Personalized audio (front seat) video (back seat) Personalized audio (front seat) video (back seat) (video in terms of archived predefined news) (video in terms of archived predefined news) (video in terms of archived predefined news) 1 1 1 Video Video Video - - - Conferencing Conferencing Conferencing - - - Call center / concierge service Call center / concierge service Call center / concierge service 5 5 5 Gambling, multi Gambling, multi Gambling, multi - - - user mode (back seat) user mode (back seat) user mode (back seat) 1 General information 1.1 Big Picture 1.2 Initial Spec 1.3 Actual Spec 2 Technical informations 3 Demonstration
Initial Specification • Emergency service for UMTS car • Using audio and video communication • SUN-Jentro Platform for InCar Computer not ready • Speed3 Project not started yet • Very complex and proprietary technologies 1 General information 1.1 Big Picture 1.2 Initial Spec 1.3 Actual Spec 2 Technical informations 3 Demonstration
Actual Specification • New focus : Architecture prototyping instead of Features Delivery • Entertainment(Backseat) Applications • Java Client Prototype for IPAQ/mobile network device 1 General information 1.1 Big Picture 1.2 Initial Spec 1.3 Actual Spec 2 Technical informations 3 Demonstration
Important Technology Technologies/Features proposed : • Java • XML-RPC / SOAP based communications • Integrated web browser • Download Java(jar-file) Entertainment Applications to IPAQ 1 General information 1.1 Big Picture 1.2 Initial Spec 1.3 Actual Spec 2 Technical informations 3 Demonstration
Application Overview 1 General information 1.1 Big Picture 1.2 Initial Spec 1.3 Actual Spec 2 Technical informations 3 Demonstration
Server 1 General information 2 Technical informations 2.1Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration
Server • DBMS (MySql) 1 General information 2 Technical informations 2.1Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration Dynamic Contains references of games • Web Server (Servlets, JSP) JSP : dynamic Web Page showing games Servlet : producing messages • Multiple Game servers
Server Architecture 1 General information 2 Technical informations 2.1Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration Games Server DBMS Games Server ... Games Server Web Server JSP Servlets
Games Development 1 General information 2 Technical informations 2.1 Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration
Games Development 1 General information 2 Technical informations 2.1 Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration • Anybody could develop games • Need to standardize the games Games must extends an abstract class and redifined start() and stop() methods =>To cast objects downloaded into Games like Plugins system
Browser Two possibilities : 1 General information 2 Technical informations 2.1 Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration 1- IceBrowser (bean) • Complete Web browser • Problems : • Conflict with our ClassLoader • No compatibility with IPAQ 2- Simple java files using swing API • No ClassLoader, no security manager ...
ClassLoader 1 General information 2 Technical informations 2.1 Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration
ClassLoader To download and instantiate jarFile via HTTP First version: • Used JarURLConnection to download the game directly in the virtual machine • Problem with the jdk1.1.8 Second version: • Used simple URLConnection • The jarFile is written to the fileSystem 1 General information 2 Technical informations 2.1 Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration
ClassLoader 1 General information 2 Technical informations 2.1 Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration
Communication 1 General information 2 Technical informations 2.1 Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration
Communication We wanted to have a flexible, easy to use protocol which can easily be debugged (and simulated manually) => XML 1 General information 2 Technical informations 2.1 Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration • SOAP : • Complex protocol • SOAP-Server on IPAQ ? => limited Resources • Extensible architecture for future integration
JAXB messaging • JAXB = Java XML Binding • In our case marshal (serialize to XML) the Message and transmit it as String • Receiver unmarshals the XML String to a Message • Marshaling/Unmarshaling framework is generated with a tool (castor) • Grammar (w3c schema ) <=> Class (Java) • XML-Document <=> Object Instance 1 General information 2 Technical informations 2.1 Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration
Communication • Message objects with set and get methods • Call the send(Message m) Method • Message is transformed into XML, send as a String and the object reconstructed on the receiving side. 1 General information 2 Technical informations 2.1 Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration Sender <xml> <aaaa></aaaa> <bb></bb> </xml> Message Service Message Object
Krypto Package 1 General information 2 Technical informations 2.1 Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration
Krypto Package • Motivation • Download an application and execute it • risk of malicious code • security problem • Solution • Trusted party signs the jar file using asymmetric cryptography • Before loading, verify the signature 1 General information 2 Technical informations 2.1 Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration
How it works • Generate a key pair with the JAVA keytool • Sign the file with the W3carSigner • On each request for a game, the Signature is transmitted with the other information via the MessageService • The client uses the signature to verify the file before executing the game 1 General information 2 Technical informations 2.1 Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration
Implementation • Java.security package contains all necessary classes • … the package is not supported by the JVM on the IPAQ • the signature mechanism is disabled on the IPAQ, but will be demonstrated on a laptop. 1 General information 2 Technical informations 2.1 Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration
Ipaq & Java • Insignia Jeode JRE Conflict with our ClassLoader • Java 1.1 compatible including java.security • Commercial package • Sun Personal Java JRE • Java 1.1 compatible without java.security • Other OS than Windows CE 3.0 • Linux • Java OS 1 General information 2 Technical informations 2.1 Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration
Evaluation of JRE Problem : Browser we choose needs swing Solution : Porting swing to IPAQ using jar file • Swing is only lightweight implementation on top of AWT • did not work with Jeode PersonalJava JRE of Choice : Personal Java 1 General information 2 Technical informations 2.1 Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration
Java on IPAQ • Java is very slow on IPAQ due to limited resources • Developing on a limited device is difficult, testing takes a lot of time • Better environment : a specialized Java OS or compiled binaries 1 General information 2 Technical informations 2.1 Server 2.2 Games 2.3 Browser 2.4 ClassLoader 2.5 Communication 2.6 Krypto Package 2.7 IPAQ & Java 3 Demonstration
Conclusion • The goal of the project was reached. • Work Experience : Similiar to an industrial project • Investigation on the best technologies, no exact specification • Short time for delivery (Specification and Implementation done at the same time) Personal Experience • We got used to video conference and foreign languages • In the end it was a lot of fun ...