论坛首页 Java企业应用论坛

j2ee的web应用像CS程序一样自动更新

浏览 8883 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (4)
作者 正文
   发表时间:2009-10-27  
JEE中的自动更新可以做的哦,可以在服务支持中心(我们是设在自己技术机房里面),用户那边的服务器一般不会进行连接到Internet的,在通知客户网管之后,客户方回开通客户那边服务器的连接外网权限,然后由管理员运行一下升级就OK了。

如果客户那边没有限制服务器连接Internet情况下,基本上都是自动来支持中心这边自动更新的,当然……过了服务期之后,还是要上门收费的。
0 请登录后投票
   发表时间:2009-10-27  
我们现在就是上门服务的,呵呵!有时间就请客户更新!
0 请登录后投票
   发表时间:2009-10-27  
你这不叫自动更新,还要重启服务器,用户无法使用。这个完全可以远程桌面或tomcat的管理功能远程搞定。
要真正做到动态更新,看下OSGI吧。。。
0 请登录后投票
   发表时间:2009-10-27  
我前段时间做了一个web程序的更新,在本地建立一个更新服务器,更新涉及数据库更新、程序更新,然后在客户端(也就是客户本地的服务器上)添加更新程序,在更新包中加入更新规则,客户端使用定期检测的功能,每天晚上凌晨某个时间,检测更新服务器是否有更新版本,有的话自动下载更新包,然后自动停止本地应用服务(由于涉及文件安全原因,如果文件在使用将无法更新,比如jar包覆盖,所以,只有先停止服务才行),然后依照更新规则进行更新,完了重启服务器。整个过程不需要认为的进行干预,由于涉及跨平台,所以,整个程序都是通过java实现的。
0 请登录后投票
   发表时间:2009-10-27  
如果bs想cs那样挺好啊
0 请登录后投票
   发表时间:2009-10-27  
   就算是web程序,自动更新还是非常有必要,比如,一个web程序一旦做成产品,部署在全国很多地方,每个版本都到现场去更新配置,那造价可就大了,所以,做个自动更新时非常有必要的。当然,前面说的不能上网,当然不能自动更新了,也无法做到。这样的只要下个更新包,然后程序中提供一个导入更新包,然后进行更新就行了。
0 请登录后投票
   发表时间:2009-10-27  
现在的web程序,一次更新的文件一般都比较多。

不管是自己手动替换还是让客户去手动替换都是比较麻烦的,也有替换错误的风险。

所以我们部门现在的解决的不是自动更新的需求,而是针对客户的版本,发布相关的升级包。

开发人员按照指定格式提供升级包。升级包包括升级文件和升级路径,其中升级路径在xml中定义。

实施人员或者客户之要把压缩包放到指定目录,然后在服务器运行升级程序就可以了。


现在的升级程序是基于eclipse开发的客户端程序。


0 请登录后投票
   发表时间:2009-10-28  
flyeagle 写道
我前段时间做了一个web程序的更新,在本地建立一个更新服务器,更新涉及数据库更新、程序更新,然后在客户端(也就是客户本地的服务器上)添加更新程序,在更新包中加入更新规则,客户端使用定期检测的功能,每天晚上凌晨某个时间,检测更新服务器是否有更新版本,有的话自动下载更新包,然后自动停止本地应用服务(由于涉及文件安全原因,如果文件在使用将无法更新,比如jar包覆盖,所以,只有先停止服务才行),然后依照更新规则进行更新,完了重启服务器。整个过程不需要认为的进行干预,由于涉及跨平台,所以,整个程序都是通过java实现的。

这样前提必须客户本地服务器得联网。
另外,请教一下java如何实现停止服务(包含windows和linux环境)?
0 请登录后投票
   发表时间:2009-10-28  
mntswan 写道
现在的web程序,一次更新的文件一般都比较多。

不管是自己手动替换还是让客户去手动替换都是比较麻烦的,也有替换错误的风险。

所以我们部门现在的解决的不是自动更新的需求,而是针对客户的版本,发布相关的升级包。

开发人员按照指定格式提供升级包。升级包包括升级文件和升级路径,其中升级路径在xml中定义。

实施人员或者客户之要把压缩包放到指定目录,然后在服务器运行升级程序就可以了。


现在的升级程序是基于eclipse开发的客户端程序。



我们更新的过程思路基本是一致的。不同之处在于
mntswan 写道
升级程序是基于eclipse开发的客户端程序

我现在的做法没有客户端程序,就在web应用下执行。就是简单的copy和执行更新sql,然后调用一个jsp执行其它复杂情况。
个人认为:两种方式都可行,各有优缺点。
客户端程序在容器之外:
优点--能很好的控制容器的停止和启动;
缺点--与应用分离,服务器好多没有界面无法运行,客户还需要知道学习更新的操作。
嵌在web容器中作为功能模块:
优点--与应用是整体,并且远程就可以上传更新包无需操作服务器目录。
缺点--在容器内做一些简单的jsp更新还可行,稍微复杂情况必须要求客户手工重启容器。
0 请登录后投票
   发表时间:2009-10-28  
我觉得自动更新很有必要,客户可以省下一笔很客观的费用,而实际上你可以有更多的时间来做新的产品,或者完善产品!基本上你可以认为是用钱来买到了时间!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics