|
Java Web Services for Experienced
Programmers |
|
|
|
Table of Contents ©
1992-2005. Deitel & Associates, Inc. All Rights Reserved.
|
|
|
Illustrations |
xvi |
|
|
Preface |
xxix |
|
1 |
Introduction |
1 |
|
1.1 |
Introduction |
2 |
|
1.2 |
Computing Advancements and Web Services |
3 |
|
1.2.1 |
3 |
|
1.2.2 |
4 |
|
1.2.3 |
5 |
|
1.2.4 |
6 |
|
1.3 |
Emergence of Web Services |
7 |
|
1.4 |
Web Services Advantages |
8 |
|
1.5 |
Real Web Services |
9 |
|
1.6 |
Web Services Challenges |
11 |
|
1.7 |
Java Web Services Software |
12 |
|
1.7.1 |
12 |
|
1.7.2 |
12 |
|
1.7.3 |
13 |
|
1.8 |
Tour of the Book |
15 |
|
1.9 |
Summary |
20 |
|
2 |
Creating Markup with XML |
23 |
|
2.1 |
Introduction |
24 |
|
2.2 |
Introduction to XML Markup |
24 |
|
2.3 |
Parsers and Well-Formed XML Documents |
27 |
|
2.4 |
Characters |
28 |
|
2.4.1 |
28 |
|
2.4.2 |
28 |
|
2.5 |
CDATA Sections and Processing
Instructions |
30 |
|
2.6 |
XML Namespaces |
32 |
|
2.7 |
Summary |
35 |
|
2.8 |
Internet and World Wide Web Resources |
35 |
|
3 |
Document Type Definition (DTD) |
37 |
|
3.1 |
Introduction |
38 |
|
3.2 |
Parsers and Well-Formed and Valid XML Documents |
38 |
|
3.3 |
Document Type Declaration |
39 |
|
3.4 |
Element Type Declarations |
40 |
|
3.4.1 |
42 |
|
3.4.2 |
45 |
|
3.5 |
Attribute Declarations |
47 |
|
3.6 |
Attribute Types |
48 |
|
3.6.1 |
49 |
|
3.6.2 |
54 |
|
3.7 |
Conditional Sections |
55 |
|
3.8 |
Whitespace Characters |
56 |
|
3.9 |
Summary |
58 |
|
3.10 |
Internet and World Wide Web Resources |
59 |
|
4 |
Document Object Model (DOM™) |
60 |
|
4.1 |
Introduction |
61 |
|
4.2 |
DOM with Java |
62 |
|
4.3 |
DOM Components |
66 |
|
4.4 |
Creating Nodes |
73 |
|
4.5 |
Traversing the DOM |
77 |
|
4.6 |
Summary |
81 |
|
4.7 |
Internet and World Wide Web Resources |
81 |
|
5 |
XSL: Extensible Stylesheet Language Transformations (XSLT) |
82 |
|
5.1 |
Introduction |
83 |
|
5.2 |
Applying XSLTs with Java |
83 |
|
5.3 |
Simple Transformation Example |
85 |
|
5.4 |
Creating Elements and Attributes |
87 |
|
5.5 |
Iteration and Sorting |
90 |
|
5.6 |
Conditional Processing |
94 |
|
5.7 |
Combining Style Sheets |
96 |
|
5.8 |
Summary |
104 |
|
5.9 |
Internet and World Wide Web Resources |
105 |
|
6 |
SOAP-Based Web-Services Platforms |
106 |
|
6.1 |
Introduction |
108 |
|
6.2 |
Developing a Web Service |
109 |
|
6.3 |
Axis |
110 |
|
6.3.1 |
110 |
|
6.3.2 |
111 |
|
6.3.3 |
111 |
|
6.3.4 |
113 |
|
6.4 |
CapeConnect 3.5 |
114 |
|
6.4.1 |
114 |
|
6.4.2 |
115 |
|
6.4.3 |
117 |
|
6.4.4 |
119 |
|
6.5 |
GLUE Standard 3.0 |
122 |
|
6.5.1 |
123 |
|
6.5.2 |
123 |
|
6.5.3 |
124 |
|
6.5.4 |
130 |
|
6.6 |
IONA Orbix E2A XMLBus 5.2 |
131 |
|
6.6.1 |
131 |
|
6.6.2 |
131 |
|
6.6.3 |
135 |
|
6.6.4 |
139 |
|
6.7 |
WASP Server for Java 4.0 |
140 |
|
6.7.1 |
142 |
|
6.7.2 |
143 |
|
6.7.3 |
144 |
|
6.7.4 |
146 |
|
6.8 |
Developing a Web-Services Client |
149 |
|
6.8.1 |
149 |
|
6.8.2 |
150 |
|
6.9 |
Simple Object Access Protocol (SOAP) |
153 |
|
6.10 |
156 |
|
6.11 |
157 |
|
7 |
Web Services Description Language |
158 |
|
7.1 |
Introduction |
159 |
|
7.2 |
History of WSDL |
159 |
|
7.3 |
Role of WSDL in Web Services |
159 |
|
7.4 |
WSDL Document Structure |
160 |
|
7.5 |
WSDL Document Generation |
164 |
|
7.6 |
Using WSDL in Developing a Web-Service Client |
170 |
|
7.7 |
Remote Web-Service Invocation Using WSDL |
174 |
|
7.8 |
Summary |
185 |
|
8 |
UDDI, Discovery and Web Services Registries |
187 |
|
8.1 |
Introduction |
188 |
|
8.2 |
Discovery |
189 |
|
8.3 |
SOAP, UDDI and WSDL |
189 |
|
8.4 |
Universal Description, Discovery and Integration (UDDI) |
190 |
|
8.4.1 |
191 |
|
8.4.2 |
191 |
|
8.5 |
Role of UDDI in Web Services |
192 |
|
8.5.1 |
192 |
|
8.5.2 |
192 |
|
8.5.3 |
197 |
|
8.6 |
UDDI Registries |
198 |
|
8.6.1 |
198 |
|
8.6.2 |
203 |
|
8.7 |
Limitations of UDDI |
203 |
|
8.8 |
Other Discovery Technologies |
204 |
|
8.8.1 |
204 |
|
8.8.2 |
205 |
|
8.9 |
Summary |
206 |
|
8.10 |
Internet and Web Resources |
207 |
|
9 |
Java API for XML-Based Remote Procedure Calls (JAX-RPC) |
211 |
|
9.1 |
Introduction |
212 |
|
9.2 |
JAX-RPC Overview |
213 |
|
9.3 |
Simple Web Service: Vote Service |
214 |
|
9.3.1 |
216 |
|
9.3.2 |
217 |
|
9.3.3 |
218 |
|
9.3.4 |
221 |
|
9.3.5 |
226 |
|
9.4 |
Improved Vote Service |
257 |
|
9.4.1 |
259 |
|
9.4.2 |
263 |
|
9.4.3 |
267 |
|
9.5 |
Accessing Web Services Written by a Third Party |
271 |
|
9.5.1 |
272 |
|
9.5.2 |
272 |
|
9.6 |
Summary |
278 |
|
9.7 |
Internet and World Wide Web Resources |
279 |
|
10 |
Java API for XML Registries (JAXR) |
280 |
|
10.1 |
Introduction |
281 |
|
10.1.1 |
282 |
|
10.1.2 |
282 |
|
10.2 |
Registering for XML Registry Access |
284 |
|
10.2.1 |
284 |
|
10.2.2 |
285 |
|
10.3 |
Connecting to an XML Registry |
285 |
|
10.4 |
Registering Business Profile |
288 |
|
10.4.1 |
300 |
|
10.5 |
Querying Registries Using JAXR |
301 |
|
10.6 |
Removing Business Profile |
310 |
|
10.7 |
Query Manager and Life Cycle Manager Providers’ URLs |
317 |
|
10.8 |
Summary |
318 |
|
10.9 |
Internet and World Wide Web Resources |
319 |
|
11 |
JAXM and SAAJ |
320 |
|
11.1 |
Introduction |
321 |
|
11.2 |
Java Messaging APIs |
321 |
|
11.3 |
JAXM and SAAJ |
322 |
|
11.4 |
Standalone JAXM Clients and JAXM Web Services |
323 |
|
11.5 |
JAXM Application with Message Provider |
339 |
|
11.6 |
Summary |
370 |
|
12 |
Computer and Internet Security |
372 |
|
12.1 |
Introduction |
373 |
|
12.2 |
Ancient Ciphers to Modern Cryptosystems |
374 |
|
12.3 |
Secret-Key Cryptography |
375 |
|
12.4 |
Public-Key Cryptography |
377 |
|
12.5 |
Cryptanalysis |
380 |
|
12.6 |
Key Agreement Protocols |
380 |
|
12.7 |
Key Management |
381 |
|
12.8 |
Digital Signatures |
382 |
|
12.9 |
Public-Key Infrastructure, Certificates and Certificate
Authorities |
383 |
|
12.9.1 |
385 |
|
12.10 |
Security Protocols |
386 |
|
12.10.1 |
386 |
|
12.10.2 |
387 |
|
12.11 |
Authentication and Authorization |
388 |
|
12.11.1 |
389 |
|
12.11.2 |
389 |
|
12.11.3 |
390 |
|
12.12 |
Security Attacks |
391 |
|
12.12.1 |
392 |
|
12.12.2 |
392 |
|
12.12.3 |
394 |
|
12.13 |
Network Security |
395 |
|
12.13.1 |
395 |
|
12.13.2 |
396 |
|
12.14 |
Steganography |
397 |
|
12.15 |
Summary |
398 |
|
12.16 |
Internet and Web Resources |
400 |
|
13 |
Web Services Security |
408 |
|
13.1 |
Introduction |
409 |
|
13.2 |
Basic Security for Transmissions over HTTP |
410 |
|
13.3 |
Web Services and Secure Sockets Layer (SSL) |
411 |
|
13.4 |
XML Signature and XML Encryption |
412 |
|
13.5 |
XML Key Management Specification (XKMS) |
418 |
|
13.6 |
Security Assertion Markup Language (SAML) |
422 |
|
13.7 |
Extensible Access Control Markup Language (XACML) |
426 |
|
13.8 |
Authentication and Authorization for Web Services |
430 |
|
13.9 |
Web Services and Network Security |
431 |
|
13.10 |
Summary |
432 |
|
13.11 |
Internet and Web Resources |
433 |
|
14 |
Wireless Web Services and Java 2 Micro Edition |
439 |
|
14.1 |
Introduction |
440 |
|
14.2 |
Java 2 Micro Edition |
440 |
|
14.2.1 |
440 |
|
14.2.2 |
444 |
|
14.3 |
Using J2ME to Access Web Services via Servlets |
447 |
|
14.4 |
Using J2ME to Access Web Services via Enhydra’s kSOAP |
460 |
|
14.5 |
Summary |
466 |
|
14.6 |
Internet and World Wide Web Resources |
467 |
|
15 |
Case Study Architecture and Web-Service Implementations |
469 |
|
15.1 |
Introduction |
470 |
|
15.2 |
Price Finder Application Architecture |
470 |
|
15.3 |
Deitel Book Information Web Service |
472 |
|
15.4 |
Bookstore Implementations |
475 |
|
15.5 |
Price Finder Web Services |
493 |
|
15.5.1 |
499 |
|
15.5.2 |
507 |
|
15.5.3 |
507 |
|
16 |
Case Study Client Applications |
517 |
|
16.1 |
Introduction |
518 |
|
16.2 |
Servlet-based Web Client |
518 |
|
16.2.1 |
519 |
|
16.2.2 |
521 |
|
16.2.3 |
524 |
|
16.2.4 |
524 |
|
16.2.5 |
529 |
|
16.2.6 |
532 |
|
16.2.7 |
534 |
|
16.3 |
Swing Desktop Client |
536 |
|
16.4 |
Java™ 2 Micro Edition Wireless Client |
545 |
|
17 |
Case Study Deployment |
569 |
|
17.1 |
Introduction |
570 |
|
17.2 |
Deploying the Bookstore Web Services |
570 |
|
17.2.1 |
570 |
|
17.2.2 |
571 |
|
17.2.3 |
574 |
|
17.2.4 |
576 |
|
17.3 |
Book Information Web Service Deployment Instructions |
577 |
|
17.4 |
PriceFinder Deployment Instructions |
577 |
|
A |
Servlets |
583 |
|
A.1 |
Introduction |
584 |
|
A.2 |
Servlet Overview and Architecture |
586 |
|
A.2.1 |
587 |
|
A.2.2 |
589 |
|
A.2.3 |
590 |
|
A.2.4 |
591 |
|
A.3 |
Handling HTTP
get Requests |
592 |
|
A.3.1 |
596 |
|
A.3.2 |
597 |
|
A.4 |
Handling HTTP
get Requests Containing Data |
602 |
|
A.5 |
Handling HTTP
post Requests |
605 |
|
A.6 |
Redirecting Requests to Other Resources |
608 |
|
A.7 |
Session Tracking |
612 |
|
A.7.1 |
613 |
|
A.7.2 |
621 |
|
A.8 |
Multi-Tier Applications: Using JDBC from a Servlet |
630 |
|
A.9 |
HttpUtils Class |
637 |
|
A.10 |
Summary |
637 |
|
A.11 |
Internet and World Wide Web Resources |
641 |
|
B |
JavaServer Pages (JSP) |
643 |
|
B.1 |
Introduction |
644 |
|
B.2 |
JavaServer Pages Overview |
645 |
|
B.3 |
A First JavaServer Page Example |
646 |
|
B.4 |
Implicit Objects |
648 |
|
B.5 |
Scripting |
649 |
|
B.5.1 |
650 |
|
B.5.2 |
651 |
|
B.6 |
Standard Actions |
654 |
|
B.6.1 |
655 |
|
B.6.2 |
660 |
|
B.6.3 |
663 |
|
B.6.4 |
667 |
|
B.7 |
Directives |
684 |
|
B.7.1 |
684 |
|
B.7.2 |
686 |
|
B.8 |
Custom Tag Libraries |
688 |
|
B.8.1 |
689 |
|
B.8.2 |
693 |
|
B.8.3 |
697 |
|
B.9 |
Summary |
703 |
|
B.10 |
Internet and World Wide Web Resources |
706 |
|
|
Index |
707 |
|
[ top ]
© 1992-2005. Deitel & Associates, Inc. All Rights Reserved.
|