有关j2ee,请你说说看法

[复制链接]
查看11 | 回复9 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
对于在公司里面发生的事情,我已经无语了
我们公司现在正在做机场的外场管理项目
居然有人提出下面问题和我争论
1。他认为在机场外场管理这种项目里面不需要用到entity bean,用session bean直接执行sql就可以了,用不到entity bean的功能。
2。更加夸张的是,认为客户端不能够直接使用Entity Bean任何操作一定要通过一个session bean来
更加夸张的是他负责的模块部分居然没有Entity,全部是session bean执行sql来干,现在还要别人按照他的结构来做。
请路过的人说说看法
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
There is no correct design. Most of the time, it is judged by politics not technology. If you are not the project manager, why do you care?
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
There is only good or bad design, no correct or incorrect ones. If your project is not using CMP and CRM, there is not much need for entity beans. But of course, a better design will use JDOs to encapsulate the database interaction part from business logic.
The second point, I have to say it's a more common approach. Usually, client side don't interact directly with entity beans, but route everything through session beans.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
There are no entity bean in the product in our company, to access DB via DAO.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
Accessing DB via DAO or JDO instead of via entity bean is a very common approach for EJB 1.0 and 1.1. It gives one better control. And, because of the lack of support such as object-relational mapping, and lack of support for ORDER BY and alike, and the bad performance, developers often find it better to use DAO/JDO.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
1.第一条有问题,既然都用了session bean,即ejb,那么操作数据库用实体bean肯定方便一点
2.第二条是对的,ejb设计模式里这么建议,当然不这样做也可以,但这样做是有充分的理由的
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
第一条应该具体分析。实际上,在EJB2.0之前,用session bean+entity bean布局的还真得不多。原因有两个:1。都是remote interface,速度太慢。2。entity bean的CMP,CMR功能太少,使用不灵活。如果用BMP,那还不如用DAO,JDO,工作量相同,速度快很多。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
基本同意,加点补充
1. session bean引用entity bean,如果在同一个容器中,当然用local的方式了。慢的原因是java本身就慢,再加上一个复杂的app server
2.使用entity bean是有很不错的地方的,比方说可以将更多的精力放在业务上,用面向对象的方法来处理数据库的数据等。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
最初由 zms 发布
[B]基本同意,加点补充
1. session bean引用entity bean,如果在同一个容器中,当然用local的方式了。慢的原因是java本身就慢,再加上一个复杂的app server
2.使用entity bean是有很不错的地方的,比方说可以将更多的精力放在业务上,用面向对象的方法来处理数据库的数据等。 [/B]

再仔细看一看你的profiling和J2EE spec。container的复杂,就是为了解决EJB的运行速度问题。之所以要引入复杂的life cycle management,不是为了好玩,是为了保证运行速度。而在EJB2.0之前,你根本就找不到local interface,有什么当然使用的说法?使用Session bean的主要作用就是为了保证一定程度的coarse grain invocation,来避免大量的远程调用影响速度。
另外,你没有看到几乎所有的app server运行的平台都比微软的pc要快得多。所以java引入的速度降在这里完全可以忽略。
至于entity bean,这并不是唯一解决问题的方法。也不一定是最好的方法。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
具体问题具体分析
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行