+ All Categories
Home > Documents > THE FOLLOWING IS INTENDED TO OUTLINE OUR GENERAL … · UCWeb NIM AT&T Yahoo! mail! MusicID...

THE FOLLOWING IS INTENDED TO OUTLINE OUR GENERAL … · UCWeb NIM AT&T Yahoo! mail! MusicID...

Date post: 01-Nov-2018
Category:
Upload: doanbao
View: 213 times
Download: 0 times
Share this document with a friend
38
1
Transcript

1

2

THE FOLLOWING IS INTENDED TO OUTLINE OUR GENERAL PRODUCT DIRECTION. IT IS INTENDED FOR INFORMATION

PURPOSES ONLY, AND MAY NOT BE INCORPORATED INTO ANY CONTRACT. IT IS NOT A COMMITMENT TO DELIVER ANY

MATERIAL, CODE, OR FUNCTIONALITY, AND SHOULD NOT BE RELIED UPON IN MAKING PURCHASING DECISION. THE

DEVELOPMENT, RELEASE, AND TIMING OF ANY FEATURES OR FUNCTIONALITY DESCRIBED FOR ORACLE'S PRODUCTS

REMAINS AT THE SOLE DISCRETION OF ORACLE.

<Insert Picture Here>

Oracle Java Wireless Client: 高性能 Java ME 虚拟机 慕睿涛 (Max Mu)[email protected]

4

• 什么是 Oracle Java Wireless Client• CLDC-HI – 高性能 Java ME 虚拟机• MIDP与组件 (JSRs)及其他功能

Agenda

5

OJWC - Oracle Java Wireless Client

6

什么是 OJWC?

7

Oracle 在移动领域的高效能 Java ME 实现

8

The Sample Mobile Devices with OJWC

9

Java ME SDK - ApproachA Carrier / OEM Compliant Java Binary Stack integrated into the

Carrier’s developer tools and devices

© 2010 Oracle Corporation – Proprietary and Confidential

10

Product Highlights• 内建 LWUIT图形库• 支持移动应用商店客户端( AMS扩展 API)• 与重点应用开发合作伙伴共同进行优化( ISV Program)• 与重点 feature phone操作系统及芯片组集成• 超强的多任务支持• 支持动态皮肤,触屏及屏幕旋转• 移植方便快速

• 超过 250种型号 , >1亿台终端在运行OJWC

• 支持最新的 Java ME平台演进• 为所有终端提供丰富的用户界面支持• 完整的应用开发工具链

Oracle Java Wireless ClientOracle’s Java ME runtime for the mobile market

11

45,000 applications, over all device types

©2010 Oracle Corporation

OperaMini Telmap QQ eMoze MobiTV SurfKitchen

BOLT TeleNav Fetion gmail MEdiaMallSEMC music myspace

UCWeb NIM AT&T Yahoo! mail! SurfkitchenMusicID facebook

Datuu gmaps MSN GGLive eBay

Snaptu

OZ

WirelessMusic

Youtube

omnifone

streamezzo

Browser Navigation Messenger eMail MobileTV Shopping SocialMusic

Twitter

Snaptu

©2010 Oracle Corporation

12

Lightweight UI Toolkit (LWUIT)

• 简化并丰富 Java 应用程序界面的创建

• LWUIT = UI Toolkit abstraction • 代 凑 – 最低码紧 50KB• 可以在所有 CLDC 1.1, MIDP 2.0 运行设备• 可以作 独立函数 与 用程序一起打包 为 库 应

• 开发者支持• 商 用 例:业应 实 Comverse VVM, Emoze

email, Telmap, majimob, 8motions, MEP, StoreFront, Micello,…

• 与 Java ME SDK 3.0 集成• 在 java.net 上拥有活跃的开源社区

LWUIT 1.4 新特性• xHTML 控件

• 富文本( Rich text )支持• 使 Java ME 应用支持动态内容成为可能• 基于 XHTML MP 1.0

• Enhance touch/text editing support• BlackBerry port• Performance optimizations for OJWC

13

Oracle Java Wireless Client 2.3Increased JSR coverage, Improved content experience

• 发布 : 2010 年底– 提供 Win 32 源代码与二进制程序– 支持 BrewMP(through engineering services engagement)

• 特点:– 更多的 JSR 支持

• Near Field Communication (JSR 257)• UI Customization (JSR 258)• Location 2.0 (JSR 293)

– Content Management APIs– LWUIT 图形加速– CLDC-HI 优化

14

ApplicationConnectivity

Security &Commerce

PersonalInformation

Comms

JSR 118MIDP 2.0

ApplicationEnvironment

JSR 238Mobile I18N

Graphics

Virtual Machine VirtualMachineCLDC

New JSRs in SJWC 2.3Supported on SJWC 2.2

OJWC JSR Support

15

Oracle Java Wireless Client

OJWC for low end platforms

CLDC-HI + MIDP 2

Leadcore

3rd PartyContent

ARM 7 - ARM 9

SpreadtrumQualcommMediatek

JTWI ~ MSA

LWUIT UI

Brow

ser

MobileTV

Messag.

Soc.Net

Nav

eMail

Shop.

Music

Bundled Apps AMS Phoneto

p AppsMobile Store

Java Apps

PhonePlatform

• 面向资源受限平台的优化实现– ARM7 – ARM9 芯片– JTWI – MSA

• 为市场上流行的芯片平台提供一体化解决方案– MediaTek– Qualcomm– Leadcore– Spreadtrum

• 为低端设备上的应用开发提供丰富的支持 – LWUIT– Integrated core service– Mobile Store Client

16

OJWC for Brew(MP)Offering Highlights

• 实现范围 : MSA / MVM

• 快速投放市场 : 2 个月 ~4 个月• 多种形态支持 : 触屏手机 , 全键盘手机,等等• 支持各种 MSM/QSC 芯片组• 运营商规范

- Sprint / AT&T / Vodafone / Orange

• 与 BrewMP 紧密集成 :

- App Manager 集成 / 支持动态连接 (MOD) / 支持设备在线调试

“…Oracle’s JWC is the preferred Java technology solution for Brew MP…” (Jason Kenagy, vice president of product management for QCT)

17

CLDC-HI (a.k.a Monty)

18

CLDC HI VM Overview

• Connected Limited Device Configuration JVM• HotSpot 实现• 面向能力受限设备

– 较慢的处理器与内存– 受限制的内存大小 (500K-16M RAM)– 受限制的操作系统能力

19

Development goals

• 性能优化• 最小化并可管理的虚拟机暂停时间• 迅速启动• 尽可能的利用协处理器的加速能力• 尽可能减小移植花费

20

Features

• 优化的字节码解释器• 在单一系统线程上运行 Java 多线程• mark-and-compact 垃圾回收算法• 动态自适应的高效运行时字节码编译• 多虚拟机进程 (a.k.a. MVM)

– 共享内存,可以通过配置控制分配指标• 优化的 ROMization

– 支持多 profile• 支持类库共享• 二进制转换( Monet )• Ahead-of-time 编译

– On host and On device

21

Binary conversion (a.k.a. Monet)

• On-device 转换应用程序或类库成为二进制影像– 可选支持,由虚拟机实现决定

• 大幅削减启动时间• 在转换的同时进行优化

– Final 类与 Final 方法– 类初始化– Bytecode 加速– Small methods inlining– 选择性的 ahead-of-time 编译– 缺省情况下,耗时较长的优化是被关闭的

22

Multitasking within a single native process (MVM)

• Isolates API (JSR 121) 的一个子集• 扩展了 :

– 内存使用管理– Public API profiles 选择

• 所有 isolates 在同一个 native 进程里运行• 每个 isolate 代表一个虚拟机实例• 所有 isolates 共享

– Runtime– Class metadata– Object heap

• 应用程序状态被 isolate 封装,互相不受影响

23

Pause Management• 尽量减少由于系统活动给应用程序带来的停顿时间

– 动态编译– 垃圾收集( GC )

• 阻止连续停顿情况的发生– 让用户程序在两次停顿之间有足够的运行时间

• 增量的可调度的字节码编译– 编译过程可以在任何字节码执行之后挂起– 编译过程可以在给定时间过后自动挂起– 编译可以被临时禁止

• 让停顿变得更可预期– 应用不分配内存, GC 不会发生– 在线编译器使用分开的内存区,对应用不构成影响

• 但 GC 不是实时的

24

Faster Startup

• 更快的虚拟机启动– 对系统类进行 ROMization 优化– 利用 MVM

• 更快的应用程序启动– 分别校验– 缓存校验过的类– 应用程序类和共享类库的二进制转换– 运行时针对启动做出特别优化

25

Co-processors and Hardware Accelerators

• 在线编译器在必要时生成 inline 代码• 利用浮点协处理器 ARM VFP• ARM Jazelle 加快启动速度• 利用扩展指令集加速

– 利用更多的扩展寄存器 (Xscale)– 缩短可执行代码 (Thumb2EE比 vanilla ARM 代码小 1.6倍 )

26

On Device Debugging in CLDC-HI

• KDWP– JDWP 的轻量级子集

• KDP 代理– 在 host 端执行– JDWP-KDWP 转换

IDE CLDC-HIKDP

agentJDWP KDWP

27

MIDP and more...

28

<Insert Picture Here>

Features beyond MIDP 2.1 specification

• 多任务• MIDlets 通讯管道• 动态组建• UI 增强• 手指触摸事件• 自动启动 MIDlets

29

Multitasking

• 在一个 JVM 里运行多个 isolates• 在 MIDlets 之间共享系统资源

– Ui皮肤– 系统类库

• 更快的 MIDlet 启动• 在运行的应用程序之间快速切换• 一个 MIDlet 的意外终止不会影响其他的 MIDlet

30

Dynamic components

• MIDlet 共享 JAR 文件• 动态组件装载• JAD属性定义组件之间的依赖关系• 用动态组件版本管理来防止 "DLL hell"• 支持多层次组件依赖• MIDlet对组件的依赖由 AMS 自动解决• 不再被使用的组件由 AMS 自动删除• 动态组建可以使用 Native 方法

31

MIDlets communication over pipes

• 异步双向流式连接• 类似 sockets: server/client 管道连接• 基于 Links API (subset of JSR 121)• 对于 MVM中运行的多 MIDlet 应用没有并发安全问题• 管道可以为运行在另一个进程环境下的共享组件提供

通讯接口• 使 MIDP 应用程序组件化• 管道事件与 MIDP PUSH事件集成

32

UI features and extensions

• 高性能 UI 实现• 自适应不同屏幕尺寸• 支持动态皮肤• 多级菜单• 加速的底层图形系统

– 图形放缩 /旋转 , 带 alpha混合的矩形填充– 为 LWUIT 进行优化

• 支持 0, 90, 180, 270 度屏幕旋转• 支持虚拟键盘• 将“ Yes to all” 选项加入所有安全提示对话框

33

Finger touch events

• 更加智能化的触屏事件处理• 更加注重手指触摸的准确性• 支持滑动

34

Autostart MIDlets

• MIDlet 在设备启动时自动执行• MIDlet 通过 JAD属性告知 AMS 自动执行• 自动执行的 MIDlet也可以由用户手动控制执行 • 自动执行的 MIDlet意外终止时, AMS 可以自动重新

执行此MIDlet

Q&A

36

Safe Harbor Statement

© 2010 Oracle Corporation – Proprietary and Confidential

The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions.The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

37

38

We encourage you to use the newly minted corporate tagline“Software. Hardware. Complete.” at the end of all your presentations.This message should replace any reference to our previous corporate tagline “Oracle Is the Information Company.”


Recommended