Monday, November 20, 2006

专心spy第一天

早上匆匆忙忙5换1换2到张江,庆幸没碰上高峰地铁,呵呵!地图果然没有说谎,从地铁站到碧波路上的中科大上海r&d中心不到5分钟行程。普元把4楼包下来了,环境还满清爽的。

上午说的几乎就是上次普元两个销售的过来讲的东西的翻版,ppt还是那份ppt。似乎上次那两个人说EOS
Server是要花钱买的,这样看来要用EOS的话这个东东是非买不可的了。因为今天发觉了,光给你个IDE,就是普元标榜的那个EOS
STUDIO(实则就是eclipse的一个插件而已,搞得象这个东西全是他做的一样,呵呵!),你用这个IDE描述出来的图形化的应用一定要通过EOS
Server来解析使之成为可以部署在j2ee application
server上的符合j2ee标准的应用。光给你个免费的ide等于zero!

EOS包括了EOS Server, EOS STUDIO, EOS Business Tool, eosmgr
其中EOS Business Tool中包括了EOS Workflow, EOS
Richweb(上次那两个人满吹捧的东西,不知道到底如何,今天还没用到,希望是好东西)等一些AJAX的应用。

下午把EOS安装好后先是小试了一个helloworld的小应用。因为EOS使用了XPath来定位XML中的元素,而且它的数据交换都是基于XML的,所以必须对XML要有个了解(呵呵!还好我有)。所有的构件都是通过XML
BUS来交换数据的,而XML BUS并不象我想像中的那个内存中的数据池,一个大大的数据池。而是分为三个包含XML数据的数据池,RequestContext,
SessionContext和BizContext。前两个和普通B/S应用中的相同概念,最后一个是业务逻辑构件使用的,当一个业务逻辑被展示逻辑调用是就创建了这么个BizContext,调用的业务逻辑构件运行结束此BizContext即从内存中清除。

在对XML BUS中三个内存区域(即三个xml数据池)操作时(输入与输出数据),当未使用XPath的绝对路径来描述结点时,EOS解析引擎自动使用/root/data作为结点的根路径,也就是说/name解析为/name,而name解析为/root/data/name。

总的感觉就是在java中是使用先定义变量,用变量名的方式来寻址你要的变量的,而在EOS中是使用XPath的概念到XML
BUS的三个Context中来寻址你要的数据的。

之后做了个关于数据库的小应用(包括对数据的查询、添加和删除)。早就用过iBATIS和Hibernate这两个数据库持久框架了,所以对EOS的数据库实体映射这种技术不足为奇。不过发觉EOS的数据库实体导入做的还是很不错,能很轻松的对页面显示进行定制和对字段的check,还有一些使用业务字典等方便的功能,用起来很傻瓜的,很方便。

在今天的培训中发觉了一些问题和要注意的地方:
1.对于data下的数据库实体名,在使用数据库运算操作构件的时候,传入的参数要符合数据库实体名(大小写敏感),因为从这些运算构件产生的sql语句就知道,它把传入的参数当数据库表的表名处理的,如果传的不是实体名,将找不到该表。
2 .biz下的构件与pr下的调用到的biz构件同步不能,当改变任何一处的biz构件时,另一处的相同biz构件无法同步,必须把pr下的biz构件(在biz里改动过的)删了再拖。这个应该算是EOS的一个bug吧我认为,希望下一版本能解决这个问题。
3.这个在我看来也是bug。就是对于jsp设计页面上的QueryForm控件的属性选择,由于其对设置的属性自动生成代码,所以当你在代码中有手动修改的jsp代码时,当再次调出该QueryForm控件属性选择窗口作出修改并确认保存时,将覆盖原来代表这个控件的jsp代码,那么手动修改的部分就丢失了!

今天就spy到这么点,应该算是入门了。

睡觉了~~!累~~!tomorrow go on~~!

No comments: