W3car project Emmanuel Castellani Laurent Marchese Nicolas Pastorelly Wolfgang Kieß Johannes Walch...

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

Transcript of W3car project Emmanuel Castellani Laurent Marchese Nicolas Pastorelly Wolfgang Kieß Johannes Walch...

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

W3car project

Emmanuel Castellani

Laurent Marchese

Nicolas Pastorelly

Wolfgang Kieß

Johannes Walch

Claudia Schremmer

Teleseminar Nice-Mannheim

Year 2001-2002

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

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

Overview

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

W3carCastellani – Marchese – Kiess - Walch

Big Picture

1 General information

1.1 Big Picture

1.2 Initial Spec

1.3 Actual Spec

2 Technical informations

3 Demonstration

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

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

W3carCastellani – Marchese – Kiess - Walch

W3Car Services

1 General information

1.1 Big Picture

1.2 Initial Spec

1.3 Actual Spec

2 Technical informations

3 Demonstration

Services categorized by priority for showcase

4

Online navigation (map information not via CD, available via download)

2

Video -House security/ car security-Traffic -Parking

5

Gambling, multi-user mode (back seat)

1

Video -Conferencing-Call center / concierge service

3

-Video ondemand- Music ondemand, selection via call center, voice portal -Personalized audio (front seat) video (back seat)

(video in terms of archived predefined news)

PR

IOR

ITY

Services categorized by priority for showcase

4

Online navigation (map information not via CD, available via download)

4

Online navigation (map information not via CD, available via download)

2

Video -House security/ car security-Traffic -Parking

5

Gambling, multi-user mode (back seat)

5

Gambling, multi-user mode (back seat)

1

Video -Conferencing-Call center / concierge service

1

Video -Conferencing-Call center / concierge service

3

-Video ondemand- Music ondemand, selection via call center, voice portal -Personalized audio (front seat) video (back seat)

(video in terms of archived predefined news)

3

-Video ondemand- Music ondemand, selection via call center, voice portal -Personalized audio (front seat) video (back seat)

(video in terms of archived predefined news)

PR

IOR

ITY

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

W3carCastellani – Marchese – Kiess - Walch

Initial Specification

1 General information

1.1 Big Picture

1.2 Initial Spec

1.3 Actual Spec

2 Technical informations

3 Demonstration

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

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

W3carCastellani – Marchese – Kiess - Walch

Actual Specification

1 General information

1.1 Big Picture

1.2 Initial Spec

1.3 Actual Spec

2 Technical informations

3 Demonstration

New focus : Architecture prototyping instead of Features Delivery

Entertainment(Backseat) Applications

Java Client Prototype for IPAQ/mobile network device

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

W3carCastellani – Marchese – Kiess - Walch

Important Technology

1 General information

1.1 Big Picture

1.2 Initial Spec

1.3 Actual Spec

2 Technical informations

3 Demonstration

Technologies/Features proposed :

Java

XML-RPC / SOAP based communications

Integrated web browser

Download Java(jar-file) Entertainment

Applications to IPAQ

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

W3carCastellani – Marchese – Kiess - Walch

Application Overview

1 General information

1.1 Big Picture

1.2 Initial Spec

1.3 Actual Spec

2 Technical informations

3 Demonstration

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

W3carCastellani – Marchese – Kiess - Walch

Server

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

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

W3carCastellani – Marchese – Kiess - Walch

Server

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

DBMS (MySql)

Web Server (Servlets, JSP)

Dynamic

Contains references of games

JSP : dynamic Web Page showing games

Servlet : producing messages

Multiple Game servers

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

W3carCastellani – Marchese – Kiess - Walch

Server

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

DBMS

Games Server

Architecture

Games Server

Games Server

Web ServerJSP

Servlets...

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

W3carCastellani – Marchese – Kiess - Walch

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

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

W3carCastellani – Marchese – Kiess - Walch

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

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

W3carCastellani – Marchese – Kiess - Walch

Browser

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

Two possibilities :

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

W3carCastellani – Marchese – Kiess - Walch

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

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

W3carCastellani – Marchese – Kiess - Walch

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

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

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

W3carCastellani – Marchese – Kiess - Walch

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

w3car.krypto

w3car.messagingw3car.logging

PrintWriter(from io)

MainFrame(from gui)

Receiver(from loading)...)

1

1

1

1

IpackClassLoader(from loading)

1

1

1

1

MessageService(from messaging)

-$__instance

1

1..*

1

1..*

SignatureVerifier(from krypto)

LoggingService(from logging)

-$__instance

-pw

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

W3carCastellani – Marchese – Kiess - Walch

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

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

W3carCastellani – Marchese – Kiess - Walch

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

SOAP : Complex protocol

SOAP-Server on IPAQ ? => limited Resources

Extensible architecture for future integration

We wanted to have a flexible, easy to use protocol which can easily be debugged (and simulated manually) => XML

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

W3carCastellani – Marchese – Kiess - Walch

JAXB messaging

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

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

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

W3carCastellani – Marchese – Kiess - Walch

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

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.

MessageObject

MessageService

<xml><aaaa></aaaa><bb></bb></xml>

Sender

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

W3carCastellani – Marchese – Kiess - Walch

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

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

W3carCastellani – Marchese – Kiess - Walch

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

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

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

W3carCastellani – Marchese – Kiess - Walch

How it works

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

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

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

W3carCastellani – Marchese – Kiess - Walch

Implementation

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

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

W3carCastellani – Marchese – Kiess - Walch

Ipaq & 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

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

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

W3carCastellani – Marchese – Kiess - Walch

Evaluation of JRE

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

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

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

W3carCastellani – Marchese – Kiess - Walch

Java on IPAQ

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

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

Demonstration

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

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