注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡網(wǎng)絡與數(shù)據(jù)通信Web ServerJ2EE Web Services高級編程

J2EE Web Services高級編程

J2EE Web Services高級編程

定 價:¥79.80

作 者: (美)Richard Monson-Haefel著;崔洪斌,王愛民譯;崔洪斌譯
出版社: 清華大學出版社
叢編項:
標 簽: J2EE

ISBN: 9787302094340 出版時間: 2005-04-01 包裝: 平裝
開本: 26cm 頁數(shù): 640 字數(shù):  

內容簡介

  Web服務正在使傳統(tǒng)企業(yè)商務發(fā)生變革,它可以使各個單獨的應用程序能夠彼此通信、彼此交換商務數(shù)據(jù)。現(xiàn)在,J2EE應用遍布整個Web服務平臺。但是,用戶如何在這一蓬勃發(fā)展的領域中遨游呢?本書作者RichardMonson-Haefel為需要了解用于Web服務和Web服務標準的J2EEAPI的Java開發(fā)人員提供了權威的指導,全面介紹了如何使用J2EE技術開發(fā)和部署Web服務,并詳細闡述了由Web服務互操作性組織(WS-I)發(fā)布的標準,以便最大可能地實現(xiàn)互操作性。作者還深入探討了Web服務標準、J2EE1.4WebServicesAPI及組件等高級主題。此外,本書附錄還提供了大量實用參考信息,包括XML正則表達式、Base64編碼、DTD、SwA、RPC/EncodedSOAP通信等,以便開發(fā)人員更深入地理解和掌握J2EE技術、API與企業(yè)應用程序,以及基于Web的應用程序集成。[前言]序言本書介紹了由Web服務互操作性組織的BasicProfile1.0認可的各種Web服務標準,因為這些標準在生產(chǎn)中已經(jīng)得到了驗證,而且J2EEWeb服務平臺需要這些服務。本書還介紹了Web服務特有的J2EEAPI與組件。實際上,主要Web服務標準(XML、SOAP、JAXP和UDDI)以及J2EEWebServicesAPI(JAX-RPC、SAAJ、JAXR和JAXP)非常復雜,讀者要想掌握這些內容需要花時間學習本書。本書通俗易懂,具有極高的參考價值。Web服務的重要性不斷發(fā)展的技術使得傳媒業(yè)發(fā)生了巨大的變化,并最終得以普及。WorldWideWeb、Java技術以及XML似乎無處不在,這些技術均快速得以應用,而且在當今已成為企業(yè)級計算的主要技術。Web服務最早出現(xiàn)于2000年,也是不斷發(fā)展的技術。Web服務是隨著傳媒業(yè)的巨大擴張出現(xiàn)的,但Web服務已經(jīng)得到商務活動的認可,并開始被大量開發(fā)人員采納。如果讀者在2003年之前還沒有涉及Web服務,請不要著急,因為還沒有錯過太多機會。Web服務發(fā)展的頭兩年應該是Web服務的試用期。當時,Web服務社團定義了豐富的規(guī)范,并且在實際使用這些規(guī)范時發(fā)現(xiàn)了大量實際問題。然而,2003年標志著Web服務開始快速成長。如果讀者只是在Web服務的潮流旁觀望的話,那么就會錯失良機。讀者應該使自己成為新技術的先行者、將自己投身到分布式計算歷史的重大革新中。學習本書需要的預備知識本書適用于希望學習Web服務以及由J2EE定義的相關API的Java開發(fā)人員。本書更像是一本參考書,但書中的許多章節(jié)采用了使用指南編寫風格。本書主要目的是介紹J2EEWeb服務。讀者學習本書時應具有使用Java編程語言的經(jīng)驗。如果讀者沒有這方面的經(jīng)驗,那么學習本書第9章以后的內容時會有些困難。此外,讀者還應該對J2EE平臺有基本的了解。本書只介紹J2EE的Web服務功能,不涉及其他J2EEAPI以及其他技術。學習本書時并不需要讀者知道XML、SOAP、WSDL、UDDI或任何J2EEWebServicesAPI(JAX-RPC、SAAJ、JAXR、JAXP)方面的內容。書中將對這些內容給予詳細介紹,因此相信即使是初學者也能夠理解這些內容。本書內容本書將只重點介紹Web服務標準以及J2EE1.4WebServicesAPI與組件,其他方面的內容將在其他書中介紹。本書主要介紹以下的Web服務標準:●XML1.0●SOAP1.1●帶附件的SOAP消息●WSDL1.1●UDDI2.0●WS-IBasicProfile1.0Web服務標準占本書內容的三分之一(第1章到第8章介紹Web服務標準)。本書其余部分將介紹以下J2EEWebServicesAPI:●JAX-RPC1.1●SAAJ1.2●JAXR1.0●JAXP1.2本書介紹了J2EE1.4中規(guī)定的WebServicesAPI的使用,因為J2EE1.4是第一個全面采用Web服務范例的Java平臺。本書結構本書是J2EEWeb服務的參考手冊與指南。書中的各章相互關聯(lián)。例如,當學習完第Ⅰ部分介紹的XML后,就可以學習第Ⅱ部分介紹的SOAP與WSDL。與此類似,在學習第Ⅳ部分介紹的JAX-RPC(JavaAPIforXML-basedRPC,用于基于XML的RPC的JavaAPI)之前,應先學習XML、SOAP和WSDL。在讀者學完本書并掌握J2EEWeb服務之后,本書仍然可作為您一本非常有價值的參考手冊。讀者可以在日常工作中通過本書查找Web服務標準以及J2EE1.4WebServicesAPI方面的信息。本書分7大部分和一個緒論篇(即第1章),每一部分由兩章或多章組成,分別介紹各個特定的Web服務標準或J2EEAPI。各部分均以引言開始,該引言介紹了如何學習本部分的各章節(jié)、讀者應當學習哪些章節(jié)、哪些章節(jié)可以有選擇地學習。本書各章均采用了4級標題形式,而且這樣的標題特別適用于參考手冊,因為它可以使讀者非常方便地與同事討論某一主題。本書還提供了一些附錄,這些附錄涵蓋了許多重要的內容,其中包括XML正則表達式、Base64編碼、DTD、帶附件的SOAP消息以及RPC/Encoded通信等。

作者簡介

  蒙松-哈菲現(xiàn)為JavaCommunityProcessJ2EE1.4和EJB2.1專家組的成員,是ApacheJ2EEApplicationServerProject的創(chuàng)始人,也是J2EEWeb服務實現(xiàn)領域的知名專家。他編寫的EnterpriseJavaBeans曾4次榮獲暢銷圖書獎:先后于2001年榮獲JavaPRO讀者評選的最佳高級Java圖書獎、于1999年榮獲“Java開發(fā)人員雜志”編輯評選的最佳Java圖書獎,以及于2001年和2002年榮獲Amazon評選的最佳圖書獎。此外,他編寫的JavaMessageService在2002年也榮獲“Java開發(fā)人員雜志”讀者評選的最佳Java圖書獎。

圖書目錄

目 錄
第1章 J2EE 1.4 Web Services概述 1
1.1 J2EE平臺 1
1.2 Web服務技術 2
1.2.1 WS-I Basic Profile 1.0 4
1.2.2 XML 5
1.2.3 SOAP 5
1.2.4 WSDL 6
1.2.5 UDDI 7
1.3 J2EE Web Services API 7
1.3.1 JAX-RPC 8
1.3.2 SAAJ 8
1.3.3 JAXR 8
1.3.4 JAXP 9
1.4 小結 9
第Ⅰ部分 XML
第2章 XML基礎知識 13
2.1 XML入門 13
2.1.1 XML文檔實例 15
2.1.2 剖析XML文檔 15
2.1.3 處理XML文檔 18
2.2 XML命名空間 20
2.2.1 使用命名空間示例 20
2.2.2 默認命名空間、前綴和限定名稱 22
2.3 小結 24
第3章 W3C XML模式語言 25
3.1 XML模式基礎知識 25
3.1.1 Web服務中XML模式優(yōu)于DTD的原因 25
3.1.2 XML模式文檔 26
3.1.3 簡單類型 27
3.1.4 復雜類型 31
3.1.5 在模式中聲明全局元素 37
3.1.6 限定元素與非限定元素 40
3.1.7 指定模式和確定模式的位置 42
3.2 高級XML模式 44
3.2.1 復雜類型的繼承性 44
3.2.2 簡單類型的繼承性 49
3.2.3 列表類型與聯(lián)合類型 52
3.2.4 匿名類型 54
3.2.5 導入模式和包含模式 55
3.3 小結 59
第Ⅱ部分 SOAP與WSDL
第4章 SOAP 63
4.1 SOAP的基本結構 65
4.2 SOAP命名空間 68
4.3 SOAP頭 73
4.3.1 actor屬性 75
4.3.2 mustUnderstand屬性 78
4.3.3 WS-I一致性文件頭 80
4.3.4 有關文件頭的進一步說明 81
4.4 SOAP體 81
4.5 SOAP消息傳遞模式 82
4.5.1 Document/Literal消息傳遞模式 82
4.5.2 RPC/Literal消息傳遞模式 83
4.5.3 消息傳遞模式與消息傳遞交換模式 84
4.5.4 其他消息傳遞模式 85
4.6 SOAP錯誤 85
4.6.1 faultcode元素 86
4.6.2 faultstring元素 89
4.6.3 faultactor元素 90
4.6.4 detail元素 90
4.6.5 關于錯誤的進一步說明 91
4.7 SOAP與HTTP 92
4.7.1 傳輸帶HTTP POST消息的SOAP 92
4.7.2 HTTP響應代碼 93
4.7.3 進一步說明HTTP 94
4.8 小結 95
第5章 WSDL 96
5.1 WSDL的基本結構 97
5.2 WSDL聲明:definitions元素、types元素和import元素 100
5.2.1 XML聲明 100
5.2.2 definitions元素 100
5.2.3 types元素 101
5.2.4 import元素 102
5.3 WSDL抽象接口:message元素、portType元素和operation元素 103
5.3.1 message元素 103
5.3.2 portType元素 107
5.3.3 operation元素 108
5.4 WSDL消息傳遞交換模式 109
5.4.1 請求/響應消息傳遞 110
5.4.2 單向消息傳遞 110
5.4.3 通知和懇求/響應消息傳遞 111
5.5 WSDL實現(xiàn):binding元素 111
5.6 WSDL實現(xiàn):service元素和port元素 121
5.7 WS-I一致性聲明 122
5.8 小結 122
第Ⅲ部分 UDDI
第6章 UDDI數(shù)據(jù)結構 125
6.1 businessEntity結構 127
6.1.1 businessEntity元素和businessKey屬性 129
6.1.2 discoveryURL元素 129
6.1.3 name元素 130
6.1.4 description元素 130
6.1.5 contacts元素 130
6.1.6 businessServices元素 131
6.1.7 identifierBag元素 132
6.1.8 categoryBag元素 133
6.2 businessService結構和bindingTemplate結構 136
6.2.1 businessService結構 137
6.2.2 bindingTemplate結構 138
6.3 tModel結構 140
6.3.1 用于WSDL文檔的tModel 141
6.3.2 用作分類法標識符的tModel 142
6.3.3 uddi-org:types tModel 144
6.3.4 校驗tModel與非校驗tModel 145
6.3.5 tModel XML模式 146
6.4 publisherAssertion結構 149
6.5 UUID密鑰 150
6.6 WS-I一致性聲明 151
6.7 小結 151
第7章 UDDI查詢API 152
7.1 UDDI SOAP消息傳遞概述 152
7.2 查詢操作 154
7.2.1 查找操作 154
7.2.2 取出操作 170
7.3 小結 176
第8章 UDDI發(fā)布API 178
8.1 操作定義與有效負載 178
8.1.1 授權操作 179
8.1.2 保存操作 182
8.1.3 刪除操作 189
8.1.4 取出操作 195
8.2 錯誤消息 202
8.3 小結 205
第Ⅳ部分 JAX-RPC
第9章 JAX-RPC概述 209
9.1 服務器端編程模型 209
9.1.1 JSE 209
9.1.2 Enterprise JavaBean端點 210
9.2 客戶端編程模型 211
9.2.1 生成的占位程序 212
9.2.2 動態(tài)代理 214
9.2.3 DII 214
9.3 其他JAX-RPC事宜 215
9.4 SAAJ 215
9.5 小結 215
第10章 JAX-RPC服務端點 216
10.1 簡單JSE示例 216
10.2 JSE運行時環(huán)境 217
10.2.1 Servlet:JSE的基礎 218
10.2.2 JNDI環(huán)境命名上下文 219
10.2.3 ServletEndpointContext接口與ServiceLifecycle接口 223
10.3 多線程與JSE 230
10.4 小結 231
第11章 JAX-RPC EJB端點 232
11.1 Enterprise JavaBean基礎知識 232
11.1.1 事務簡介 232
11.1.2 EJB 234
11.1.3 小結 239
11.2 Enterprise JavaBean Web服務 239
11.2.1 簡單示例 239
11.2.2 EJB運行時環(huán)境 242
11.3 小結 247
第12章 JAX-RPC客戶API 248
12.1 生成的占位程序 248
12.1.1 端點接口 249
12.1.2 生成的占位程序 250
12.1.3 服務接口 251
12.1.4 在J2EE中使用生成的占位程序 252
12.2 動態(tài)代理 256
12.2.1 使用動態(tài)代理 257
12.2.2 深層探索 260
12.3 DII 261
12.3.1 與WSDL文檔一起使用DII 261
12.3.2 不通過WSDL文檔使用DII 264
12.3.3 與DII一起使用單向消息傳遞 265
12.3.4 JAX-RPC標準屬性與常數(shù) 265
12.4 小結 267
第13章 SAAJ 269
13.1 簡單SAAJ示例 270
13.2 創(chuàng)建SOAP消息 272
13.2.1 MessageFactory類 272
13.2.2 SaajOutputter類 274
13.2.3 SOAPMessage類 275
13.3 使用SOAP文檔 276
13.3.1 SOAPPart類型與SOAPEnvelope類型 277
13.3.2 SOAPFactory類與Name類型 278
13.3.3 SOAPElement類型 280
13.3.4 Node類型 282
13.3.5 SOAPHeader類型 283
13.3.6 SOAPHeaderElement類型 286
13.3.7 SOAPBody類型 287
13.3.8 SOAPBodyElement類型 287
13.3.9 Text類型 288
13.3.10 SOAPConstants類 289
13.3.11 SOAPException類 289
13.3.12 SOAPFactory類型與SOAPElement類型 290
13.4 SOAP錯誤 291
13.4.1 SOAPFault類型 292
13.4.2 Detail類型 295
13.4.3 SOAPFaultElement類型 295
13.4.4 DetailEntry類型 296
13.5 與SAAJ一起傳輸SOAP消息 296
13.6 SAAJ 1.2與DOM 2 297
13.7 小結 300
第14章 消息處理程序 301
14.1 簡單示例 301
14.1.1 定義消息處理程序類 301
14.1.2 定義WSDL文檔 305
14.1.3 生成服務接口與端點接口 306
14.1.4 配置消息處理程序 307
14.1.5 在J2EE組件中使用消息處理程序 308
14.2 處理程序鏈與處理順序 309
14.2.1 返回值與處理順序 313
14.2.2 異常與處理順序 315
14.3 處理程序運行時環(huán)境 316
14.3.1 無狀態(tài)與多線程 316
14.3.2 JNDI環(huán)境命名上下文 317
14.3.3 消息處理程序的生命周期 319
14.3.4 MessageContext類型 321
14.4 小結 323
第15章 將Java映射到WSDL和XML 324
15.1 將WSDL映射到Java 324
15.1.1 WSDL與端點接口 325
15.1.2 聲明多個部分 326
15.1.3 定義多個操作 327
15.1.4 單向消息傳遞 328
15.2 將XML映射到Java 329
15.2.1 XML模式內置簡單類型 329
15.2.2 XML模式復雜類型 331
15.2.3 數(shù)組 334
15.2.4 枚舉 334
15.2.5 SOAPElement:在Document/Literal編碼中支持非標準類型 336
15.2.6 SOAPElement:xsd:any元素 341
15.2.7 Nillable元素 342
15.3 Holder 343
15.3.1 復制傳遞:IN參數(shù) 344
15.3.2 引用傳遞:INOUT參數(shù)和OUT參數(shù) 344
15.3.3 Holder類:在JAX-RPC中支持INOUT參數(shù)和OUT參數(shù) 346
15.3.4 從WSDL映射Holder類型 347
15.4 錯誤與Java異常 354
15.5 小結 359
第Ⅴ部分 JAXR
第16章 JAXR基礎知識 363
16.1 使用UDDI測試注冊表 363
16.2 與UDDI注冊表建立連接 364
16.2.1 獲得ConnectionFactory 365
16.2.2 配置ConnectionFactory 366
16.2.3 連接到UDDI注冊表 368
16.2.4 對UDDI注冊表進行身份驗證 368
16.2.5 在J2EE中獲得JAXR連接 369
16.3 使用RegistryService對象與BusinessLifeCycleManager對像 370
16.3.1 RegistryService接口 372
16.3.2 使用BusinessLifeCycleManager對象 374
16.4 BulkResponse類型 377
16.4.1 BulkResponse接口 378
16.4.2 在示例中處理BulkResponse 379
16.5 異常 379
16.6 小結 379
第17章 JAXR商務對象 381
17.1 RegistryObject接口 382
17.2 Organization信息對象 385
17.2.1 businessEntity 388
17.2.2 ExternalLinks 389
17.2.3 Name和Description 390
17.2.4 User 394
17.2.5 分類 402
17.2.6 外部標識符 411
17.2.7 服務 416
17.3 小結 416
第18章 JAXR技術對象 417
18.1 Service信息對象與ServiceBinding信息對象 417
18.1.1 創(chuàng)建新Service對象 419
18.1.2 創(chuàng)建新ServiceBinding對象 420
18.1.3 Service接口 421
18.1.4 ServiceBinding接口 422
18.2 Concept信息對象 423
18.2.1 創(chuàng)建新Concept 425
18.2.2 Concept接口 428
18.3 SpecificationLink信息對象 432
18.3.1 使用Specification對象 432
18.3.2 SpecificationLink接口 435
18.4 Association信息對象 436
18.5 預定義枚舉 440
18.5.1 AssociationType枚舉 441
18.5.2 URLType枚舉 441
18.5.3 ExtensibleObject接口與Slot接口 442
18.6 小結 443
第19章 JAXR查詢API與發(fā)布API 444
19.1 將JAXR映射到UDDI查詢API 444
19.1.1 使用搜索準則 448
19.1.2 findXXX( )方法 454
19.2 將JAXR映射到UDDI發(fā)布API 458
19.3 小結 459
第Ⅵ部分 JAXP
第20章 SAX2 463
20.1 用SAX解析:XMLReaderFactory類與XMLReader類 464
20.2 ContentHandler接口與DefaultHandler接口 465
20.2.1 startDocument( )方法與endDocument( )方法 465
20.2.2 startElement()方法與endElement()方法 469
20.2.3 startPrefixMapping( )方法與endPrefixMapping( )方法 473
20.2.4 characters( )方法 474
20.2.5 其他ContentHandler方法 475
20.2.6 其他SAX2偵聽者接口 476
20.3 用W3C XML模式檢驗 477
20.4 小結 478
第21章 DOM 2 479
21.1 用DOM解析:DocumentBuildFactory類與DocumentBuilder類 480
21.2 節(jié)點 481
21.2.1 依賴于類型的特性 484
21.2.2 XML名稱方法 486
21.2.3 屬性方法 488
21.2.4 所有者(Owner)文檔 489
21.2.5 導航節(jié)點樹 489
21.2.6 用于子對象管理的方法 491
21.2.7 其他方法 491
21.3 構建DOM文檔 492
21.4 復制節(jié)點 498
21.5 小結 500
第Ⅶ部分 部署
第22章 J2EE部署 503
22.1 J2EE部署過程概述 503
22.2 J2EE Web Services部署 504
22.2.1 用J2EE端點開始Web服務 504
22.2.2 用WSDL開始Web服務 506
22.2.3 JAX-RPC映射文件 508
22.2.4 用于J2EE組件的部署描述器 508
22.3 部署JSE 509
22.3.1 將JSE打包到WAR文件 509
22.3.2 web.xml文件 510
22.4 部署EJB端點 515
22.4.1 說明性事務屬性 515
22.4.2 說明性安全屬性 517
22.5 服務引用 519
22.5.1 service-ref-name元素 521
22.5.2 service-interface元素 521
22.5.3 wsdl-file元素與service-qname元素 522
22.5.4 jaxrpc-mapping-file元素 523
22.5.5 port-component-ref元素 524
22.5.6 顯示元素 525
22.5.7 handler元素 525
22.6 小結 531
第23章 Web服務描述器 532
23.1 wsdl-file元素與wsdl-port元素 533
23.2 port-component-name元素 534
23.3 service-endpoint-interface元素 535
23.4 service-impl-bean元素 536
23.5 jaxrpc-mapping-file元素 537
23.6 handler元素 538
23.6.1 handler-name元素 539
23.6.2 handler-class元素 539
23.6.3 init-param元素 539
23.6.4 soap-header元素 540
23.6.5 soap-role元素 541
23.6.6 通過處理程序進行處理 542
23.6.7 顯示元素 542
23.7 小結 542
第24章 JAX-RPC映射文件 543
24.1 輕量級JAX-RPC映射文件的條件 543
24.2 輕量級映射示例 544
24.3 重量級映射示例 546
24.4 映射文件剖析 549
24.4.1 java-wsdl-mapping元素 549
24.4.2 package-mapping元素 550
24.4.3 java-xml-type-mapping元素 552
24.4.4 exception-mapping元素 554
24.4.5 service-interface-mapping元素 556
24.4.6 service-endpoint-interface-mapping元素 563
24.5 小結 535
第Ⅷ部分 附 錄
附錄A XML DTD 567
附錄B XML模式正則表達式 571
B.1 符號集 571
B.2 限定符 572
B.3 其他元符號 572
B.4 應用示例 573
B.4.1 ISBN(國際標準書號) 573
B.4.2 美國郵政編碼 574
B.4.3 美國電話號碼 574
B.4.4 英國郵政編碼 574
附錄C Base64編碼 575
附錄D SOAP RPC/Encoded 576
D.1 soap:encodingStyle特性 576
D.2 操作結構 579
D.3 簡單類型 580
D.4 復雜類型 581
D.5 數(shù)組類型 582
D.5.1 數(shù)組的大小 585
D.5.2 數(shù)組的其他功能 586
D.6 引用 586
D.7 小結 589
附錄E SwA 590
E.1 MIME基礎知識 590
E.2 在SOAP中使用MIME 593
E.3 小結 595
附錄F SAAJ附件 597
F.1 JAF 598
F.1.1 DataHandler類 599
F.1.2 DataContentHandler類 600
F.1.3 DataSource類 603
F.2 SAAJ與JAF:AttachmentPart對象 605
F.2.1 數(shù)據(jù)對象 607
F.2.2 createAttachmentPart( )方法 607
F.2.3 setContent( )方法與setDataHandler( )方法 608
F.2.4 getContent( )方法 609
F.2.5 MIME文件頭方法 610
F.3 SOAPPart對象 613
F.3.1 XSLT 615
F.3.2 TrAX 615
F.3.3 使用StreamSource 615
F.3.4 DOMSource 616
F.3.5 SAXSource 616
F.4 SOAPEnvelope 617
F.4.1 getHeader( )方法、getBody( )方法與addBody( )方法 617
F.4.2 createName( )方法 617
F.5 小結 618
附錄G JAX-RPC和SwA 619
G.1 JAF:DataContentHandler類型和DataSource類型 619
G.2 簡單示例 620
G.3 將MIME類型映射到Java 623
G.3.1 multipart/* MIME類型 624
G.3.2 text/xml類型與application/xml MIME類型 626
G.3.3 用作返回類型、INOUT和OUT參數(shù)的MIME附件 627
G.4 使用DataHandler類型和DataSource類型 630
G.5 小結 632
附錄H 在沒有WSDL文檔的情況下使用JAX-RPC DII 633
參考資料 638

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號