`
阿尔萨斯
  • 浏览: 4180531 次
社区版块
存档分类
最新评论

中国移动如何用Java做开发

 
阅读更多

我今天介绍的内容包括四部分,第一块将介绍中国移动目前采用JAVA技术实现的业务端,第二部分将重点介绍一下中国移动最终推出的JAVA4.1 版本的相关内容,第三块我将介绍为了这个规范提供的一个配套的应用开发工具的相关的功能以及它的一些里边的构建情况,最后我会对这次演讲做一次总结。

  随着目前终端的软件和硬件能力的不断增强,终端已经从它传统的电话和短信的功能逐渐地去扩展出去了,我们可以看到,在目前终端已经能够提供很多增值类的业务功能,比如说游戏、移动办公、照相、移动上网诸如此类的新的功能,这样的功能增加直接会带来很多新的变化,从上边我们可以看到,对于用户体验方面,用户会获得更加良好的用户体验,会有一个更强大的通信能力,我们现在有更多的,比如说我们可以给用户提供像视频类和这种游戏类的服务,可以提供像现在我们正在非常关注的移动互联网的业务内容,可以提供采用互联网网页展现的一些用户体验。

  对于运营商而言,我们其实可以看到,直接我们运营商在增值服务这块的利润会快速增长,下面这张图可以看到,这是中国移动在2001年上半年和2008年上半年在增值服务里增长的类比,从这张图上我们可以看到,我们的增值服务由于终端本身的能力增强,新的增值服务的加入,我们增值服务的收益和整个的利润率是在快速增长的,但是从传统的手机或者说我们的移动终端而言它原先只承担话音和短信类的功能,现在赋予它很多的移动的应用,这些客户端的需求,我们就面临着一个问题,我们怎么能够快速地把我们这些应用部署到我们的终端上去,这时候我们就面临着一个问题,我们的客户端怎么去部署,尤其是在存量市场中我们存在着大量的非终端,这种情况下我们面临着这样一个挑战。

  面对这种挑战我们可能需要有很多的技术选择,这里我想介绍一下JAVA,因为JAVA是一个跨平台技术,一直秉承了一种为了解决终端上的差异性,为了解决终端的开放性问题提出的技术,在这里我们可以看到,JAVA目前包括产品和技术都是覆盖非常广泛的,全球统计来看,总共是有60亿台的JAVA设备,另外有35亿张的JAVA的智能卡,手机已经有22亿部,JAVA还引入到像机顶盒等家庭设备当中,在全球总共有180个移动运营商提供JAVA服务,之所以有那么多运营商采用JAVA呢,是因为我们在面临的大量的存量终端,目前来看JAVA是唯一一种可以实施用户的客户端下载安装的一个技术,我们为了更大范围地给用户提供这样的服务,我们大量地运营商都在采用这种JAVA技术部署我们的客户端,当然了,各JAVA技术作为一个全球覆盖范围很广的技术也有大量的开发者资源,在全球大约有600万个JAVA的开发者活跃在我们的社区当中。

  下面我想介绍一下中国移动利用JAVA技术实现我们的客户端的现状,这张图里列了我们有三个业务,第一个是我们的手机地图业务,目前我们已经拥有了通过JAVA业务实现的客户端,我们会向客户提供导航服务,提供像PIO的信息,还有我们可以给用户提供像公交线路和自驾的指导的功能,帮助用户选择出行的线路。第二个我们实现了中国移动的二维码的客户端,通过JAVA平台启动终端本地的摄象头功能,解读各种各样的二维码的图片,最后通过二维码的识读,实现名片或者产品信息的获取,第三个,我们目前中国移动一直在重点推进的业务,就是音乐客户端,我们为用户提供了包括像无线音乐俱乐部,像流行音乐推荐,以及铃音多媒体彩铃一系列的服务内容。

  下面我想介绍一下,我们同时向用户提供了,比如说像飞信业务,这个可能大家比较了解,这是中国移动目前推出的一个IM的服务,目前整合了像短信、彩信、电话还有博客以及邮箱服务等,形成了一个综合的IM客户端,在目前这个数据是介质2008年5月份的数据,我们当时总共有八百万的注册用户和两百万的日常活跃用户,已经初具规模了,同时我们客户端还可以实现PC到电话以及电话到PC的双向的数据互通以及同步的功能,我们为了满足像前一段中国活跃的股市,满足用户对股票的需求,我们提供了移动证券的业务,我们会提供实时的股票信息,还有专家的鉴股功能,以及实时交易,以上这些客户端我们目前在中国移动都推出了使用JAVA技术的客户端,可以说从2005年以来,中国移动一直在不遗余力地通过JAVA技术实现我们对业务的部署和对业务逻辑的设计。

  下面我想介绍一下中国移动JAVA终端规范4.1版本,这本规范主要用于规范手机上的JAVA中间件,虚拟机,我先想简单地说明一下我们为什么要需要一本JAVA规范,在这里其实是一张老图了,基本上把JAVA技术以及JAVA虚拟机它的演进,以及虚拟机按照功能和能力划分除了很多分类,移动终端而言,我们主要是关注JAVATOME的功能,JAVA技术产生之初,明确地提出了这样的目标,希望自己成为完全跨平台的技术,作为移动终端这些嵌入式设备,之所以之初引入了JAVA,考虑到JAVA的平台性,我们的嵌入式设备存在着很多设备之间的差异性,包括我们的操作系统包括我们的硬件层面都有很多的不同,所以我们希望通过引入JAVA来屏蔽底层的差异性,向上为我们的应用提供统一一种API的能力,目前的实际情况,由于嵌入设备的差异性,我们发觉由于不同技术的实现,存在着大量的问题,所以我这里提到了,是在很多地方都存在了分裂或者差异,正因为存在这种分裂和差异,所以我们需要采用规范的方式,尽量地标准化,来自于不同厂商的JAVA虚拟机的产品,保证能为上层的应用提供相对比较统一的API的能力和范围、功能。

  在这个产业界为了解决这个问题,成立的一个叫JAVA的组织,在这个组织里边,我们通过制定像JAVAJS2,这种国际规范来实现对JAVA虚拟机当中的不同的标准化的工作,为了配合规范的实施,因为JAVA的情况比较特殊,它的规范都是在对API层面的接口进行定义,这就光光靠一本文字性的规范远不能解决一致性问题,为了解决这些问题,同时在JSP组织里,配合每本规范都会有一个参考实现,以及一个为了保证API一致性会提供一个一致性测试工具叫TCK,中国移动基于目前JSP的工作,加上我们中国移动对虚拟机的自有需求,我们编制完成了中国移动自己的JAVA虚拟机终端规范,为了保证我们这本终端规范可以有效地实施,我们同时开发的两个工具,第一个工具叫做CETS,中文名称叫做中国移动JAVA终端测试套件,我们主要为了保证中国移动JAVA规范当中API测试的一致性,解决兼容性测试的工具,同时我们还开发了一个叫做CETK的工具,这个工具就是我们传统意义上的一个STK工具,因为我们现在规范了一个JAVA虚拟机的平台,我们为了保证在这个平台上的所有应用,在开发过程中完全符合我们的平台的环境和能力,我们为我们的开发者提供STK的工具。

  这张图是我对中国移动JAVA目前生态环境的简述了,我们采取的策略不是为我们所有的终端厂商提供虚拟机代码,而是通过我们编制移动的JAVA规范,规范我们终端厂商他们的JAVA虚拟机产品,同时基于这个规范我们会给我们的应约提供商提供个STK工具,帮助他们在我们规范好的JAVA虚拟机平台上开发更符合中国移动需求的工具。

  简单介绍一下中国移动JAVA终端规范的历史,其实中国移动JAVA规范已经有很多年的演进了,也演进出很多版本,我们之前曾经有过中国移动JAVA1.0和2.0规范,那时候没有提出规范要求的,当时只是对下载过程提出一个要求,从中国移动3.0开始,我们开始对中国移动的定制终端的JAVA虚拟机做出要求,可以说中国移动JAVA3.0规范是一个划时代的规范,是中国移动第一次尝试虚拟机的产品,它的发布是2005年9月,这里面涵盖了当时对于3.0规范里包含的对于各个JAVA的API的要求和它们的一些功能的澄清了。但是当时这本规范的编制大环境是这样的,当时在中国移动上开始有JAVA的技术引进,但是JAVA的应用还是只限于一些游戏类应用,其实中国移动还没有开始把自己的业务客户端采用 JAVA规范实现,这本编制里主要考虑的是游戏应用和简单的JAVA应用,是基于当时的JTWI的框架编制和实施的。

  从05年开始,中国移动不断地去扩大自己在增值业务领域的影响力和我们的一些能力,所以陆续地出现了很多新的增值业务,这时候我们就面临了一个问题,我们的3.0规范在编制之处并没有考虑我们自有业务的新生的需求,没有考虑一些新的能力的客户端对终端本身的要求,根据我们新生的业务客户端的需求,我们07年的时候着手编制中国移动JAVA4.1的规范,我们在编制之初,我们分析了我们的业务端和JAVA的能力要求,包括飞信,我们当时发觉,像飞信需要保存文件,需要有运行能力,像JAVA虚拟机都是单任务,只能在前台运行,没有办法回到后台。

  我们通过对这个分析,我们就提出对中国移动4.1的规范,我们在4.1规范里,08年9月发布的,我们除了包含JSP里面的国际标准JSR以外,我们还提出后台运营能力的要求,包括中国移动扩展的API的要求,同时为了降低差异性进行了很多的澄清。这是一张框图简述了我们中国移动加入4.0规范里面,对于国际的标准和分级,为了配合JAVA规范的发布,我们也开发了测试工具,就是CETS,在这个测试工具里本身具备一些特点,比如说它完全符合JAVA终端的规范,本身整个的架构都是采用JAVA语言开发的,具有比较良好的兼容性,同时它的测试可以支持一些方案的导入,可以快速地更新一些测试的用力包,我们的规范还在滚动地往前发展,所以会增加用力,同时考虑到测试过程中可能需要进行一些输出和显示,帮助调测试,同时还会有像测试源码的描述,提供这样的测试工具,我们要达到的价值是什么?首先提供效率,另外提供检测的能力,同时降低不同的终端之间的差异,保证中国移动需求的事。

  下面我回简单地介绍一下我们中国移动开发的CETK的工具,我们包括几块内容,第一块我们会基于定制化的服务提供开发者一个IDE,采用定制化的WTK作为我们的模拟器,然后我们会给开发者提供相应的应用开发指南,我们还尝试提供一个定制化的中国移动品牌的UI的控件。其实我们推出这个工具主要是想达到几个目的或者愿景,一个我们为了快速地实现运用开发,能够为中国移动的统一品牌展现提供一些STK,同时通过STK我们可以降低终端差异性改善最终用户的使用体验,另外我们提供丰富的模拟器的模拟能力,保证我们的开发者在 PC上开发和在终端上的体验一致的,可以提供比较方便快捷的方式,会聚开发的力量。

  我们提出了减少差异,快速应用部署,快速的方便部署,在这边我们提供了一些解决方案,包括我们一些深度定制的模拟器,包括一些KDWP在线的调试技术,以及包括像我们一些基于LCDUI的UI的设计工具,这后边都是一些具体的,包括像IDE的介绍,包括模拟机架构的介绍,包括开发指南为用户提供的指导,我们在外边的展台上有展示,所以不赘述了。

  最后我想做一个总结,我们开发这两项工具,以及我们提出JAVA4.1规范要达到四个目的,第一,希望通过规范和工具连接整个中国移动JAVA的生态链,同时为了把中国移动的JAVA规范和我们的实际JAVA应用有机地联系起来,最终能够简化中国移动JAVA应用开发和部署的成本和时间。我的演讲到此结束,谢谢大家

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics