首页邀请函下载&示例技术观点关于OperaMasks
 
当前位置:广州站
精彩图片
 
现场实录


广东软件协会秘书长 黄跃珍:
我占用大家很短的时间,大家都期望看到蔡总的演讲。这段时间很高兴,感觉很兴奋,我们在6月份的时候才共同一起邀请了国际上顶尖的软件专家、领袖到广州。我们当时在做邀请的时候,都是面对工程师、IT的人才,为什么呢?因为我们之前跟金蝶等公司交流的过程当中,发现一个很大的问题,就是广州这边很缺像Java的工程师。

记得在那次会议上,金蝶专门跟几家公司一起做了一场应用服务器件方面的专题论坛,今天又在这里做一场推动我们新的Web开发框架的活动,通过这个活动,我们希望把广东的软件推入到一个比较深层次的发展。今天我们是在做中间件,我们是在做操作系统以上,数据库以外的中间件应用,也就是说从这一步能够突破,用我们自己的中间件去做自己的应用,那么广东、中国的软件就有希望了。

不管怎么说,我从别的地方努力争取给大家一些好的回报,比如我该做的事情就是你们在Java上面,在社区上面得到嘉奖,我在讲这个之前,我跟大家讲一下国际上的社区不知道大家是否了解,国际上的社区有领袖,如果在社区里面拥有一席之地,本身在行业里面拥有领先的位置,无论在什么公司、什么单位。国际上的中国人的社区是寥寥无几的,所以讲这个的意思是希望大家通过这个机会进入社区,使你们自己的技术能力得到更深的提高,我做什么呢?我做的事情是如果你们提高了,那我从方方面面得支持、帮助,或者将来设定一些基金让大家去美国参加国际上技术性的会议,某某公司或者政府提供资助和帮助,总之广州市的市长在去年提出抓软件像抓汽车一样的决心,而且每年拿出1.5亿的专项资金来抓软件,我们现在是软件的春天,希望大家不要只停留在别人的基础上有一点点的开发就自我满足,更深一步的走进去,今天感谢金蝶贡献的开源社区,我们走到中间件的开源社区,越核心你的价值就越高,就越厉害。我们要进一步往前走,走到数据库、操作系统里面去。最后感谢金蝶公司为大家提供的机会,谢谢大家!

 

方欣科技有限公司 陶宇:各位来宾下午好!今天很高兴有这个机会,介绍一下我们公司跟Apusic的解决方案,我大概回顾一下我们公司的大约情况。我们公司成立于1995年,1999年时候Java的企业开发刚刚起步,做了面向纳税人的Web虚拟化这一块,我们公司的主要开发方向都是在J2EE的领域,然后现在公司大概的情况是这样,我们公司注册资金是5000万,员工300多人,这里面软件开发人员200多,目前主要的客户在华南地区广东、深圳、福建、江西、四川等地,我们主要做政府信息化这一块,所以会有例如系统集成,安全涉密机制要求比较高。

方欣科技的市场定位从几个大行业来看,税务这一块我们参与税务总局金三规划,我们是主要参与者之一,我们的产品主要覆盖华南地区,当然包括北方的部分市场,我们的解决方案覆盖了税务基本所有信息化的领域,包括核心业务系统,也包括面向纳税人的服务。政府行业这一部分,我们在广州这一块是大本营,所以像广州政府的信息化,信息门户,深圳市政府数据交换平台。还有2010年的信息门户的建设由我们来做,所以刚才看到的奥运金牌榜可以搬过去用。

我们在企业是刚起步的状况,对于中小企业我们建立了覆盖面超过10万户的服务网络,下面跟大家讲一下我们公司在这段时间以来的技术积累情况。我们公司从1999年开始做Java企业级的开发,再之后我们跟IBM、BEA合作,基本上每一个主流的中间件厂商的平台上面我们实施过项目,当然包括Apusic,2004年我们公司内部形成了开发框架,是基于内部已有的积累,还有业务领域的构建,还有面临用户的构建,在产品线路上面形成了信息门户,在线交易系统,跟行业客户有一定的关系。06年我们产品进行了比较大的升级,推动了FBRP的平台,根据多年技术上的支持,定制了按需业务平台。所以这里会讲到为什么后面跟Apusic合作,Apusic对我们的平台起了非常好的补充作用,这个国家得到了国家发改委的立项支持。

下面大概讲一下我们解决方案的内容,大家看到这个图是税务行业信息化的蓝图,政府行业里面税务信息化走在前面,也是业务最复杂的信息化系统,这里面分几个层面,中间看到最款的这一列是业务利用层,主要包括税局内部用的系统,里面涉及到征收、税收包括这里面,左边是纳税人的服务,包括纳税人通过互联网进行申报、缴税的业务。今年大家超出12万,会利用到网上报税系统,后面游服务层和资源层的构建,这是基础的组件。下面大概讲一下我们基于J2EE的平台,FBRP的大致架构,首先是系统平台,我们有内部的们门户平台,然后作为内部服务的整合,我们有两套ESP的系统,第二面向数据交换的,可以在不同系统之间进行地层的数据交换,还会有基础类库,这是FBRP的主要组成部分。这个是平台的架构,跟传统的J2EE架构分成图不一样,是基于现有的积累整合的,这个把我们公司的业务组件,包括第三方的组件通过平台发布对外,再后面有可能是我们开发,也可能是第三方开发的业务服务。

前方是我们跟Apusic的环节,把我们的业务、数据,业务特性展现给最终客户,实现跟用户的交互。这里一个应用架构的描述,主要展现在低层有不同的接口,最终到展现层是最粗的接口。

下面讲一下发展策略,我们平台从06年提出来,有一些问题在项目支持的过程中明显感觉到。首先看一下做J2EE所面临的问题,各位介绍的时候讲到过一些,我这里大概提一提,首先是开发效率的问题,还有人员培养成本的问题,还有开发框架的升级,都是架构式的框架,但是对于最终用户对于开发人员而言,这些框架起到的帮助作用不是太大。我们公司去年实施的深圳项目里面,刚才提到了投入80人,主要的工作相当一部分的精力做公共框架的门户工作,要开发一些框架,而这些人是最好的程序员、架构师,最终产生了业务价值,但是不是跟直接业务有关的事情,我想大家也会面临这样的问题。

然后基于体会提了策略出来:

一、基于FBRP为核心,保证整个架构可扩展,因为面向的客户类型越来越多。

二、整合市场上领先的第三方框架。我们做了类似的评估,结论是看到的视野里面,OperaMasks是我们看到的可用度最高的平台。

1、相对比较成熟、可持续发展;
2、对用户体验和开发效率有重点提升的地方;
3、学习成本比较可控,我们去做项目的时候,开发人员慢慢加进来,刚开始在20人以内体会不出来开发成本的问题,去到40人,最后上升到60人的开发人员的时候,培训的成本非常离谱。
4、有比较多的成功实施案例。

最后大概讲一下跟Apusic合作的几个方面。合作目标就是希望优势互补,专著在我们的业务上面,Apusic提供比较好的框架,我们可以形成有优势的解决方案,各自把业务的东西做好,Apusic把开发框架的东西提供给我们。分工是我们关注在解决方案本身,关注应用平台,Apusic作为基础设施,提供包括中间件以及开发框架的支持。

作为我们来讲,我们希望我们公司能够逐渐从原来的技术导向慢慢转向业务导向的产业链,大家做这些项目从操作系统,应用系统开发整个一条线自己通吃,在我们公司希望经理专著在做业务方面,上面的应用开发可以外包给别人,这样我们的价值才能够最大化。

市场方面,这里可以说一点,Apusic之前面对政府信息化方面;技术方面将ApusicOperaMasks与FBRP进行整合,丰富FBRP的展现层构建库。人员方面建立长效的人员交流和培养机制。

这里是我们之前评估的时候,利用ApusicOperaMasks对FBRP带来的价值,首先在用户体验的提升,大量丰富了RichClient界面组件,符合桌面UI风格的展现形式,基于Ajax技术来优化用户与系统之间的交互。

刚才就主要我介绍了方欣科技和Apusic在解决方面的内容,大概就是这些,谢谢大家!

 

金蝶中间件总经理 蔡军:各位广州软件业的知识工作者,大家下午好!今天看到各位同事们聚集一堂,非常的高兴,也非常的激动。这么多中国软件的精英汇聚到华美达酒店,共同探讨JavaWeb开发解决方案。非常感谢广东软件协会的黄秘书长给我们的支持。

Web作为全世界、全人类最重要的一次发明,其实在默默无闻的影响着我们的生活和工作,正在改变这个世界。我们看到这张图的左方,是北京的山顶洞,在遗址中间发现50万年前发现了火的存在,某种程度上火的发明开辟了人一个新的征服自然的能力,是人类文明的代表。我们看到很多历史的发明,像印刷术,发明的人没有看到自己的成果,也无法感受到自己的成果给人类带来的巨大意义,但是互联网1991年8月6日,蒂姆·李在日内瓦发明了web的工具,后面有了Web的浏览器,这样这个外部环境就诞生了。他因此也获得了人类最新时代杂志评为人类最伟大的科学家,像爱迪生、牛顿都在他之后。我们说Web无处不在,弹指一挥间,Web由简单的信息发布转化成可交互的信息应用系统,我们所处的世界里,Web的存在发生了巨大的改变,信息查询与发布,电子商务,我们身边的哪一项与Web没有关系?

世界是平的,Web在改变经济与生产活动,大家都了解《世界是平的》这本书:

这里面讲到的推动世界成为平的这十大动力都离不开互联网、离不开软件,离不开Web,世界是平的,互联网在推动经济和生产运行,把世界变得更直接。我们看到屏幕上这些网站,其实互联网以难以形成比较的速度形成了一些世界级的企业,比如Ebay等大公司,他们成为世界500强的时间要比微软快很多倍。互联网带来的东西可以说在我们中国也有很多例子,比如我们的QQ、百度等等,其实我讲这些例子很多都是大事化,在座的技术同事也都非常了解,说明Web正在改变我们的世界。

我们看到平时在工作和生活非常熟悉的环境里,这些网站,这样的环境当中,而我们的邮件、新闻、技术网站、下载、视频、音频,现在生活也非常多的依赖,事项如果没有Web的程序、网站,我们的生活、信息交互将会大大折扣。试想如果这样的工作环境,或者家庭生活环境,没有电,接不到互联网,工作和生活无法持续下去。同时Web也正在改变政治和公众的服务,人们通过Web通过各种形式聚合起来,我们称为网民,Web改变人类政治文明和社会公共服务的变化。一个馒头引发的血案,把《无级》这个片子打击得无法再卖。

Web也在改变软件,现在工作界面,至少我的工作界面,由于原来百分之百WINDOWS的桌面,现在50%在WINDOWS上,现在50%在Web的浏览器上。如果未来很多知识工作者,只需要一个浏览器,在电视、酒店上网,我们就可以浏览信息,可以打字、文字编辑,可以编代码、写程序,小小一个互联网的外部引擎都可以代替操作系统。原来的PC机多么笨重,还有硬盘、鼠标还有要安装很多东西,现在我们逐渐变成互联网的操作系统。另外Java在Web的开发,现在也持续了很多年,在某种程度上,互联网的诞生不是为了应用程序这样一个目的去出现,刚开始是以信息发布为目的,整个的Web结构更多是支持信息发布,到后期发展不断的净化,不断的发展,就做一些应用系统,交互系统,最早更多的是做新浪类似的新闻发布,后期做了很多像电子政务、电子商务的应用系统,其实Web很多结构性的问题并不是很好支撑,所以带来Web开发的工作量很大。

从另外一个角度,J2EE某种程度上应该说软件相对于十年前的软件开发,我认为是退步了,我们回想十年前VB开发效率是极其高的,我想在座很多的程序高手都做过这样的工作,我们可以编写很多东西,现在Java有很多的框架,几乎每年都有新的框架,但是开发效率多了吗?快了吗?有各种各样需要调试。比如金蝶原来搞研发,有一部分做J2EE,做J2EE要辛苦很多,在某种程度上J2EE的开发效率比较低,Java核心是开放,服务器端跨平台,客户端在开发商效率比较低。J2EE要开发Web是更痛苦的一件事,可以说效率非常低,Web本身处理比较难。Web开发碰到了很大的瓶颈。

Java的未来,Java在Web开发,现在是带给每一个软件公司的烦恼,一个Web开发,80个人要做一年,非常辛苦,而且整个的程序架构非常复杂。其实我们原来碰到的问题也一样,在金蝶的ERP开发中间,我们EAS开发的时间非常长。Java的复杂度和效率亟待提高,因此J2EEWeb开发,需要一次彻底的变革!

 

金蝶中间件总经理技术总监 张勇:大家下午好!蔡总给大家介绍了Web改变世界,我来给大家介绍一下我们怎么改变Web。正如蔡总在前面所属,Web改变了我们在座的每一位同仁的生活,时至今天,如果我们要去查询信息,我们可以去百度一下,如果我们买卖物品,我们可以淘宝一下。如果你想表现自己,可以去博客一下。Web深刻影响了我们在座每一位同事的生活。包括昨天晚上,我刚刚被Web改变了一下。昨天晚上我们的开源社区,我们有一个OperaMasks.org的网站,昨天晚上凌晨两点钟,他们说有黑客袭击我们的网站,所以Web给我们带来变化,也可能会带来苦恼。

今天我给大家带来的主题是Apusic OperaMasks的介绍。作为推动Web应用持续发展的Web开发技术,它又是怎样的?我们花两三分钟的时间回顾Web开发技术的变化。首先我们来看一下客户端技术,从94年后期和IE产生了浏览器大战,无疑这样的浏览器大战有利推动Web的发展。我们的Web应用并不简单是进入页面,我们具备了与客户的能力。最后我们要提的是…我们很纳闷,为什么在2005年一个崭新的词汇诞生,很多人对AJAX的技术褒贬不一,有人说它好,说是一次创新,有人说这个东西不过如此而已。他用的技术在很久以前就存在,但是事实上为什么成为时尚品,他给我们带来的意义是有效地带来Web应用的人机交互体验,也给我们改变了对Web应用不佳的印象。

我们再来看服务器端技术,能够跟客户交互的应用系统,这就意味着一种新型的应用系统的模式诞生了。94年PHP语言出现,由于他可以讲逻辑和页面绑在一起,他的诞生简化了 Web应用的开发。迅速成为微软WINDOWS的Web开发核心技术。同样J2EE借鉴了ASP语言的特点,并且成为J2EE核心开发技术。2000年J2EE和NET两大技术平台相继诞生,他们之间的竞争达到了白热化的程度。到02年程度,微软推出了全新的Web编程模型,有许多令人激动人心的特性,微软在Web开发领域这一块,取得了一些突破。我们反思在J2EE阵营里面,它的Web开发技术出于怎样的状况呢?从2002年,我们只要在J2EE里面开发Web应用,我们就知道三个词,是Servlet、JSF、Struts,我们不妨可以统计一下,现在至少70%、80%的用户依然在采用这Servlet这样的技术架构,那么这种技术架构到底能不能解决一下的普遍性问题?比如在座的很多都是搞J2EE开发,下面有很多的程序员,一个程序员需要懂JSF、Java等等,造成门槛比较高。再比如说,软件在经过这么多年的历史发展周期,其中的组件技术是提升软件复用度、进而提升软件开发效率的最有利的手段。但是在目前的J2EE Web开发技术中,我们缺乏一种标准的,并且得到业界广泛认同的组件技术。再举例说,Web的人机交互体验没有得到有效的提升。再举一个大家的切肤之痛,我们遇到过很多的项目经理,在开发应用的时候一开始信誓旦旦,我的外部应用支持FireFox,但随着开发项目周期进入尾期会发现这个目的永远没有办法达成。综上所述,我们说J2EE Web开发技术,期待一次全新的、彻底的变革。今天我给大家介绍的就是Apusic OperaMasks这样一个开源的J2EE Web开发解决方案。

我这里的标题是用最优秀的,但是优秀不是自吹自擂的,作为Web开发解决方案,衡量它是否优秀需要有几个因素,譬如说首先客户端,你需要解决客户端的数据展现,录入和编辑,还要解决客户端页面以及页面里面的组件的布局和样式、风格,还要解决客户端要能够跨浏览器,现在人们的选择是多样的,需要解决客户端和服务其的交互模式,包括最新的、最时尚的Ajax模式。还要考虑跟后台的业务逻辑打交道,还有分布式计算等一系列的基础式服务,当然所有的一切一切都需要良好的工具支持。为什么微软可以成功?微软有很优秀的工具支持,这是衡量外部解决方案是否优秀的指标。Apusic OperaMasks是怎么解决下述问题的?它提供了丰富的组件,Rich component,解决数据的展现,录入与编辑以及叶面积组件的布局问题,原生支持Ajax的JSF引擎,解决交互问题,同样OperaMasks完全兼容IE、FireFox等主流浏览器。OperaMasks解决了客户端和交互性的问题,服务器端我们有历经多年打造的Apusic OperaMasks服务器,有效解决存储、事务、安全、分布式计算等服务。我们解决了“所见即所得”的可视化设计,一体化的操作过程,提升开发效率。看起来金蝶中间件公司提供了比较完整的Web解决方案,但是完整意味着优秀吗?我们还看一下Apusic OperaMasks几个重要的技术特性,第一个就是原生Ajax支持的 JSF引擎,我们分析几句话,第一首先这是JSF引擎,为什么要基于JSF引擎?JSF与展现层无关的展现层技术,什么叫与展现层无关的展现层技术,首先说JSF是展现层技术,能够把组件通过一种模式把组件渲染成需要出现的展现描述,但同时这个是可插拔,可替换的,换成不同得以为着展现层发生变化。

其次叫原生支持Ajax,怎么理解?我们说并不是我们一家提供了JSF引擎,有蛮多JSF可以实现,这些引擎、这些JSF实现是否可以支持Ajax,确实也可以支持。但是是怎么支持的?通过一些特殊的组件库来完全对Ajax的支持,意味着如果用这种技术,要绑定到他们的平台之上,他们的组件库是侵入型的设计,影响程序的设计模型,而Apusic OperaMasks,我们是原生支持,从容器级别予以支持,任何标准的JSF应用,放到ApusicOperaMasks运行时,只需要更改参数。话先说到这里,我们给大家做一个事例。大家看到的是Apusic Studio,Apusic Studio提供的特点是一体化,我们看到服务器使用完毕了,现在连接上服务器,我们这里有两个应用,其中我给大家演示的这个应用,首先我给大家简单表述一下,这是Java宣传JSF技术所宣传的事例,教大家怎么写JSF应用的。这个应用程序我们完全由于Java,J2EE是开放的,可以移到Apusic OperaMasks运行。下面大家请注意,这里面需要点击不同的按钮,大家请注意观察两方面,一个是上面的标题栏,一个是滚动条。当每点击一次,你发现下面在刷新,滚动栏在最上面,意味着每点击一次要发送一次请求,这是一个整个页面的渲染,这个常规的JSF应用。什么叫原生Ajax支持,下面只需要更改一个参数,我们看到这是应用的配置文件,我们把默认换成Ajax,把应用重新启动一下,我们看到应用重新启动了,然后重新访问一下CAR数值依然发生变化,不会影响应用,但是你发现了没有,界面刷新过那?界面并没有刷新,标题栏没有刷新,滚动条依然在这个位置。这种特性就是所谓的Ajax特性支持,这就是我们的竞争力。

下面回到PPT,这是第一个重要特性。第一个重要特性是Rich component,我们需要用类似Java实现结构,而Rich component不仅仅提供了标准,并且原生提供Ajax的JSF引擎,同时提供了许多的组件,我们可以以表格形式展现数据,我们还可以以图表形式描绘数据,甚至还可以用任何一个你所能想到的方式描述数据。没有做到的,只有想不到的。还可以解决页面内的布局问题,这就是我给大家看的界面的截图,我给大家准备了一个事例。我们同样访问一下事例,这个事例把Apusic OperaMasks所拥有的Rich component都列出来了。举一个简单的例子,你可以看一下表格组件,包括组件的排序,所有的格式都可以自己定义,这是一种模型,包括图表。包括布局组件,实际上我们所看到的就是布局组件,这是给大家简单看一下有哪些组件,不仅仅是组件丰富性,本身还有许多其他的特性,再给大家做一个简单的事例,刚才已经看到了CARDEMO的试用,放到OperaMasks上应用时,我们除了变成Ajax,还可以改变风格。现在有两个页面,我给他加上两个参数,只有这样的全局参数,全部的空间都可以瞬间变成自己的Richcomponent。第二个参数是皮肤风格,这里面变成苹果操作系统的操作风格,加上两个参数,现在把应用启动一次,应用启动完毕可以看到,现在再去访问它,这是旧有的风格,大家看看这种按钮风格,再和以往的按钮风格截然两样。同样你也只需要两个配置参数就可以标准的空间变成Rich component,而且可以具备换肤。不仅仅是这么多,我们是开源的,开放的,你可以构建自己的组件,也可以去完善想要的皮肤风格。

Rich component的特性给大家介绍到这里,我们继续往下看第三个特性,与Apusic的紧密集成。我们谈过OperaMasks是开源的,我们有自己的开源社区,它可以运行在任何实现容器以上,如果运行到Apusic运行服务器之上,可以具备很多的特性。比如说JSF有一个核心的技术,叫托管并,把客户端的UI和…紧密联系在一起的连接性,但是这个地位蛮尴尬,因为我们需要托管并需要其他的特性,比如能否拥有OP的模型,以为以后的拓展能力可以变得很强。只要运行在Apusic运行服务器之上,就可以具备这么多的特性。稍候在演示里面也会介绍托管并的技术。最后我们来看四个特性,叫Apusic Studio提供的支持,JSF有一句话非常核心,JSF在规范的层面上非常强调工具对它的支持,Apusic Studio 包括可视化的设计,拖拽操作,一体化的操作流程,贴这么多的截图大家看不那么真切,下面我给大家做一个事例,从头把事例构建一下。大家需要将近15分钟、20分钟的时间。

我们以北京2008年奥运会为背景,首先页面分成这样的部分,左边有这样一个表格,表格里面显示的是国家、金牌、银牌、铜牌,点击这个国家右边会显示所有这个国家的运动员获得奖牌的列表,下面把这个显示从头到尾做一遍。我们有两张表,从数据库取出。他在Apusic Studio中的数据建模,我们还看一下的实体模型,在我们的实体模型里面,有两个实体分别对应了两张表格,如果要在Apusic Studio里面完成实体建模也很简单,在里面拖放几个属性就OK了,今天不是我们演示的重点,我们只知道有两个实体模型,其中最关键的是把国家、有多少金牌、银牌、铜牌反馈成一个数组。我们现在展示OperaMasks之旅。我们现在需要建一个外部模块,按照标准的直接点击就OK了,在外部模块建一个JSP页面,选择一个JSF的模板点击下一步,这个页面分成三个部分,分别是北、西、其中为了让代码更多重用,想把JSP放到另外两个子文件中。下面把图片先放过来,下面在最上方放一张图片,拖一张图片上去,选择图片的位置,这个页面就OK了。我们随时可以运行它。我刚才故意到Apusic关上,这样一点击就自动把部署复制上去,服务器就绪,登录进来,我们看到北京成功启动了,并且打开浏览器,这个页面最基本的,简陋的框架已经出来了。下面我们要做的是左边的导航栏,双击导航到外击JSP里面,然后做的第一件事是放一个…,这个…需要有四联,分别是国家、金牌、银牌和铜牌。我就放四列,有四列分别把列的名称改掉,可以直接在代码里面改。下面我们要做的到后台取数,就用托管并,我们新建一个托管并,其中托管并的实体模型我们是绑定一个组件。大家如果做JSF的人都知道,所有JSF的声明,必须要进行声明,但是在OperaMasks不需要。同样托管并希望用三个组件,只需要注入说我现在注入一个就OK了。这跟页面上的成员变量绑定,首先声明一个成员变量,然后做好方法。再需要把数据取出来,非常简单,其中里面所有的是数组,然后分别是金牌、银牌、铜牌的个数。托管并我已经准备完毕,下面再回到页面一一对立起来,需要绑定的是,生成的变量不需要管。申明一个值,下面国家对应的是这个数组的第零个原数。由于我们更改了托管并,所以必须要应用重新启动一次。下面就刷新一下页面,我们看国家已经出来了,下面我们需要再调整一下页面,让页面左右可以拖动,尺寸稍微大一点,让它可以被拖动,再让他能够被关闭。然后重新访问一下页面,我们可以看到,这个页面达到你的期望值了,现在可以在这里面来回拖动,也可以在这里面点击让它收缩进去。下面我们再花几分钟时间把图表做出来,这个非常简单,现在只需要拖动一个图表,首先我们需要捕获一个事件,让你选择某一行数据的时候,我要知道你选择哪一行数据,我们需要设定一个变量记录一下,这就代表着你选择的是哪一行,我们生成方法。事件怎么过去呢?需要绑定一个Ajax,当行被选择的时候。你点击的哪一行的时候,就会自动制成你选择的是哪一行。我们回想刚才取数的过程,你选择的一行所反映的数据第零员数是国家、金牌、银牌、同行的个数。我们扔给他三个数据,分别是金牌、银牌、铜牌的个数。奖牌分布率结果值我已经取到了,在这里面进行绑定,把它关联起来。首先给一个奖牌分布,然后给一个值,再起一个变量,后面要引入它。到现在为止,最左边这个已经OK了,由于我们更改了数据,需要把应用重新启动一次。启动完毕我们刷新,可以看到数据已经出来了,当你点击某一个国家,下面的奖牌分布率自己发生变化,这时候图稍微有一些大,我们再调整一下,你也可以拖拽,我们最左边的导航页面已经构建完毕。

再耽误大家两分钟时间,把右边做返回的运动员的列表展现出来,这块给大家展示一个最复杂的控件,用你任何想到的方式去展现数据。首先把无用的给删掉,返回的这个我们到底有多少个奖牌,我首先需要做一个绑定,生成方法,绑定以后这里面首先获取选择哪一个国家,把这行代码拷贝过来,现在选择的数据都有了,其中第零个就是Counry,至此数据准备完毕,下面很简单,把页面绑定一下。现在要显示多少数据,什么叫做以你能够想象的方式展示数据,需要展示什么数据就定义出来,我展示三个,分别是项目叫什么,项目的图片是什么,还有这个项目的运动员是谁。数据全部准确完毕,下面就是展现了,用你任何能想到的方式展现,我做一个简单的组件布局,放上一个Apusic的布局管理器,默认一行显示三列,右边显示这个项目的名称和运动员的名称。右边的数据和页面可以了,由于更改了托管并,我们需要重新启动一次应用,不需要重新启动服务器,现在再刷新一次,我们可以看到,点击中国,下面显示的是中国的奖牌分布,右边是中国获取奖牌的运动员列表,还有一点点遗憾,发觉右边可以分页就好了,以往分页很复杂,在OperaMasks上面很简单,拖一个分业组件就可以了。分页是分了,但是下面的数据很多,一页显示多少数据,我们有指令,有一个属性是一页只显示五笔记录,大家可以看到,一页只显示五笔记录。

至此为止,我带领大家去看一下Apusic OperaMasks开发一个日常中经常要开发的Web系统,到底需要做那样的事情,最后再耽误大家两分钟时间,把PPT走完,有了这些够不够?其实我们上面所谈到的所有的技术特点,所有的OperaMasks的特点,我认为都是一些技术层面上可以解决的问题,我觉得最关键的OperaMasks的特性我们是标准的,并且我们是开放的,标准的意味着我们可以获得众多厂商的支持,开放的意味着把所有文档、原码通过OperaMasks.org的社区跟国内外的业界同仁开放,共同打造OperaMasks的社区,由社区来推动OperaMasks技术的发展,并且由社区决定下一步的发展方向。今天借这个机会跟大家分享一下,从今天开始,我们会采用更开放的态度,如果各位用OperaMasks去构建你们的应用系统,并且把它作为商业目的没有问题,我们支持并鼓励这样的行为,我给大家的展示到此为止,谢谢大家!

互动问答


提问:我想问一下,你们这个对数据库有一定的支持,我想问一下数据库的移植需不需要改动,改动大不大?
袁红岗:因为我们是ApusicOperaMasks是展现层的技术,所以在J2EE体系结构里面,属于表现数据的部分,对数据怎么存储,J2EE有其他的规范。所以如果在应用服务器里面,数据库的移植有标准,不需要考虑底层的东西,按照J2EE,很可以按照标准的方式进行移植。

提问:我想问一下,OperaMasks是否可以与其他的开源社区相结合?
袁红岗:从今天开始我们改写了协议,因为OperaMasks金蝶公司有版权,所以是双协议,如果没有改动代码,可以完全用在你的项目。但是我们不鼓励单独销售,这种方式是需要向OperaMasks购买,仅仅在项目里面用没有问题,不需要任何费用。

提问:我想问一下,框架对多媒体、在线视频是否有支持?
袁红岗:没有,这是属于另外的框架需要解决的问题。

提问:这个框架对远程教育或者在线学习这个行业有没有应用的案例?
蔡军:我们有一些案例,浙江大学的远程教育学院,有五万多的学生的远程使用,应该说是中国最大的远程教育网。包括中间件,OperaMasks都是在使用,应该说蛮成功的。我们的数据非常接近,现在已经上线了。

提问:我有两个问题,第一个问题OperaMasks这个名字到底是什么含义?我有一个比较模糊的认识,第二个问题和业务方面不太有相关性的,我们知道JBoss、Apusic都通过J2EE的认证,集群服务如何实现,他有什么优点?
袁红岗:今天本来应该跟大家介绍OperaMasks是什么含义,他的中文意思就京剧脸谱,为什么叫京剧脸谱呢?第一我们是中国人,我们对传统文化不能忘掉,OperaMasks是脸谱,就是一个脸,我们需要面具包住。
第二个问题关于集群,对于集群来说,对于大多数的应用服务器,集群实现方式大同小异,我们采取了自己的技术。对于集群的状态复制是通过内存复制完成,我们用客户端缓存的技术。我们采取的类似这样的方式,尽可能在客户端处理这些数据,而不是每个请求到我们那里处理,这样可以降低服务器的压力。

提问:我想请问一下,你们刚才演示的组件,的确看起来很方便,有一个问题,假如我用你们的组件,你们提供的是通用的,如果有一些个性化的需求,在社区里面可以问到这些问题,有没有其他更便捷的服务渠道,因为这些功能开发起来比较急,用了你们的组件我们想比较便捷,有没有除了社区以外更便捷的服务渠道?
袁红岗:按照一般的开源社区的运作方式,想通过代码进行修改,必须通过社区的同意,修改一定要公开代码。从目前来看,假如你的需求非常紧急,我们可以把你的需求提出来,或者你改了,提供一个专用的版本。假如你的需求比较通用,可以在社区里面体现,会有一个新的版本出来。

提问:我想问一下兼容性的问题,我在两周前用了这个东西,发现兼容性不太好,装上去不行。
袁红岗:社区上有一个帖子专门讲这个问题,有一个jar包需要删掉,不知道版本是1.0还是1.2,里面有冲突,这个是可以解决的。

提问:我们一直是基于P…的开发,跟…开发的本质区别和好处。第二有没有计划向应用集成方向发展?
张勇:刚才您问到的…方面,我觉得这个问题是这样,之前我们也交流过,我们看…解决的问题有哪些,有一些是OperaMasks解决不了的问题,比如解决用户的统一认证,安全模型诸如此类的问题。这是目前OperaMasks所不能解决的问题,但是…要解决另外一方面的问题,外部页面的自定义,外部页面的可拓展,这跟OperaMasks的实用功能有交集存在。基于这样的分析,我可以简单谈一下自己个人对…的规划,我们目前打算在OperaMasks之上,会慢慢形成自己的界面方案。中间有交集的存在。

提问:交集是UI。
张勇:对,主要在UI的层面。

提问:如果往UI发展,有没有计划向应用集成发展?
张勇:谈应用集成这一块,我们有另外的产品,因为应用集成包括两方面,一个是数据底层的集成,是集成层面要解决的最低的问题。应用层面的集成是非常复杂的问题,在集成这一块我们最主要做的差别覆盖的目标,第一我们是中间件提供厂商,我们在MQ之上有数据应用平台,所以我们大概是这样统一的,因为中间件提出新的概念,叫泛中间件。其实像这样的问题,作为中间件厂商,是我们应该逐步去考虑的问题。

提问:我想请问一下你们UI的组件是不是通过标志库分装起来?ApusicOperaMasks也是采用这样的技术?
张勇:按照袁总的原话,我们不想重新发明轮子,我们有优秀的Java的框架,已经对客户端进行了很好得分装,我们用JSF的编程模型进行组装,中间有隐性进行交互。

提问:能够演示开发环境的配置、搭建。
张勇:知其然必须首先知其所以然。可以通过OperaMasks.org下载,两个产品安装之后,Apusic Studio是这样的安装包,Apusic应用服务器有很多种安装形式,最终在硬盘上是文件夹,要新建一个应用非常简单,只需要在这里面导入一个服务器,右键增加服务器,选择你导入的服务器在哪里,比如选择Apusic4.0,这个服务器就在这里了,在新建一个Apusic功能。

提问:但是要进行数据库的连接。
张勇:举一个简单的例子,如果在工程里面配一个数据库连接,我们可以在Java属性里面添加一个数据库连接,除了连接是属于Studio里面工程的连接。至于刚才那位朋友提到Java的持久属性的时候其实也非常简单,大家首先有一个概念很清楚,在Java5.0有一个新的东西这里面要做一个类似于Java5.0的设置,打开一个实体模型图,往里面一拖,给实体起一个名称,然后再往里面添加属性。必须有一个组件,然后把它设置成是组件,再加一个属性就OK了。然后大家看好了,我在图上一存盘,你可以看到自动生成了三个类,在Java5.0就是JAP,这里面有几个字段,这字段影射的数据库,在Java5.0里面提供的模型也是非常清凉的模型,没有任何配置文件,全部面向这个接口去编程。这就是整个工程的简单性,其实非常简单,如果大家玩过Java5.0就非常清楚。

提问:我有两个问题,OperaMasks工具非常丰富多彩,那经过我们的分装,对程序开发人员有很多的帮助,效率上经过什么样的测试,不会影响之前的开发设置呢?
张勇:在举一个简单的例子,我对页面进行在OperaMasks应用服务器上测试,现在应用服务器模式启动完之后就部署,部署完之后自动打开浏览器,我们在应用开发时用到过服务器重启的概念。现在窗口已经打开了,并且我们是开源的。

另外第二个问题,我们的OperaMasks都是开源的,效率这一块目前OperaMasks目前的版本是1.0.2,意味着是1.0的稳定版本,网上下载的版本是1.0.1,OperaMasks在1.0的性能不是OperaMasks团队关心的要点,性能以我们做这么多年做中间件的经验而言,性能是否有良好的框架,有良好的框架在这个基础上必须有非常好的编码水平,只有这两点满足,才能符合性能。我们在1.0并不能关注性能,如果做到这样的应用,这个应用是纯手工打造,如果在服务器的应用能够提供100个高并发用户,但是回过头来我们要这样考虑,这是建立在两个基础上,第一目前还不是我们所关注的要点,第二开发效率有了近10倍的提升,所以你要考虑综合投入成本,这是性价比的问题。

提问:我希望知道对于项目管理这方面。
张勇:OperaMasks我们自己的版本管理系统,你可以随时到网站上查询源代码。
王冠雄:我觉得把第一站放在广州非常对,今天的朋友提的问题非常有技术含量。

提问:第一个问题,关于版本升级的问题,你们提供的是平滑的升级还是有自动升级的工具?第二个问题,一个刚毕业的大学生,如果在大学里面使用Java,使用这样的开发工具,投入的培训成本是一个月还是两个月,如果没人教,无师自通,帮助系统怎么样?
张勇:第一个问题关于版本升级,我们的版本升级是平滑的升级,如果用以前的标签使用,换JSF高版本没有问题。关于开发成本,我的说法并不具备客观性,因为我是当事人,我写程序的时间蛮久,以我个人的经验而言,我比较喜欢写Java程序。如果说一个本科刚毕业的学生,如果它具备Java的知识,他更多了解JSF,只有他会用JSF的生命周期,常规的功能配置,用户基本上不需要掌握其他的功能。

第三个是帮助系统,坦白说,我们现在有几大类,我们所有的帮助注视都在这里面。这是Apusic所有中间件系统的帮助信息中心,这里面包括Apusic管理控制台文档、应用服务器文档,ApusicStudio文档。我觉得是这样,帮助在以前的OperaMasks社区分为几部分,技术文章全部贴到网站上,我们有相对比较活跃的论坛,包括OperaMasks研发团队每一天浏览很多次。我们网站上有自己的信息中心,我们所有能提供的OperaMasks都放到网上去,为什么我们要开放?仅凭一家之力把OperaMasks补充完全也不现实,我们希望自己的同行都加入到这个社区里面来,包括OperaMasks网站上真正上线到现在为止有几个星期,我已经收到网上给我发的OperaMasks邮件不下十封,好几位同事纷纷表示给我们写技术文章,共同促进下一步的开展。

提问:因为我们现在做项目的开发,没用到JSF的东西,假如我想在这个平台上进行开发,是不是一定要用到JSF?
张勇:一定要用到JSF。如果说你现在的开发是为了Ajax去Ajax,服务端要接收,接收完以后还要分装,其实你真正的注意力在业务逻辑上,如果用它不需要再用Ajax。

提问:现在我们的项目快接近尾声了。
张勇:那我建议你下一个版本再用吧。
王冠雄:方欣科技的陶宇问题说得好,就是分工的问题。我们开发商关注自己的业务逻辑,比如金蝶中间件这样的底层中间件为大家服务。
张勇:最后希望给大家提一个殷切的期望,希望大家常去我们的 OperaMasks.org 上面去逛逛。

 
金蝶中间件有限公司版权所有 2001-2007