alfresco 研究阶段小结

最近研究的alfresco+liferay的架构,受益颇多,alfresco当中的几点还是完成的不错:
1.一个可扩展的数据模型;alfresco的几乎所有类型都是自描述的,感觉是充分利用了xml。
2.可自定义规则去执行某个action,这让我隐约看到其实alfresco已经具备了网络操作系统的功能:可以上传下载你的资源,可以执行你上传上去的代码,可以设置执行时间等(当然实际上这种做法也感觉是在重复发明轮子)
3.webscript的使用,使用javascript写一些action,看看RestfulAPI的脚本源码,可以说又是CoC的一个精彩使用。原来用javascript写代码虽没有java的静态检查,但仍然觉得很便利。而真正觉得方便的,其实是javascript api中有用的对象已经可以给你使用,如document,space,workflow等。
4.使用jsf作为表现层的框架也相当不错,虽然用jsf在friendly URL方面可能是个问题(google爬虫能否爬到将会有一定影响);但如果作为企业级的使用,在代码的可读性,可维护性,可扩展性等方面jsf仍是不错的选择。而alfresco对对jsf其实做了button actions和dialog的扩充,增加了的层在解耦方面不可忽视。
5.对portlet的支持,使得一些“/s168”下的很多portlet可以直接被使用。
6.对各种协议的支持(webdav,cifs,smb等)使得它可以出现可能组合的使用显得无所不能
7.对PHP提供支持。
8.RESTful API的提供和对webservice的支持,虽然webservice的可读性和api暴露的个数相对RESTful API来说都太少。
9.对workflow的支持。

一些不足:
1.界面上仍不够“炫”,界面的可扩展性方面仍未出现skin,theme。(从这一点说应该alfresco是定位在server端市场的)
2.性能方面,有个测试表明上传一个100k左右的doc文件需要500ms作用的时间(具体机器的环境配置忘了),当然后台要做索引等工作的确会很花时间。但高并发情况下这样的性能应该是不可以接受的。而我自己也在它的源码里找到了这样的代码:创建完一个文件后要等待20ms以确保文件创建真的生效。(从这一点上来说这会限制它在server端的发展)
3.研究的资料相对来说仍然不够充足。

瑕不掩瑜,总体来说,alfresco作为开源CMS系统中的姣姣者,作为学习 CMS,ECM,java,spring,workflow(JBPM),JCR(jsr170),ajax,REST都有可以参考的地方。

你可能感兴趣的:(JavaScript,cms,workflow,webservice,JSF)