您的位置:首页 > 运维架构

OpenCms二次开发团队协作之系统平台结构

2015-05-24 22:30 295 查看


操作系统:Windows,Linux

JDK:jdk-6u5-windows-i586-p.exe(1.6.0.26)

应用服务器:JBOSS(jboss-as-distribution-6.1.0.Final)

开发工具:MyEclipse(myeclipse-8.5.0-win32.exe)

版本工具:SVN(VisualSVN-Server-2.5.4.msi TortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msi)



OpenCms内容管理,基于浏览器的开发模式,改变了我们传统的使用工具开发的习惯 。但是内容管理的各项优势,给我们页面静态内容的管理带来很大的便捷。决定,集成开发,各尽其能,综合使用。

问题:1.怎样集成,开发环境怎么搭建?

2.怎样协同开发?

3.怎样维护,管理整个站点?

4.怎样部署,发布项目?



(二.1 问题)解决方案:

a. MyEclipse新建立一个web应用,确定该项目需用到的框架,先集成到项目应用中。

b.选择OpenCms版本,安装,搭建OpenCms开发环境。

c.下载OpenCms版本对应的源码。

d.将下载的源码(src中java类文件)放入web应用中src目录。

e.OpenCms安装成功后将opencms项目下所有文件复制到或是替换web应用下的相应文件(class目录下面配置文件相应的放到src目录下)。

本地部署该web应用,启动服务,http://localhost/opencms/opencms/system/login/ 测试成功

(二.2 问题)解决方案:

OpenCms的开发还是有很大区别我们的传统开发模式,这时候我们就需要是否选用OC技术做个探讨。总结了三种情况:一是,当一个项目只是作为一个信息的发布平台(新闻网),纯属于信息之类的,没有牵涉其他的后台交互业务。我们直接就可以用OpenCms实现,全放在OpenCms框架下开发。二是,整个项目以静态信息为主,但又会涉及到一些简单的业务。诸如,我站的信息需要和其他信息平台的数据同步之类。这时候我们可以还是以OpenCms为主,只是需要将数据同步的业务处理集成到OpenCms就可以。三是,一个项目中既有业务性很强的,也有静态信息量很大的模块。比如说,我的一个电子商务站点里面有产品信息的发布,交易,产品评论,论坛,行业内类似该产品的信息,商家信息等等。此时,我们不妨以合作的形式来搭建我们的整个开发环境。论坛,行业产品信息,商家信息之类的交给OpenCms做来完成,其他业务复杂度较高的还是采用我们以往的开发模式来进行开发。同一个web应用下面来做我们所有的功能,包括业务性的还是静态性的。这里就会涉及到开发人员的安排,我是这样想的,假如现在有两个开发人员A(做网站业务开发)和B(OpenCms开发)。第一步,A,B俩人先从资源库中把我们已经搭建好的环境更新到本地,部署,测试。第二步,A,B俩人在这同一个web应用下面建立自己任务所需要的架构,这之间会出现,配置文件的冲突,jar包文件冲突什么之类的。这就需要A,B进行良好的沟通,资源提交,更新,部署,测试来搭建好集成了OpenCms的框架。第三步,到了这一步就简单了,业务做业务的开发,OpenCms做静态内容的开发,互不影响。然后再通过版本工具的管理,这样,开发人员就可以更好的团队沟通,掌握自己对项目的开发进程。

(二.3 问题)解决方案:

这里所说的站点维护,管理都是狭义上的。也就是说只是对整个站点的业务数据及静态数据的维护。OpenCms有自己的平台架构,对自身的数据维护也有其独立,独特的方式。鉴于此,当我们集成其他框架建设大型网站时候,怎样进行整个网站的维护。个人认为,具体情况还是要根据站点的性质,及其站点结构来确定。一是,对该网站增设两个后台维护,OpenCms本身自带的工作区(静态数据维护)和后台业务维护平台(针对业务性很强的数据维护)。二是,业务维护平台嵌入OpenCms工作区,或是工作区嵌入业务维护平台。第二种情况,需要说明一点,整个站点的后台维护相当于就集成在一起了,所以,站点的用户权限机制和OpenCms提供的用户权限机制要一致,还有就是要保证两者之间数据的协调性。说到了这里,我们也对编辑人员使用这样的数据维护平台会出现的情况唠叨唠叨。假如编辑人员对OpenCms框架有所了解,熟悉这个自然没话说。但是,不清楚那就会问题多多的咯。因为,这和我们传统的维护平台有大大的不同。解决方法,要么就是培训编辑人员使用工作区,要么就是针对工作区,OpenCms静态数据建立一个类似传统维护的后台编辑平台。

(二.4 问题)解决方案:

我们在新建项目时候就是在MyEcplise中建立的web应用。协同开发,数据更新,版本控制,本地测试等一切的项目操作都是在该web项目下面完成的。所有说当我们部署该应用时候,像我们以前的方式做就可以咯。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: