JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any...

58
JavaFX Mobile OS (SavaJe OS)

Transcript of JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any...

Page 1: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

JavaFX Mobile OS(SavaJe OS)

Page 2: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

JavaFX Mobile vs J2ME

Java FX is not a replacement for Java ME in any way.

Java ME is something that’s enabled today on 2 billion phones

Java FX Mobile is something that’s just emerging

Java FX Mobile is made for a mobile Internet computer

Page 3: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

JavaFX Mobile vs J2ME (2)

Java FX Mobile is a complete Java operating system.

Java FX Mobile is made for sort of the mid-to-high range type phones (20% slice)

Page 4: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

JavaFX Mobile vs J2ME (3)

We write Java applications on top of that VM that is running on the Java ME phone = midlet-based environment

It’s not integrated but it’s an application that’s running on top of it.

Page 5: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

JavaFX Mobile vs J2ME (4)

In Java FX Mobile, every API that the developer sees when they’re writing an application is a Java API.

All of the native services that you would normally have on the phone are Java enabled

Page 6: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

JavaFX Mobile vs J2ME (4)

In Java FX Mobile, every API that the developer sees when they’re writing an application is a Java API.

All of the native services that you would normally have on the phone are Java enabled

Page 7: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

JavaFX Mobile vs J2ME (5)

Java FX Mobile offers set of frameworks such as a graphics framework, a telephone framework, a messaging framework and a browser framework

Page 8: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

JavaFX Mobile vs JavaFX Script

Java FX Script is a platform, a language for developing rich media and graphically intensive application

Sits on top of standard Java Available both on the desktop and on

embedded devices

Page 9: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Motivation

Adapt Java to information appliances that have limited resources in a small footprint.

Problem:

Information appliances do not have the resources to run J2SE with anything approaching acceptable performance

Page 10: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Motivation (2)

“A” Solution: J2ME A range of subsets of Java that overcomes

the performance issue by restricting functionality

Page 11: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Motivation (3)

Yet Another Problem Emerging generation of smart wireless

and mobile devices require complete application support and client functionality that full Java provides

Page 12: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Motivation (4)

Root of the Problem Java Virtual Machine

Associated portability layers, classes and libraries normally run on top a native operating system with its own portability layers, APIs and libraries.

Page 13: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Motivation (5)

“The” Solution SavaJe OS First mobile platform built from the kernel

up for Java Enables mobile operators to gain full

benefits of Java: cross-platform, graphically rich and secure.

Page 14: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

History

2000 – SavaJe Technologies has raised nearly $80 million to date from operators, Vodafone, T-Mobile and Orange

Mission: to deliver mobile operating system where applications could run at native speed

Page 15: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

History (2)

First showcased a prototype LG handset in 2005

Lack of stability, poor battery life and unattractive industrial design

Page 16: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

History (3)

First SavaJe-powered handset, the Jasper S20, developed by Group Sense Ltd of HongKong

Released to developers at Sun’s JavaOne 2006

Page 17: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

History (4)

2007, Sun Microsystems just bought the rights to all of SavaJe’s intellectual property including the rights to SavaJe’s Java-based mobile OS.

Sun debuted its Java Phone which is powered by SavaJe

Ports SavaJe code into a Linux kernel

Page 18: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Strengths

Java is popular Having more Java API's mean more

capabilities than J2ME The SavaJe code can be ported to a

Linux kernel and is expanding the applications programming interfaces and set of developer tools that will ship with it.

Easy customization, theming

Page 19: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Weaknesses

Porting effort will be required for most applications

Platform requires a minimum hardware of ARM9-class processor clocked at 150-200MH with 32MB ROM and 32MB RAM

Manufacturers and Service Providers As of 2007, it has no licensees yet SavaJe impressed a lot of geeks and won

precisely zero phone contracts

Page 20: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Tradeoffs

More Java API's, size increases Market of J2ME and JavaFX

Page 21: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Uniqueness

Inherits unique qualities of Java Java virtual machine Bytecodes run through an interpreter on

a local host = portability

Page 22: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Opportunities

An OS which can run next-gen Linux GUI and JavaFX applications side by side

Low-end JavaFx plus high-end Linux GTK bindings for more powerful phones

Nokia = Symbian. Competitors like Vodafone clearly wants to differentiate themselves

Page 23: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

The SavaJe OS

The primary goals of the OS are: A small, efficient kernel Portable applications A rich graphical experience Strong and flexible security Full network support Performance

Page 24: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

The Core Platform

Page 25: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

The Core Platform (2)

Applications that run on SavaJe OS can be written using any one of the full range of Java APIs

It does not support end user applications written in other languages, there are provisions to allow third-party native modules written in C, C++ or assembler to be integrated into the SavaJe OS.

Page 26: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Kernel

Provides memory management services, resource locking, thread control and scheduling and a device driver interface.

The virtual machine is closely integrated with the kernel.

Kernel, VM and device drivers are statically bound.

Page 27: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Kernel (2)

Developers may add native modules such as media codecs or existing C libraries.

SavaJe OS contains an extensive subset of ANSI C and POSIX APIs.

Java VM, FreeType font engine, Beatnik Audio Engine, ZIP compression library

Page 28: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Kernel (3)

If source code is not available when creating an OS image, its standard GNU tool chain (compiler, linker, assembler, etc) allows for binary code modules to be added to OS without access to source code.

Page 29: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Memory Management

It uses virtual addresses in a 4GB address space.

Physical memory is divided into 4KB pages, managed through a two-level hierarchy.

Malloc()

Page 30: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Memory Management (2)

Monitors, locks and semaphores are allocated using memory blocks of fixed size

No heap size setting since all memory that is not used by system is available to Java programs

Page 31: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Real Time Response

SavaJe OS is not a hard real time system. Designed for time critical tasks to the end

user but not catastrophic Soft real time system

Page 32: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Real Time Response (2)

It is capable of sustained processing of approximately 100,000 interrupts per second.

Allows developers to create system threads apart from Java apps in order to perform sensitive operations

Page 33: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Virtual Machine

Developed from Sun’s VM Has been optimized for size, speed and

low-memory environments Garbage collection is mark and sweep. Interpretative and does not use JIT

techniques

Page 34: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Threads

Implemented to directly support the Java threads API and semantics

The underlying thread scheduler implements a time-sliced preemptive, fixed-priority, round-robin scheduler.

Highest priority ready thread always executes.

Page 35: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Processes

SavaJe OS launches each application in a distince process or JProc (Java Process)

Page 36: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Processes (2)

It has own class loader Its own security manager Private view of class fields Own view of Java system properties Own Graphics context System threads for system-level functions

Page 37: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Floating Point Support

Floating-point emulation library is included.

An optimized library supporting the intrinsic math functions is also provided.

Page 38: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Security

Java Language Java Byte-Code Verification Java Security Managers Java Runtime Java JAR Packaging Java Security Architecture Process Model User Identity

Page 39: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Security (2)

Java language is a type safe language that prevents accidental or intentional access to arbitrary memory locations

Page 40: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Security (3)

Byte-code verification – the system will start each process with a security manager installed which mandates a program be given a policy file.

Applications should be run with security manager and given the desired set of permissions.

Page 41: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Security (4)

Java application execution model allows for JAR files to be digitally signed.

Java Cryptography Architecture, Java Cryptography Extension, Java Secure Socket Extension

Page 42: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Graphics Subsystem

Close integration with Java 2 AWT, Swing and Java2D

Information stored in many AWT objects is directly manipulated by the core graphics subsystem, rather than copied and/or translated between unrelated software layers

Page 43: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Graphics Subsystem (2)

Targets IA with varying screen sizes, levels of color support, types of graphics hardware and distinct input methods.

Page 44: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Multimedia

MIDP Multimedia Extensions Java Media Framework

JPEG, GIF, PNG WAV, AU, MP3, MIDI MPEG4

Page 45: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

File Systems

All file systems accessed via the standard Java APIs

Dynamically mountable file systems File system implementation in Java or C Support for removable media Support for network file systems

Page 46: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

File Systems (2)

Can be dynamically mounted in a single namespace using a simple standard convention

Page 47: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

File Systems (3)

Contains five distinct types of file systems Recoverable read-write RAM file system Read-only flash based file system Microsoft-compliant FAT file system Two network file systems – SMB (Server

Message Block) and a simple Web server based file system

Page 48: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

File Systems (4)

All file systems are mounted at a root (“/”) File can be universally accessed via a

single namespace (“/cf0/foo/bar.html”) Appearance of a UNIX-style file system

with properties similar to Microsoft UNC

Page 49: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Connectivity

Ethernet 802.11 Wireless LAN Packet Switched wireless networks Bluetooth IrDA USB Serial

Page 50: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Network Access

An IP network may consist of a home-network, corporate intranet, the Internet or a Peer-to-Peer connection.

Java APIs are used to access the network

Page 51: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Application Protocols

Make use of raw TCP or UDP sockets to implement its own application level protocols.

Addition application level protocols such as HTTP, POP, SMTP can be utilized

Java APIs for RMI, CORBA, JNDI, JDBC and JINI.

Page 52: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Personal Area Networking

PAN is useful for quick short-range information transfer between two devices.

Page 53: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

OS Upgrade

Capabilities to patch the OS from a connected server

Enables OTA upgrades and patches Complete OS replacement cam be carried

out through a high speed network or using a memory card

Page 54: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Data Sheet

Page 55: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Data Sheet (2)

Page 56: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Data Sheet (3)

Page 57: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Data Sheet (4)

Page 58: JavaFX Mobile OS (SavaJe OS). JavaFX Mobile vs J2ME Java FX is not a replacement for Java ME in any way. Java ME is something thats enabled today on 2.

Data Sheet (5)