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

Slides:



Advertisements
Similar presentations
Overview Environment for Internet database connectivity
Advertisements

Websydian Anne-Marie Arnvig Manager, Websydian Communications & Relations.
Websydian products.
What is RMI? Remote Method Invocation –A true distributed computing application interface for Java, written to provide easy access to objects existing.
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy SOAP-based Web.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
DRIVOLUTION: RETHINKING THE DATABASE DRIVER LIFECYCLE Emmanuel Cecchet (UMass Amherst) Joint work with George Candea ( )
DEPARTMENT OF COMPUTER ENGINEERING
JSP: JavaServer Pages Juan Cruz Kevin Hessels Ian Moon.
1 JBus, A Platform Independent Publish/Subscribe Bus for CWave 2000 M.S. Thesis Defense Joseph W. Longson March 30, 2000.
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Java Server Team 8. Overview What is a Java Server? History Architecture Advantages Disadvantages Current Technologies Conclusion.
Client-server interactions in Mobile Applications.
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
Tomcat Celsina Bignoli History of Tomcat Tomcat is the result of the integration of two groups of developers. – JServ, an open source.
Page 1 Sandboxing & Signed Software Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
Introduction to Java Programming. Contents 1. Java, etc. 2. Java's Advantages 3. Java's Disadvantages 4. Types of Java Code 5. Java Bytecodes 6. Steps.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
Android Introduction Platform Overview.
INTRODUCTION TO WEB DATABASE PROGRAMMING
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
Lightning Talk Fred Rodriguez Nguyen Do CPSC 473 May 6, 2012.
Adapting Legacy Computational Software for XMSF 1 © 2003 White & Pullen, GMU03F-SIW-112 Adapting Legacy Computational Software for XMSF Elizabeth L. White.
SSC2: Web Services. Web Services Web Services offer interoperability using the web Web Services provide information on the operations they can perform.
Grid Computing, B. Wilkinson, 20043b.1 Web Services Part II.
1 Web Server Administration Chapter 1 The Basics of Server and Web Server Administration.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
Presentation: SOAP in a distributed object framework, Application Servers & AXIS SOAP.
Report of Ad hoc Group on Reference Software, Conformance and Demonstrations Tiejun Huang Institute for Digital Media Peking University, China 18th,Jul.
Outline  Enterprise System Integration: Key for Business Success  Key Challenges to Enterprise System Integration  Service-Oriented Architecture (SOA)
第十四章 J2EE 入门 Introduction What is J2EE ?
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
1 22 August 2001 The Security Architecture of the M&M Mobile Agent Framework P. Marques, N. Santos, L. Silva, J. Silva CISUC, University of Coimbra, Portugal.
Web Server Administration Web Services XML SOAP. Overview What are web services and what do they do? What is XML? What is SOAP? How are they all connected?
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
JAVA SERVER PAGES. 2 SERVLETS The purpose of a servlet is to create a Web page in response to a client request Servlets are written in Java, with a little.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Installation and Development Tools National Center for Supercomputing Applications University of Illinois at Urbana-Champaign The SEASR project and its.
Methods and Models Choice of methods for Development of IT related products and systems SVINGSVING Conference held in Gothenburg, Sweden, October 2000.
Serialization. Serialization is the process of converting an object into an intermediate format that can be stored (e.g. in a file or transmitted across.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
RMI Remote Method Invocation Distributed Object-based System and RPC Together 2-Jun-16.
COP2800 – Computer Programming Using JAVA University of Florida Department of CISE Spring 2013 Lecture 35 – Overview of Java Web Programming Webpage:
 Remote Method Invocation  A true distributed computing application interface for Java, written to provide easy access to objects existing on remote.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
MC365 Application Servers, Servlets, and Java Server Pages (JSP’s): Tomcat.
14 June 2004System-wide Services: User InterfaceRich Moeser 1 EVLA Overall Software Design Final Internal Review System-wide Services: User Interface.
XML and Web Services (II/2546)
Copyright © by Shayne R Flint Simplified Web Application Development Shayne R Flint Department of Computer Science Australian National University.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
Teleseminar Nice – Mannheim w3auction 1 W3 AUCTION Vanessa BOUCHET, Lars KLOSE, Heiko KOPITZKI, Annabelle LE SONN, Dorothée ROBERT, Gunnar WIEDENFELS.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Web Services Using Visual.NET By Kevin Tse. Agenda What are Web Services and Why are they Useful ? SOAP vs CORBA Goals of the Web Service Project Proposed.
introductory lecture on java programming
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
Java High level programming language ◦ Sun Microsystems ◦ ORACLE acquired Java Development Kit – JDK Java Runtime Environment – JRE Java Virtual Machine.
JAVA PROGRAMMING Buzzwords. Simple: Less complex syntax than C++ Not as easy to design as Visual Basic Small size of interpreter.
KVM Verification KVM uses StackMaps generated by the preverifier to verify the trustworthiness of unknown classes. Relatively easy to process on the device,
WEB SERVICES.
Java Distributed Computing
Outcome of the Lecture Upon completion of this lecture you will be able to understand Fundamentals and Characteristics of Java Language Basic Terminology.
from Lutz Dietrich and Hans Kluge
Plug-In Architecture Pattern
Presentation transcript:

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

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

W3car Castellani – 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

W3car Castellani – 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

W3car Castellani – 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

W3car Castellani – 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

W3car Castellani – 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

W3car Castellani – 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

W3car Castellani – 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

W3car Castellani – 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

W3car Castellani – 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 Web Server JSP Servlets...

W3car Castellani – 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

W3car Castellani – 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

W3car Castellani – 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 :

W3car Castellani – 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 Castellani – 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

W3car Castellani – 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 Castellani – 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

W3car Castellani – 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

W3car Castellani – 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

W3car Castellani – 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. Message Object Message Service Sender

W3car Castellani – 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

W3car Castellani – 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

W3car Castellani – 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

W3car Castellani – 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.

W3car Castellani – 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

W3car Castellani – 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

W3car Castellani – 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

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