- 浏览: 201544 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
brenda:
...
技术选型(转) -
JavaScriptOMG:
写的真好,不知道如果是java.sql.date的话,怎么写呢 ...
Java得到下一天明天,明天时间 -
少女杀手:
和他的一摸一样,一个字都不差
http://anysky131 ...
弹出窗口代码大全 -
shipping:
字体好小啊,都没兴趣看下去了
测试网站性能的30款免费在线工具 -
ddd:
其实一切人活着的意义就在于他死前的心情是什么。
活着是多么美好
-
IOC Container: Spring, Guice
我们需要IOC Container的依赖注入作为胶水,把其他工具包粘在一起。还需要它的AOP,进行事务配置,权限管理。
这么多人都在使用Spring,实际使用中可以获得巨大的便利,如果选择了其他平台就要面临在关键时刻自己造轮子的窘境。使用Spring的实际经验更长,方便与其他组件整合。
Guice是由Google出品的,又使用了JDK5中的注解功能,问题是以后是否能得到很好的支持。
-
MVC: struts2, struts, JSF, RESTful Framework, SpringMVC
struts2比struts好用,在了解了OGNL的用法后,还是比较方便的。
struts毕竟还是老掉牙了。
JSF好复杂,没有IDE的支持基本没法用,看不清方向。
RESTfull Framework感觉太草率,有前途吗。
springmvc现在默认不包含在spring包中了,它的功能太简陋,有些新功能华而不实。
-
ORM: Hibernate, JPA, iBatis, JDBC
作为ORM方案,使用hibernate3对JPA的支持,使用annotation简化配置。
Hibernate用起来比较熟,支持多数据库,简化了数据库的操作,目前把所有调优的希望都放在二级缓存上了。
JPA对于规范不太了解。
iBatis据称是对JDBC的最简封装,但是与hibernate有太多的区别。
JDBC根本没进行封装,用起来风险太高。使用封装的框架更容易统一开发。
-
View: JSP-2.0, Freemarker, Velocity
严重偏向Freemarker,易用性,扩展性,自定义宏,还可以用在不支持JSP-2.0的服务器上,而且还可以与struts2配合。可是Freemarker并没有合适IDE配合,而且能够熟练使用的程序员也不多。
JSP-2.0功能明显不足,限制太多,不容易扩展,必须和taglib配合才能对付实际中的工作,taglib又太难写。
Velocity功能不如Freemarker。
-
Security: Spring Security, jsecurity, struts menu
Spring Security作为acegi的升级版本,更易用了,与spring整合在一起,控制权限。
jsecurity作为apache孵化器里的项目,有人对它进行了强烈推荐。
是否还考虑基于struts menu写一套自定义的菜单?
-
Ajax Widgets: ExtJS, Dojo, YUI, JQuery-UI
ExtJS轻便,好用,漂亮,功能强大。只是协议有问题。
Dojo笨重,难看,都不知道怎么用。
JQuery-UI还很青涩。
如果不使用上述这类统一组件库,还可以选择jsCalendar这个日期选择组件,FckEditor和Tiny_mce都是富文本编辑器。据说专业人士喜欢用FckEditor,喜欢漂亮的都喜欢用Tiny_mce。JavaScriptTemplate可以批量生成HTML。和DWR结合实现上传进度条等功能。
-
JS Function Lib: Prototypejs, JQuery, Mootools
Prototypejs最老。对应的扩展主要有Script.Aculo.us。
JQuery有强力的查询能力。对应的扩展容易找到。
Mootools被fin强烈推荐,说OO封装做得很好,但感觉扩展组件不丰富。
-
使用dwr和 commmons-fileupload制作上传文件的进度条。
考虑使用dwr-2的服务器推,制作在线聊天。
与服务器之间交互采用json格式传递数据,目前采用的json-lib在处理循环引用的时候需要特别设置,否则在处理hibernate双向关联的时候100%出错。
在基础架构上进行的扩展,实现特定功能的工具:
-
WebService: CXF, XFire, Axis-2
XFire已经停止开发,后来与Celtix合并为apache中的新项目CXF。
CXF是由Objectweb Celtix和Codehaus XFire合并成立的。与Axis1~2比较,更易于整合到Spring中。而且据说支持JAX-WS。不过不知道JAX-WS是干啥的。
-
工作流: Jbpm-3, Jbpm-4, Osworkflow
Jbpm-3是开源中比较火的框架了。但是spring-module-jbpm31封装的有问题,单元测试会报异常。
Jbpm-4太新,还是alpha版,而且改动太大了。
Osworkflow,号称最灵活的工作流引擎,据说所有实现都要自己写代码。
两者都支持Hibernate。
-
规则引擎: drools
据说是很轻量级的,拥有平民语法的规则引擎。
-
Search Engine: Hibernate-search, Compass, Lucence
Compass同另外一个Hibernate-search都是基于Lucence,对数据库的全文搜索引擎。
Compass开发的时间更长一些。Hibernate-search出现的时间还比较短,会用的人少,不知道前途如何。如果两者都不符合,还要考虑自己直接操作Lucence。
之前使用过Compass,在单元测试的时候会出现内存溢出的问题。
-
报表: JasperReport, BIRT, 自定义
JasperReport负责文本报表,JFreeChat图形报表。
虽然没使用过JasperReport,但已经听到过太多其他人对它的怨言了。
BIRT没有想像中那样好用,依赖那些eclipse中的包,显得太大了。
因为东西方习惯差异,自定义属于自己的一套报表应该可以解决国内很多问题。首选答案竟然是手写PDF和JFreeChat结合生成图表。
-
JMS: ActiveMQ, Jencks, Lingo
ActiveMQ是很多人推荐使用的JMS框架。
Jencks是一个JCA平台,可以提供J2EE里的资源容器。
Lingo据说可以把JMS封装成POJO。
-
定时调度: Quartz, java.util.Timer
据说Quartz是唯一免费的解决方式。这个组件放到web.xml里,可能造成内存泄露。robbin认为这种定时任务不应该和项目绑定在一起,而是应该建立一个单独的任务服务器。
如果是简单功能,也可以用JDK自带的Timer。
-
Cluster Cache: Open Terracotta
被许多公司使用,据说是很强大的分布集群策略。
-
JMX: Spring封装,MX4j
Java管理扩展,给人的感觉像是RMI一类的远程调用。
-
OSGI: equinox, felix
有点儿反感equinox的笨重,而且equinox是否能和eclipse分离呢?能否独立使用呢?能否能嵌入自己的项目呢?
felix是apache的项目,而且有maven插件,但是看了源代码之后,感觉太不成熟了。
-
动态语言: bsh, groovy, jruby, jython, rhino
bsh最简单,而且都是java语法,功能也不多。
rhino只是解析js,也没什么特别功能。
groovy被期许了很大的希望,受到多方支持,有为数不少的组件,值得考虑一下。
jruby和jython的话,语法和java相差太大了,基本等于再学一门语言。
-
JDK: 5.0, 1.4, 6.0
5.0的那些特性还是很好用的,而且可以使用Retrotranslator把5.0编译的class转换成可以在1.4下运行的class。
推荐使用JRockit-27.2,据说可以解决sun jdk的perm gen内存不足问题。
6.0有点儿新了,怕出问题。
-
Servlet Container: Tomcat-5.5, Weblogic-9/10, Jboss, Geromino, Tomcat-6.0, Glassfish, Jetty, Resin
一般人还是用Tomcat-5.5,据说Tomcat-6.0支持OSGI了而且运行方式跟之前都不同了。
Jetty还是用在集成测试中。
之后的迭代里,应该兼容Weblogic, Jboss, Geromino, Glassfish。
-
数据库: Hsqldb, Mysql, H2database, Derby, Oracle, SQLServer
采用hsqldb作为嵌入式数据库,可与工程绑定发布,用户下载体验版后不需要额外安装数据库,减少了配置出错的机会。
考虑H2database和Derby,似乎H2功能更强力,Derby出身名门但是不支持commit是个问题。
Mysql是必须要支持的,因为是免费中使用特别广的。
SQLServer也是国内很多地方使用的中型数据库。
Oracle有很多人迷信,的确也是非常常用的大型数据库。
Hibernate本身支持多数据库,包括Mysql, SQLServer, Oracle等,未来替换成企业数据库也不是问题。
-
单元测试: JUnit-3, JUnit-4, TestNG
JUnit-3。经典单元测试工具,应用很广,基本所有工具都支持。
JUnit-4有点儿新,新功能不太清楚。
TestNG据说很厉害,但不太熟悉。
js的单元测试工具 jsunit不知如何应用。
-
Mock: EasyMock, JMock, Spring-test
EasyMock是老牌了,不需要继承特定的超类。
JMock需要继承特定超类,属于新框架。
Spring-test里提供了很多对付servlet里接口的测试类。它还提供了许多常用的测试基类,可以缓存xml配置并支持事务。
-
Cobertura发展至今,界面和功能已经接近Clover了,开源并且没有古怪的协议约束,Maven2上的配置也比Clover更简便。
-
Web集成测试: Selenium
Selenium是一款被众口称赞的集成测试工具,使用Firefox的插件录制测试,然后可以翻译成多种平台语言进行自动化测试。
同类产品还有httpunit和jwebunit。DBUnit可以帮助维护数据库中测试数据的完整,但是无法处理表间双向外键的情况。
可以使用Maven2插件进行测试,但是问题是一直没有发布1.0,一直只能使用1.0-SNAPSHOT。
-
WebService测试: SOAPUI
据说是唯一的WebService测试工具。
-
压力测试: JMeter
JMeter听过但是没用过。
-
UML: Enterprise Architecture, Rose 2003, Visio, StarUML
EA不是免费的。
Rose是名门。
Visio是画图挺方便。
StarUML是免费开源方案。
-
项目部署工具: Maven2, Ant
Ant更灵活,但是对于大规模项目,自己写build.xml再配置所有的插件和各种流程太麻烦了。而且要借助ivy才好管理依赖。
Maven2拥有规范的目录结构和流程体系,拥有更易用的插件,还可以统一管理jar依赖,它支持多种插件,进行自动打包,测试,代码分析,生成报表。。问题是从外网下载依赖的时候受网速影响太大,一旦遇到外网缺失的依赖更是无可奈何,必须搭建内部repo。Maven2的一个问题,在于不知道如何把这么巨大的一个xml文件拆分成多个可以复用的模块。所以也只好采用这种parent的继承关系对所有的依赖和插件进行管理。
-
持续集成: CruiseControl, Hudson
cc是老牌劲旅,但是界面也太难看了。
Hudson是日本人写的,界面漂亮,所有配置都可以直接通过界面配置。
-
代码规范: Jalopy, checkstyle
Jalopy用来美化代码,sf.net上的开源项目已经好多年没有更新了,最新的jalopy已经变成了收费的商业项目。不过我们使用几年前的免费项目就足够了。
把Checkstyle的规范与Jalopy的美化规范调节一致,就可以放心编写代码了。
-
代码检测: PMD, Findbugs, JavaNCSS, Taglist, Jdepend
PMD, CPD帮助我们检测无用的代码和重复的代码。
Findbugs检测代码中的缺陷。
JavaNCSS计算有效代码行数。
Taglist统计代码中的特定标记。
Jdepend用于统计包之间的依赖性。
-
版本控制,缺陷跟踪和WIKI: SVN, JIRA, Confluence
Subversion作为版本控制工具,JIRA作为缺陷管理,Confluence提供资源库平台。
-
数据库版本控制: DBDeploy
DBDeploy让数据库脚本也可以实现版本控制。咱们基于dbdeploy扩展的dbside,可以提供db:migrate, db:rollback, db:view等功能。
使用Hibernate-tools从数据库反向生成领域模型。
-
Web服务器控制: Cargo
据说可以统一控制各种Web服务器,比如Tomcat, Jboss, Weblogic
发表评论
-
分布式Java 应用(转)
2011-05-17 14:43 1348网络通信:协议TCP/IP,UDP/Ip,Multicas ... -
跨域访问session(转)
2011-04-22 16:14 2639大一些的网站,通常都 ... -
(转)分享一下,我常去的中文技术网站
2011-04-18 13:31 838先说一下大多数人都知 ... -
(转) request.getPathInfo() 方法的作用
2011-04-14 11:58 886request.getPathInfo(); 这个方法返回请 ... -
找到一篇性能测试的好文,简单实用,收藏之。
2011-04-10 21:59 764Java程序性能测试 1 概述 在 ... -
需要牢记的java编程规则(收藏)
2011-04-10 20:52 728(1) 类名首字母应该 ... -
一个计算机专业学生几年的编程经验汇总之二(收藏)
2011-04-10 19:48 870############################### ... -
一个计算机专业学生几年的编程经验汇总之一(收藏)
2011-04-10 18:05 857来学习Java也有两个年头了,永远不敢说多么精通,但也想谈谈自 ... -
(转)各种架构图汇总
2011-04-06 22:27 1393转载请保留出处,刘晓涛汇总!!! http://bl ... -
(转)java并发编程实践笔记
2011-04-05 22:23 7711, 保证线程安全的三种方法 : a, 不要跨线程访问共享变量 ... -
(转)构建可伸缩,高性能的互联网应用
2011-04-05 22:22 756间过得很快,来新公司已经两个月了,在这两个月的时间里,自己也感 ... -
(转)百万级访问量网站的技术准备工作
2011-04-05 22:20 888当今从纯网站技术上来说,因为开源模式的发展,现在建一个小网站已 ... -
测试数据库连接状态
2011-03-25 08:45 1361while (true) { long star ... -
(转)什么是Java里的OO思想?
2011-03-24 14:12 886OO就是面向对象 面向对象(Object Oriented,O ... -
(转)JAVA 检测网络是否为连通状态 ping
2011-03-23 14:34 2509要用java检测网络资源是否可用,我们可以采用以下两种方法: ... -
中文乱码问题的解决方法
2011-01-21 17:33 1158tomcat下中文的彻底解决[转] http://blo ... -
nginx 映射80端口
2009-08-04 09:13 3878配置一个resin, 为不用输入端 ... -
调整 Java 虚拟机
2009-07-09 23:43 1019尽管 JVM 调整操作随 JVM 提供程序的不同而有所变化,但 ... -
测试网站性能的30款免费在线工具
2009-06-28 02:12 2008你是否肯定你的网站完全兼容各大浏览器?是否知道多少秒可以打开你 ... -
Memcached-----memcached实现内存缓存
2009-06-27 15:38 2697Memcached是danga.com(运营LiveJourn ...
相关推荐
银行转向瘦核心技术路线选型规划.docx
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的...
方案设计:根据需求分析结果,设计数字化转型升级的详细方案,包括技术选型、流程设计、组织架构调整等。 方案实施:按照方案进行实施,包括技术部署、流程调整、人员培训等。 后期评估:对项目实施效果进行评估,...
对数据库的技术选型,提出以集中式+分布式双栈部署架构,满足不同业务场景需求。对于大部分的稳态业务,可以以集中式部署为主,满足快速原地平台的转型需求。对于部分敏态业务、有弹性扩缩容需求的场景,可以分布式...
ALGOLTEK安格科技, 2010年10月在台湾成立,主要提供各种格式的视频转换的整体解决方案,例如MHL,HDMI,VGA,DisplayPort,Type-C ALT模式,广泛应用于在设备和信源设备之间切换/...提供全程技术资料和免费技术支持
首先,技术选型和投入问题。企业在面对众多数字化技术时,往往难以选择最适合自己的技术,同时,技术的投入也需要大量的资金,对于一些中小企业来说,这是一个难以逾越的门槛。其次,人才短缺问题。数字化转型需要一...
这个资料涵盖了数字化转型的关键领域,包括战略规划、组织结构、技术选型、人才培养、数据治理、客户体验等方面,为企业提供了一站式的数字化解决方案。通过深入研究和实践,这个资料将帮助企业制定出切实可行的数字...
SICK AFS/AFM60光电式绝对值型旋转编码器 选型手册rar,资料为SICK AFS/AFM60光电式绝对值型旋转编码器选型手册,内容包含简介、外形尺寸图、技术参数、订货信息等。请下载!
SICK DGS34/35大孔径增量型旋转编码器选型册rar,资料为SICK DGS34/35大孔径增量型旋转编码器选型册,内容包含简介、外形尺寸图、技术参数、订货信息等。请下载!
从组织架构调整、人才培养、技术选型、项目实施等方面,为企业提供了一系列具体的操作建议。同时,还强调了企业在数字化转型过程中需要注意的风险和挑战,以及如何应对这些问题。总之,数字化企业转型大数据解决方案...
水轮机选型设计是水电站设计的...本水轮机选型软件能大大提高水轮机选型设计的速度和精度,使水电站设计人员能用更多的时间投入到更高层次的技术经济比较中。这样就能选出更适合水电站的水轮机,提高水电站的设计质量。
该资料涵盖了数字化转型的多个关键方面,包括战略规划、技术选型、组织结构调整、流程优化、数据驱动决策以及客户体验设计等。它不仅提供了理论框架,还结合了实际案例研究,以展示如何成功地应用这些原则和实践。...
资料中详细介绍了数据中台的设计原则、架构设计、关键技术选型以及如何与业务需求紧密结合,确保数据资产的有效利用和价值最大化。同时,还探讨了在数字化转型过程中可能遇到的挑战和应对策略,为企业提供了一套...
此外,方案还考虑到了转型过程中可能遇到的挑战,如资源整合、人才培养、技术选型等,并提供了相应的解决策略。它鼓励企业采取小步快跑的方式,逐步推进各项计划,以降低风险,确保每一步的转型都能取得实质性成效。...
报告通过详细的案例研究和数据分析,展示了企业面临的主要痛点,如技术选型的难度、组织文化的转变阻力、人才缺乏、数据安全与隐私保护等关键问题。同时,它还提供了一系列的解决策略和建议,帮助企业制定有效的数字...
最后,该资料还关注到数字化转型过程中的技术选型和人才培养问题。通过对云计算、大数据、人工智能等前沿技术的深入剖析,为金融机构提供了合适的技术方案。同时,资料还提出了一系列人才培养和团队建设的建议,帮助...
通过详细的架构设计、关键技术选型、实施步骤以及最佳实践案例分享,这份资料为集团企业提供了一个全面的数字化转型蓝图,帮助企业在财务数据管理上实现质的飞跃,为企业的数字化转型之路奠定坚实的基础。...
此外,资料还详细介绍了实施业务中台的具体步骤,包括需求分析、系统设计、技术选型、平台搭建、数据迁移、系统集成、安全策略等关键环节。同时,它还强调了人员培训和文化变革的重要性,因为成功的数字化转型不仅仅...
此外,该资料还提供了关于如何克服转型过程中可能遇到的挑战的见解,比如技术选型的困难、员工对新技术的适应问题以及数据安全与隐私保护等议题。通过案例研究和最佳实践分享,这份资料旨在启发企业领导者和关键决策...
NACHI机器人选型手册pdf,NACHI机器人 视觉应用前的准备工作 从本质上讲,机器视觉系统就是在工业环境中引导检测化机器人、测量物品、统计物品、读取条码、字母和数字,以及检测缺陷。在任何机器视觉应用中,...