BREW
BREW的概念
BREW就是无线二进制运行环境(Binary Runtime Environment for Wireless)的缩写, 是
高通公司2001年推出的基于CDMA网络 "无线互联网发射平台" 上增值业务开发运行的基本平台。相对Java,BREW是一个更底层的技术。
BREW提供一个高效、低成本、可扩展和熟悉的
应用程序执行环境(AEE), 着重开发可无缝植入任何实际手持设备的应用程序。制造商和开发人员可以随时对运行环境进行扩展,提供应用程序需要的各种附加性能模块,如"无线互联网发射平台"中包含的多媒体、多种连接方式、位置服务、用户界面、网络等功能套件。BREW提供的功能环境就好像PC机上的
操作系统一样,可以通过服务提供商下载指定类型的应用程序或游戏来使用。同时,通过BREW接口功能,供应商可以提供成套的完整的资讯、商务、娱乐功能。在将来的版本中,BREW内核类将能提供诸如蓝牙技术、
全球定位系统(GPS) 和基于数据业务的电话等服务。由于需要更少的内部
应用程序开发和集成任务,OEM 可以更加快速地推出新设备。用户可以选择和下载适合自己个人喜好的无线
软件。通过这种方式,用户将推动新的无线数据应用程序和服务市场的发展。
BREW主要应用在移动通信领域,BREW类似一个开放免费的PC操作系统,其他厂商可以在这个平台上设计各项应用。作为一个手机应用平台,BREW能支持高速上网、下载游戏、无线购物等几十种数据业务。厂商使用BREW设计一款应用软件,所有装载高通芯片的手机都可以使用,不会出现JAVA(另一种平台)上不同手机型号需要分别设计的麻烦。此外,BREW还兼容其他语言,包括JAVA、FLASH。
开发技术
BREW的执行环境称为BREW AEE(Application Execution Environment),这是一个中间层的应用,具有高效、低成本、可扩展性。一般所见到的BREW例子都是用C写的,不过BREW开发是完全支持C++语言的,2003年宣布支援Java语言。2002年7月份于San Diego举行的BREW开发商大会上,IBM和Insignia展示了BREW环境下的JAVA virtual machine(JVM)。HP也将其MicrochaiVM平台转向了BREW。IBM将在WebSphere Studio Device Developer产品中提供一个BREW开发套件。
BREW SDK至今已发行多套版本,1.0, 1.1, 2.0, 2.1, 3.1, 4.0.4,并且向下相容(backward compatible),目前最新的版本为4.0.4版。SDK是BREW所提供的是一组API函式集合,OEM开发厂商可以利用BREW建立用于无线装置(现是无线电话)的应用软件。
对手机领域来说,BREW是一种轻型客户端(thin client),大约占用150K左右的内存空间,介于应用程式软件和底层系统软件(Application Specific Integrated Circuit,ASIC)之间。因此,开发厂商可以于不相关装置电路(device's chipset)或无线接口(air interface)的情况下,独立开发BREW应用程式。CDMA(Code Division Multiple Access)chipsets是QUALCOMM公司的专利(specialty),但是BREW一样可以执行在使用其他无线接口标准的手机上。
BREW SDK是免费提供的,但开发者仍须安装Microsoft Visual C++ 6.0或其后续版本Visual C++.NET,方可使用由SDK提供的BREW Simulator来开发和测试应用程式。BREW Simulator是一支Windows程式,可以类比电话上的AEE(Application Execution Environment)。应用程式可以DLL的形式执行于BREW Simulator中。因为DLL只能用于Windows平台,BREW Simulator可以执行这个DLL。目前市面上的手机大部分采用ARM kernel,非关于DLL档。
BREW的应用程式执行环境(AEE)是一个精巧的软件接口层。设备厂商将它集成在各自的软件中,以支援BREW API和执行环境。在一个新终端设备中提供AEE要求设备厂商只要移植AEE即可。此外,BREW Emulator中提供了一个AEE的Windows port,所以BREW Emulator可以执行针对Windows的小程式。由于AEE占用的随机内存和快闪存储器极小,适用于低端(low end)主流机型。
除了向应用程式提供BREW API服务,AEE同时管理著应用程式的执行,及时回应用户和一些紧急事件,比如说,一个正在执行的BREW应用当有来电呼入时,可以自动立即暂停(suspend);并在通话完毕之后,再自动恢复(resume)工作。
在BREW环境中,Module是基本的组织单位。发展一个BREW 应用程式可以从三个部份来解读,Module, Applet,以及Extension。一个Module可以包含一个以上的Applet,也可以包含一个以上的Extension,如下图所示,Module A拥有一个Applet A, Applet A再引用Extension X;而Module X仅拥有一个Extension;至于Module B则拥有两个Applets,以及一个Extension。有些Module是出厂时的code space(OEM Module image),也有Module是通过下载方式(download)储存于档案系统;这些Module依性质可区分为静态(static)和动态(dynamic),主要包括:dynamic Module(Applet),static Module(Applet)和dynamic extension class(Module)。
BREW的主要内容
BREW 运行时环境是一个较薄的
软件接口层,位于芯片系统软件和应用程序间的无线设备上,使最终用户可以无线下载程序并在启用 BREW 的设备上运行。BREW 具有较高的闪存和 RAM 使用效率。它包括以下内容:
(1) BREW 应用程序平台
完整的 BREW 解决方案始于无线设备上驻留的开放、标准应用程序执行平台。
● 瘦薄 - BREW 并不仅仅是为 PC 或 PDA 开发的产品的缩减版本,它比其它应用程序平台或成熟的操作系统小许多倍。
● 开放 - 除本地 C/C++ 以外,BREW 还支持其它多种语言,包括 Java、可扩展标识语言 (XML)、 Flash 等执行环境。而且,由于它可以驻留在采用 Palm 等任何移动操作系统 (OS) 的智能手机上,因而可使用 BREW 发布系统 (BDS) 无线下载为这些 OS 编写的应用程序, 并像 BREW 应用程序一样使之商品化。
● 可扩展 - 第三方可以为 BREW 平台编写扩展,从而向应用程序提供附加功能。
● 成本效益高 - 降低开发成本,并缩短设备制造商的产品面市时间。设备制造商可以在开发应用程序和为不同型号产品配备应用程序方面花费很少的时间,而将更多的时间投入产品设计。
● 安全 - BREW 对基本的电话和无线网络运行提供保护。
(2) BREW 移植包
BREW 平台所承诺的无限简化产品与服务的开发和制造, 其核心就是BREW移植包。它缩短了将
BREW平台集成到新研制设备中的过程。
(3) BREW SDK(软件开发包)
BREW SDK 可使开发者使用标准工具在熟悉的环境中工作。 也就是说,可以在无需知道芯片系统
源代码及与设备制造商没有直接关系的前提下编写基于 BREW 的设备中使用的应用程序。
(4) BREW 发布系统 (BDS)
BDS 使运营商可以轻松地将从开发者手中获得的应用程序投放到市场,并协调结算和支付。
运营商可以根据需要调整 BDS,包括管理他们自己的应用程序发布及定价、选择第三方管理应用程序。
(5) 应用程序类型
BREW 使用户可以仅以所需的应用程序来自定义手持设备。 用户只需按几个按钮,即可从众多的应用程序中进行选择。
● 通信 - 即时通信、
电子邮件、 铃声和其它互动消息传送
● 定位 - 映射、浏览、 交通和其它特定定位内容
● 效率工具 - 移动同步办公应用程序和实用工具,提高了个人效率
● 游戏 - 单个玩家和多个玩家间的互动游戏
● 移动商务 - 帐户余额、零售、股票交易等金融交易。
● 娱乐 - 音乐、录像、幽默,甚至追踪某一事件
● 信息 - 航班跟踪、新闻、天气、 体育和其它日常信息
● 扩展 - 开发者可以在应用程序中使用的强大的 BREW 平台第三方扩展
BREW具有的几个优势
优势一
第一,对于运营商而言,BREW技术与网络完全无关。这意味着它可以完全平等地应用于所有领先的无线技术之中。BREW平台还能与现有的
电路交换网络非常成功地配合使用,可以满足各方的需求,其中包括那些在近期无法建设分组网络的运营商以及那些正在部署分组网络的运营商。这一点同服务器端解决方案(如WAP)相比,差别很大。BREW平台凭借其用户端执行功能而完全不受网络延迟的影响。更加高级的网络可以提升BREW的性能,但是无论如何,BREW可以为任何现有的2G网络或今后建设的网络提供美好的用户体验。即便没有3G网络,BREW应用也能提供功能强大的服务。同时,BREW可以随网络和设备的升级不断演进发展。
优势二
第二,对于设备制造商而言,过去移动数据服务的事实证明由于价格偏高,高效操作系统并非实现无线数据应用的高效解决方案,而理想的情况是,应用应完美适用于各类不同档次的电话,充分利用电话的资源,为用户带来无限美好的体验。BREW应用运行环境可以同移动设备闪存和RAM中的处理芯片紧密集成,从而实现广泛适用性。从本质上讲,BREW可以在移动设备的低级功能与第三方编写的高级应用之间提供软件连接。这种方案的优势显而易见:软件开发变得更加顺畅,效率得到提升。BREW这种软件移植的简易性使得BREW功能适用于任何一家手持设备制造商。BREW平台独立于空中接口,可以移植到CDMAIS-95A、IS-95B、1x、1xEV-DO以及GSM/GPRS手机中。由于BREW在整个系统中仅占用大约150k的存储容量,制造商可以在低端电话中提供更多实用和有趣的应用这种简单而廉价的芯片级集成意味着BREW可以满足大众市场的喜好。
优势三
第三,对于应用开发商而言,向市场快速推出新式应用是软件开发商赖以成功的关键所在。BREW执行平台基于普及型编程语言C/C++,这种语言拥有庞大的用户群,目前已有700万开发员使用这种语言,他们只需掌握很少的移动电话知识即可实现BREW支持。BREW开发工具套件则是免费下载的。而Java程序员同样也可以从BREW的芯片级集成中获益。通常而言,Java应用需要Java虚拟机(JVM)的支持,IBM编写出一种单独的JVM,以此作为BREW的扩展。Java开发人员可以充分利用这种JVM一次性编写Java应用,并在所有支持BREW的设备上运行它们,而无需考虑制造商是谁。除此之外,BREW使得Java应用在手机上的安装变得更加简单轻松,并且能够通过无线方式实现JVM的升级和招回。借助BREW,Java应用可以在更多电话上更加轻松地运行。更为重要的是,BREW解决方案包含全面的计费和支付基础设施——BREW分发系统,该系统可以保证开发商能从自己的应用中赚取适当的利润。
优势四
第四,对于手机用户来说,由于BREW可以在芯片组级别进行集成,让
网络运营商向成本最低的移动电话提供实用的应用,即使十分注重价格的用户也可以在自己手机上获得新的应用。用户通过BREW手机享受丰富的BREW业务,用户可通过无线下载在BREW平台开发的各种有趣而实用的应用,充分享受个性化手机带来的无限乐趣。
优势五
另外在中国联通宣布此次开通BREW业务之前的几天,全球最大的CDMA移动电话制造商韩国三星电子宣布将在
中国市场推出三星SCH-X339CDMA1X手机。该手机还支持中国联通的全系列增值业务,包括BREW应用下载、彩e(U-IMAP)、互动视界(WAP1.1)以及UTK
短信增值业务
Binary Runtime Environment for Wireless 无线二进制运行环境
高通(QUALCOMM)公司推出
一个
手机操作系统(OS)
为无线数据服务提供的一整套端到端的解决方案
中国联通公司负责运营
相对于
Java平台的操作系统,BREW是有很多优点的:它安全性比较高,而且覆盖面比较广,目前联通90%的手机都能支持BREW,但是
中国移动的低端机就不具备JAVA。另外,Java虚拟引擎是要内存的,会增加成本,而BREW就不要,低端手机上直接就能预置BREW。因此可以想到,我国有很多小灵通用户,对超低端的需求比较明显,想想如果换成一部装了操作系统的中国移动的手机,跟BREW面前根本没有低端的强大优势。
更多详细信息
BREW 平台是无线应用程序开发、设备配置、应用程序分发以及计费和支付的完整端到端解决方案的一部分。BREW 解决方案包括以下组件:
面向设备制造商的 BREW 应用程序平台和移植工具;面向应用程序开发者的 BREW 软件开发包 (SDK);由网络运营商管理和控制的 BREW 分发系统 (BDS),利用该分发系统,运营商可以轻松地将开发者开发的应用程序投入市场并协调计费和支付过程。
BREW 是什么
那么,BREW 是一种操作系统还是虚拟机 (VM)?两者都不是。BREW 是一个位于嵌入式芯片操作系统之上的抽象层,它能够提供对一些低级功能、环境变量和子程序的访问功能。它不是VM,因为它并不充当
解释器,而 J ava VM 在运行时会解释编译的
Java 程序类文件的字节码。
另一方面,BREW 类似于使用 C 语言的嵌入式开发。与 J2ME 不同的是,开发者可以编写 C 代码,该代码将直接为高度受约束环境中的 ARM 处理器进行编译。这样可使 BREW 编译代码在大小和执行上均更为有效。开发者可以在 BREW 中编写小于 50KB 的全功能邮件客户端程序。BREW 还允许访问将应用程序与 TAPI 接口集成之类的系统级功能。例如,用户可以从 BREW 应用程序内部进行语音呼叫。在 J2ME 环境下这是不可能实现的。