码迷,mamicode.com
首页 > 其他好文 > 详细

企业级开发的思考

时间:2015-03-31 22:14:36      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

以前自己一直认为企业级开发是神圣的,是不容质疑的。尽管有时候自己也认可多大屁股穿多大裤衩的道理,但是那种重量级的开发模式在自己心目中占据的位置一直是不容侵犯的。直到最近公司打算要做个东西的时候才发现企业级真的很重,重到90%以上的情况用不到。

之前考虑过EJB和Spring,自己一直认为只有EJB才是亲生的,至于Spring只不过算是一个长得很壮的野草而已。但是最近工作中遇到的问题改变了我以往的观点。

在一个纯EJB的系统中毋庸置疑得使用JPA来持久化,但是由于系统升级的需要我们不得不去更改数据库,加字段批量更新等等都很常见,起初打算在系统启动之前直接使用jdbc来执行sql完成升级,但是由于EntityManager有属于自己的一套管理体系,所以会导致死锁,而且这个死锁的问题是在数据库级别的,更加可怕的是使用jdbc就以为着放弃了EntityManager的事务,那么升级这个操作就只能成功不能失败,否则事务回滚之后系统会起不来。权衡利弊之后决定使用JPA直接执行原生sql,在这个过程中的感受可谓难受至极啊。这就像拿着一把AK47去当锤子用,能敲钉子吗?能,能砸死敌人吗?也能,但是它正确的使用方法是装子弹上膛然后射击。也就是说当前的使用方式不是这个工具设计之初所定义的那样。JPA是用来持久化的,直接运行原生的sql虽然也可以但是这不是它的优势,所以怎么用怎么蹩脚。

最近公司打算要进军P2P了,客户是有的那么下一个任务就是迅速开发出一个原型出来,最起码要能让客户大致的了解一下界面和功能吧。那么问题来了技术选型用什么呢?EJB的那一套?要客户等一两个月?估计那时候客户早就跑了。最终公司决定暂时用Spring的东西把原型搞出来,等客户拿下之后再去根据客户要做的规模去权衡到底是EJB还是Spring。EJB固然可以分布式,固然可以用集群来解决性能的问题但是在速度方面它的确是不如Spring,要不怎么叫重量级呢。

难道就没有一种既能快速又能扩展成为重量级的东西么?类似于出将入相的感觉那该多好。

企业级开发的思考

标签:

原文地址:http://blog.csdn.net/beijiguangyong/article/details/44786765

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!