助你通过Sun认证业务组件开发人员考试

副标题:无

作   者:Kathy Sierra,Bert Bates著;陈学峰等译

分类号:

ISBN:9787508338897

微信扫一扫,移动浏览光盘

简介

  有些人只是想通过认证来取悦挑剔的老板,但相信你不是这种人。确实,你也想通过Su n认证业务组件开发人员(SCBCD)考试,但不仅如此,你还需要真正把EJB用到实处。你要构建应用,要对付最后期限,如果通过考试之后第二天早上就把你学过的EJB知识忘得一干二净,你肯定会受不了。   我们会看着你稳稳当当地通过考试,而且会帮你在实际中使用EJB。你会深入地了解EJB体系结构、会话、实体和消息驱动bean的生命周期、CMP、EJBQL、事务、安全、模式等等内容,还会知道基于组件的开发究竟是什么意思。你理解得越多,需要记的就越少,所以不要指望一点都不懂,通过死记硬背向大脑里塞东西。   如果你看过《Head First Java》,就会知道这本《Head First EJB》是怎样的一本书 D D它会完全出乎你的意料!如果你没有看过那本书,你要做好心理准备。《Head First EJB》应用了最新的学习理论,将知识直接送到你的大脑里(不用开刀)。你会通过不寻常的方式同这本书打交道,可以学得更深入、更快,而且最重要的是,你能真正地学以致用。使用EJB构建业务组件,这是Java的一种最流行的使用,不过SCBCD考试很让人头疼。这我们很清楚,因为我们就参与了编写这个考试的工作。因为考试确实很难,所以我们认为至少可以指引一条路,让你通过这个考试,而且只需要少买3个超大披萨,买这本书的钱就有了。   Kathy Sierra(JavaRanch.com的创始人)和Bert Bates是Sun的多个Java认证考试开发小组的成员,其中就包括SCBCD考试。这两位作者携手使用Head First概念,已经为成千上万的开发人员教授了Java技术。

目录

目录(概览)

引子 xvii

1 欢迎来到ejb世界: ejb入门 1

2 ejb体系结构:体系结构概述 61

3 表现你自己:客户视图 111

4 当个会话bean:会话bean生命周期 173

5 实体都是持久的:实体bean引言 259

6 当个实体bean:bean/实体同步 295

7 bean之间的关系:实体bean关系 373

8 得到消息:消息驱动bean 437

9 原子时代:ejb事务 469

10 bean要是坏了:ejb中的异常 525

11 保护你的秘密:ejb中的安全 569

12 部署的快乐:bean的环境 599

a 附录a:最后的模拟测验 637


目录(真正的目录)



i 引子

.让你的大脑来学ejb。你想学些东西,但是你的大脑却在帮倒忙,不让你记住这些

东西。你的大脑在想,“还是把空间留给更重要的事情吧,比方说要躲避的野兽,还有光

着身子滑雪是不是不好”。所以你该如何骗过大脑,怎么让它认为要是不知道ejb你就活

不下去了?

这本书适合谁 xviii

我们知道你的大脑在想什么 xix

元认知 xxi

让你的大脑就范 xxiii

看这本书需要些什么 xxiv

通过证书考试 xxvi

技术审校 xxviii

致谢 xxix


1欢迎来到ejb世界

enterprise javabeans(ejb)并不难。不错,想想看,如果让你自己动手

写一个可扩展性、事务性、安全性和并发性兼备的企业服务器,该是多么困难,所以至

少从这一点来看,相比之下还是使用ejb简单得多。这一章我们将开发、部署并运行一

个ejb应用,然后再深入讨论它的细节。在这一章的学习过程中,我们将分析怎样使用

ejb,ejb有什么好处,它有哪些特点,另外,我们还会(简要地)谈到ejb容器如何工

作。

考试大纲 2

ejb到底是什么? 3

不再为开发商所困! 5

它是怎么工作的? 7

幕后的动作…… 8

bean的三种类型 11

顾问bean 15

构建bean要做的5件事 16

ejb角色和职责 26

教程 28

模拟测验 59


2 ejb体系结构

ejb是基础架构。组件是一些构建模块。利用ejb,除了简单的小应用外,还可以

构建非常大的应用。这包括各种规模的应用,从复杂的victoria’s secret后端应用到简单的

cern文档处理系统,都可以利用ejb来构建。但是,作为一个体系结构,要有这样高度

的灵活性和可扩展性以及这么强大的功能,它肯定不是泛泛之辈。这种体系结构的基础往

往是一个分布式编程模型……

考试大纲 62

建立一个远程方法调用 64

关于参数和返回值 67

客户通过远程接口调用业务方法 79

ejb如何使用rmi 81

远程对象不是bean,它是bean的保镖 82

体系结构概述:会话bean 98

体系结构概述:实体bean 99

体系结构概述: 创建有状态会话bean 100

体系结构概述: 创建无状态会话bean 101

体系结构概述:消息驱动bean 106

bean的组织 108


3 表现你自己

不能让bean太隐密了。客户需要看到你有什么(消息驱动bean除外,它没有客户

视图)。advice bean在它的组件接口里提供了getadvice()方法,组件接口就是声明业务

方法的地方。不过,这并不是客户看到的全部。要记住,advice接口扩展了ejbobject,

这个ejbobject接口又有它自己的方法。这些方法客户也能看到,而且能调用。home接

口也一样。

考试大纲 112

客户到底想要什么? 113

什么是jndi? 116

portableremoteobject.narrow() (奇特的类型强制转换) 121

为会话bean编写远程home接口 125

好在我们拿到了句柄 (在线购物是要花时间的) 139

对于本地客户接口,哪些方法有意义? 148

为什么这么多删除方法? 151

远程接口和本地接口的比较 154

远程和本地方法的参数 163

模拟测验 168


4 当个会话bean

会话bean要创建和删除。如果你是一个无状态bean,那你很幸运。因为有状态

bean的一生都操纵在一个无情的客户手上。有状态bean是在一个客户的坚持下创建的,

它的存在只是要为这个客户服务。不过,啊哈,相比之下,无状态bean的生活真是帅呆

了!泳池、阳伞、饮料,一切都这么美好,这里没有乏味、没有单调,因为你要面对那

么多形形色色的客户。

考试大纲 174

容器回调,bean一生中的特殊时刻 181

bean创建 188

业务方法中可能做的bean工作 199

钝化:有状态bean实现可扩展性的机会 200

bean删除 208

编写一个会话bean:这是bean提供者的任务 230

sessioncontext:你需要它,超过了它需要你 240

模拟测验 244


5 实体都是持久的

实体bean会一直保存。实体bean一直存在。它们是底层持久存储库中某个东西的

对象表示(可以把底层持久存储库想成是数据库,因为大多数实体bean表示的就是一个关

系数据库中的某个东西)。如果有一个customer实体bean,那么可能有一个bean表示实体

tyler durden,id为#343,另一个bean表示实体donny darko,id是#42。这两个bean分别

表示两个实际的实体。实体bean只是持久存储库中已经存在的某个东西的一种具体实现。

考试大纲 260

什么是实体bean? 261

客户视角看到的实体bean 265

一个非常简单的customer实体bean 268

实体bean远程组件接口 270

实体bean远程home接口 273

客户到底想从一个实体bean home得到什么? 274

解决之道:home业务方法 278

会话bean create()与实体bean create() 281

会话bean remove()与实体bean remove() 282

实体/bean/实例的死亡 285

模拟测验 288


6 当个实体bean

实体bean就是演员。只要还活着,实体bean就要么待在池子里,要么扮演着某个

人,这是底层持久存储库里的一个人。换句话说,也就是数据库里的一个实体。当bean扮

演某个实体时,这个bean必须与底层实体保持同步。如果bean假装是某个人,比方说是

audrey leone,要是有人在数据库里降低了audrey的信贷限额,但是忘了告诉bean……

考试大纲 296

实体bean的真正强大之处在于同步 298

容器托管持久存储与bean托管持久存储 303

entitybean接口增加了新的容器回调 310

编写cmp实体bean 313

对象身份:主键 332

查找方法 339

home业务方法 345

模拟测验 362


7 bean之间的关系

实体bean需要关系。一个订单需要一位顾客。一件商品需要一个订单。一个订单需

要多件商品。实体bean可以有容器托管关系(container-managed relationships,cmr),

由容器负责几乎所有一切。生产了一个新商品吗?如果这个商品与一个订单关联,你要求

顾客给你出示他的订单时,他的订单就会显示出这个新商品。还有最好的一点,这就是可

以使用ejb-ql来编写可移植查询。

考试大纲 374

关系 378

多重性 380

cmp和cmr字段 383

级联删除可以传播 393

moviebean的ejb-ql 402

select和from是必不可少的! 409

where子句 411

collection不能调用bark()! 414

between、in、is empty和like表达式 416

关系指派 421

模拟测验 425


8 得到消息

接收消息很有意思。虽然不是特别的好玩,比如说,比不上收到ebay给你的一个真

正的smurf车灯包裹,但确实很有意思,也很高效。假设你向ebay提交了一个订单,在包

裹递送到之前你就不能离开家(否则就会错过)。会话bean和实体bean就是这样,但是利

用消息驱动bean,客户发送完消息后就可以走开。

考试大纲 438

编写消息驱动bean: bean提供者的任务 447

消息驱动bean的完整部署描述文件 449

主题和队列 450

messagedrivencontext 455

消息确认 458

模拟测验 463


9 原子时代

事务可以保护你。利用事务,可以冒点险。你可以尝试做些事情,因为你知道即使

过程中出了意外,也可以假装什么事情都没有发生。一切又能恢复到从前。ejb中的事务

是一大妙笔,你可以部署一个有定制事务行为的bean,而不用去动这个bean的源代码!但

是如果需要,也确实可以编写事务代码。

考试大纲 470

acid测试 472

ejb中是如何做到的 474

事务传播 475

怎么建立(或得到)一个事务? 476

两个接口里都有setrollbackonly() 487

bmt可能是一个很糟糕的想法。bmt会破坏bean重用  490

容器托管事务 491

属性的作用 492

必须标记属性的方法(cmt bean) 498

“未指定的事务上下文” 499

cmt的部署描述文件示例 503

sessionsynchronization“特殊时刻” 512

模拟测验 516


10 bean要是坏了

要做最坏的打算。尽管你竭尽全力,但事情还是有可能出错。也许很可怕,很悲

惨,错得很厉害。你要保护自己,而且可能别人还依赖着你。不能只是因为一个bean抛出

一个异常就使得整个程序都陷于崩溃。应用必须继续下去。悲剧是不能避免的,但是你可

以做好准备。你要知道哪些可以恢复,哪些不能恢复,另外要知道如果出现一个问题该归

咎于谁。

考试大纲 526

ejb中,异常有两类 532

对于一个应用异常,容器会…… 533

对于一个系统异常,容器会…… 534

remoteexception与ejbexception 539

bean提供者的职责 541

5个标准ejb应用异常 548

常用的系统异常 551

模拟测验 563


11保护你的秘密

守住你的秘密。安全所涉及的就是认证和授权。首先,你必须证明你的身份,然后我

们会告诉你可以做哪些事情。在ejb中,安全很简单,因为你只需要处理授权,确定谁能

调用bean的哪些方法。不过有一个问题要注意……如果你是一个bean提供者或者应用组装

人员,你可能不知道最终的用户到底是什么人!

考试大纲 570

ejb中如何做到安全 573

应用组装人员的任务:访问控制 574

定义方法许可 578

部署人员的任务:把实际的人映射到抽象的角色 583

类级安全与实例级安全 586

使用程序方式实现安全来定制方法 587

使用 [run-as]安全身份假装成别人在调用…… 591

采用 [run-as]的安全上下文传播 592

模拟测验 593


12 部署的快乐

bean简直让你费尽力气。你要编写代码、完成编译,进行测试。这个过程反反复

复地做了无数次。你最不希望的就是,仅仅因为部署配置中的一个小小的改变,就要对已

经测试过的源代码再做改动。也许是数据库的名字变了,另外,如果你根本拿不到源代码

怎么办?ejb通过可定制的部署描述文件和bean的一个特殊环境可以支持bean重用。

考试大纲 600

bean的特殊位置java:comp/env 602

创建和使用子上下文 609

bean提供者和应用组装人员的职责 617

部署人员的职责 618

记住谁做什么 619

哪些api是ejb 2.0 保证支持的? 621

ejb-jar中必须有什么? 624

编程限制 625

模拟测验 627


a 附录

最后的模拟测验。终于到它了。70个问题。语调、内容和难度都和实际考试几乎相

同。这一点我们很清楚(因为考试就是我们开发的)。

最后的模拟测验 637


i 索引 685


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

助你通过Sun认证业务组件开发人员考试
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon