1 / 30

W3car project

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

taylor
Download Presentation

W3car project

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. W3car project Emmanuel Castellani Laurent Marchese Nicolas Pastorelly Wolfgang Kieß Johannes Walch Claudia Schremmer Teleseminar Nice-Mannheim Year 2001-2002

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. Application Overview 1 General information 1.1 Big Picture 1.2 Initial Spec 1.3 Actual Spec 2 Technical informations 3 Demonstration

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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 ...

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. Demonstration

  30. 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 ...

More Related