先说点题外话, bromon说的真有点恐怖,不知道消息来源的真实性,如果真是那样我想国内的人也不会马上就全部跑去转用EJB3吧。呵呵,不过还是要谢谢bromon
和我的铁杵我的针 ,我的第一篇文章终于有人看了,希望越来越多的人的加入!
第一章 EJB开发
EJB的角色:(规定了6种开发和部署的角色)
- 企业BEAN提供者(Enterprise Bean Provider)
工作任务如下:
1.编写BEAN的主接口。
2.编写BEAN的组件接口,声明应用程序需要的各种业务方法。
3.编写实现远程接口中定义的各种业务方法的实现类。
4.编写部署描述项。
5.打包。
其实就是编写EJB的编程人员。至于什么是主接口,什么是组件接口,什么是实现类以后再说吧!先死记吧!
- 应用程序汇编者:其实就是把BEAN提供者写好的东西组织在一起的人了。没什么大用,还号称是行业专家!(开玩笑了)
- 部署者
- 系统管理员
- EJB服务提供者,容器提供者(书上是分两条的,但是我认为他们应该是一样的东西,至少暂时是一样的东西)
其实话说回来了,别的人都不怎么重要,我们要做的人就是企业BEAN提供者。
开发第一个EJB
高兴,终于有个HELLOWORLD了!
大家一定要记住BEAN提供者的那几个要素啊!很关键的,全是从那几个要素之间展开的。
HELLOWORD的题目是:根据年薪、公积金和所得税计算每月的净收入。(无状态会话BEAN)。
EJB客户视图:
本地客户:使用本地接口和本地主接口。按引用传递值。
远程客户:使用远程接口和远程主接口。按变量传递值。会有java.rmi.RemoteException错误。
标准的设计模式是,业务逻辑层的所有访问使用会话BEAN,这些会话BEAN需要发表远程接口,使客户层可以访问这些会话BEAN。其余实体和无状态会话BEAN可以看成“实施细节”,只发表本地接口。
这是书上原话,大家明白吗?反正我就只能明白个80%。哈哈~~~再接着来。
开发主接口:
倒!前边讲了一大堆主接口,现在才想起来解释,不知道老外这个书是怎么写的。
主接口负责控制BEAN的寿命周期操作:生成,删除和寻找。主接口是客户在BEAN中的第一个联系点。客户通过JNDI取得引用。其实是在部署的时候确定JNDI的,不着急。
当客户引用了主接口之后,就可以通过这个接口对BEAN进行下列操作:
- 生成新的实例或者寻找现有的BEAN实例。(本地或者远程)
- 访问EJBMetaData接口(远程)。
- 取得BEAN实例的序列化引用(远程)。
- 删除BEAN实例。
- 执行主业务方法。
在这个例子中只使用主接口生成BEAN的新实例。
EJB里定义了本地接口和远程接口。(EJBHome 和EJBLocalHome)。这两个接口的源程序书上有。
EJBHome接口中的方法:
getEJBMetaData():返回EJBMetaData接口的引用,取得BEAN信息。(还是不知道EJBMetaData是什么东西。查字典是元数据的意思)。
getHomeHandle():返回主对象的句柄。
remove():很简单,删除了。哈哈,玩笑,其实对不同BEAN结果不一样啦,会话BEAN是将BEAN再放回池中,而实体BEAN则是从数据库中删除数据。这次才对嘛!
下边就是程序了,我先试试程序到底是怎么回事再给大家讲啊! |