UML软件工程组织

我的EJB学习历程(二)
来自 AGainsT ALL oDDs

先说点题外话, 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则是从数据库中删除数据。这次才对嘛!

下边就是程序了,我先试试程序到底是怎么回事再给大家讲啊!

 

版权所有:UML软件工程组织