提问:我想问一下,你们这个对数据库有一定的支持,我想问一下数据库的移植需不需要改动,改动大不大?
袁红岗:因为我们是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 上面去逛逛。 |