|
Part I DataPower Introduction |
|
|
1 | (42) |
|
An Introduction to DataPower SOA Appliances |
|
|
3 | (18) |
|
|
4 | (2) |
|
|
4 | (1) |
|
|
5 | (1) |
|
|
5 | (1) |
|
Typical Usages of Appliances |
|
|
6 | (7) |
|
Solving Security Problems |
|
|
6 | (2) |
|
To Lower Total Cost of Ownership (TCO) |
|
|
8 | (2) |
|
|
10 | (1) |
|
|
11 | (2) |
|
A Closer Look at the DataPower Products |
|
|
13 | (5) |
|
Physical Characteristics of Appliances |
|
|
14 | (1) |
|
Software Architecture of Appliances |
|
|
14 | (1) |
|
|
15 | (2) |
|
|
17 | (1) |
|
DataPower as a Member of the Network Infrastructure |
|
|
18 | (1) |
|
|
19 | (2) |
|
DataPower Quick Tour and Setup |
|
|
21 | (22) |
|
Getting Started with Your New Appliance |
|
|
21 | (5) |
|
Hey Bert, Got a Package for You... |
|
|
21 | (3) |
|
Important Resources Not in the Box |
|
|
24 | (1) |
|
Next Steps---The Planning Phase |
|
|
25 | (1) |
|
Next Steps---What You Will Need |
|
|
25 | (1) |
|
Connecting and Powering Up |
|
|
26 | (5) |
|
DataPower WebGUI Administrative Console Quick Tour |
|
|
31 | (4) |
|
Essential WebGUI Components |
|
|
32 | (3) |
|
Completing the Configuration |
|
|
35 | (7) |
|
Completing the Network Config |
|
|
35 | (4) |
|
Configuring Auxiliary Storage |
|
|
39 | (1) |
|
|
39 | (1) |
|
Updating the Appliance Firmware |
|
|
40 | (2) |
|
|
42 | (1) |
|
Part II DataPower Networking |
|
|
43 | (66) |
|
DataPower as a Network Device |
|
|
45 | (14) |
|
|
45 | (3) |
|
|
48 | (2) |
|
|
50 | (4) |
|
|
50 | (2) |
|
|
52 | (2) |
|
Network Status Information |
|
|
54 | (3) |
|
|
54 | (1) |
|
|
55 | (1) |
|
|
55 | (1) |
|
|
56 | (1) |
|
Network Configuration Checklist |
|
|
57 | (1) |
|
|
57 | (2) |
|
Advanced DataPower Networking |
|
|
59 | (32) |
|
|
59 | (8) |
|
|
60 | (4) |
|
|
64 | (3) |
|
|
67 | (10) |
|
|
67 | (3) |
|
|
70 | (1) |
|
|
70 | (4) |
|
|
74 | (1) |
|
|
74 | (1) |
|
|
75 | (2) |
|
DataPower Networking Scenarios |
|
|
77 | (12) |
|
Scenario: External and Internal |
|
|
77 | (3) |
|
Scenario: Management Network |
|
|
80 | (2) |
|
|
82 | (1) |
|
Scenario: Multiple Interfaces on the Same Network |
|
|
83 | (2) |
|
Scenario: Different Network Zones |
|
|
85 | (4) |
|
|
89 | (2) |
|
Common DataPower Deployment Patterns |
|
|
91 | (18) |
|
|
91 | (17) |
|
DataPower as Security Gateway |
|
|
92 | (5) |
|
DataPower as Enterprise Service Bus |
|
|
97 | (7) |
|
|
104 | (2) |
|
Web Services Enablement of Legacy Systems |
|
|
106 | (1) |
|
Dynamic Content Rendering |
|
|
107 | (1) |
|
|
108 | (1) |
|
Part III DataPower Services |
|
|
109 | (212) |
|
Introduction to DataPower Services |
|
|
111 | (14) |
|
What Is a DataPower Service? |
|
|
111 | (3) |
|
Client-Side (Front) Processing |
|
|
112 | (1) |
|
Service Processing Policy |
|
|
113 | (1) |
|
Server-Side (Back) Processing |
|
|
113 | (1) |
|
|
114 | (1) |
|
Anatomy of a DataPower Service |
|
|
114 | (3) |
|
|
117 | (6) |
|
|
117 | (1) |
|
|
118 | (2) |
|
|
120 | (2) |
|
|
122 | (1) |
|
|
123 | (2) |
|
Introduction to Services Configuration |
|
|
125 | (34) |
|
|
125 | (3) |
|
|
126 | (1) |
|
|
126 | (2) |
|
|
128 | (1) |
|
|
128 | (13) |
|
|
128 | (3) |
|
|
131 | (8) |
|
|
139 | (2) |
|
|
141 | (2) |
|
The DataPower Processing Policy |
|
|
143 | (15) |
|
|
143 | (1) |
|
|
144 | (1) |
|
|
145 | (2) |
|
|
147 | (3) |
|
Creating an Example Processing Policy |
|
|
150 | (2) |
|
|
152 | (1) |
|
Configuring a Policy Rule |
|
|
152 | (3) |
|
|
155 | (1) |
|
|
155 | (3) |
|
|
158 | (1) |
|
|
159 | (34) |
|
|
159 | (1) |
|
|
160 | (32) |
|
|
165 | (4) |
|
|
169 | (4) |
|
Processing Policy, Rules, and Actions |
|
|
173 | (9) |
|
|
182 | (10) |
|
|
192 | (1) |
|
|
193 | (50) |
|
Enterprise Service Bus Introduction |
|
|
193 | (1) |
|
|
194 | (2) |
|
|
194 | (1) |
|
|
194 | (2) |
|
|
196 | (1) |
|
|
196 | (46) |
|
Protocol Mediation: HTTPS and HTTP to HTTP |
|
|
196 | (7) |
|
|
203 | (14) |
|
|
217 | (14) |
|
|
231 | (7) |
|
|
238 | (4) |
|
|
242 | (1) |
|
|
243 | (56) |
|
|
243 | (1) |
|
Web Services Description Language (WSDL) |
|
|
244 | (4) |
|
Creating a Web Service Proxy (WSP) |
|
|
248 | (5) |
|
|
253 | (4) |
|
|
253 | (3) |
|
|
256 | (1) |
|
Front Side Handler Configuration (FSH) |
|
|
257 | (6) |
|
|
262 | (1) |
|
|
263 | (4) |
|
|
264 | (2) |
|
|
266 | (1) |
|
|
266 | (1) |
|
WSDL Configuration and Management |
|
|
267 | (18) |
|
|
267 | (2) |
|
|
269 | (1) |
|
|
270 | (3) |
|
|
273 | (7) |
|
|
280 | (5) |
|
Service Level Monitoring (SLM) |
|
|
285 | (11) |
|
Custom Service Level Monitors |
|
|
290 | (5) |
|
|
295 | (1) |
|
Viewing the Status of the WSPs |
|
|
296 | (1) |
|
|
297 | (2) |
|
Proxying Web Applications with DataPower |
|
|
299 | (22) |
|
Web Applications Are ``Different'' |
|
|
299 | (1) |
|
|
300 | (1) |
|
|
300 | (1) |
|
|
301 | (1) |
|
Choosing a DataPower Service |
|
|
301 | (3) |
|
|
302 | (2) |
|
|
304 | (1) |
|
Service Configuration Parameters |
|
|
304 | (4) |
|
|
305 | (1) |
|
Request and Response Type |
|
|
305 | (1) |
|
|
306 | (1) |
|
Rewrite Hostnames When Gatewaying |
|
|
307 | (1) |
|
|
308 | (3) |
|
Query Parameters and Form Data |
|
|
308 | (2) |
|
|
310 | (1) |
|
|
311 | (2) |
|
|
311 | (1) |
|
|
312 | (1) |
|
|
313 | (3) |
|
|
313 | (1) |
|
|
314 | (1) |
|
|
315 | (1) |
|
|
315 | (1) |
|
Form-Based Authentication |
|
|
316 | (3) |
|
Can DataPower Replace the WebSphere Application Server Plugin? |
|
|
319 | (1) |
|
|
320 | (1) |
|
Part IV Managing DataPower |
|
|
321 | (114) |
|
|
323 | (22) |
|
|
323 | (6) |
|
|
325 | (1) |
|
Remote Domain Configuration |
|
|
325 | (1) |
|
|
326 | (3) |
|
|
329 | (2) |
|
|
329 | (1) |
|
Defining a Password Policy |
|
|
330 | (1) |
|
|
331 | (5) |
|
|
331 | (1) |
|
|
332 | (1) |
|
|
333 | (3) |
|
|
336 | (4) |
|
|
336 | (2) |
|
|
338 | (2) |
|
|
340 | (1) |
|
User Authentication Caching |
|
|
340 | (1) |
|
Access to the Command Line Interface |
|
|
341 | (2) |
|
|
342 | (1) |
|
Domain-Based CLI User Access |
|
|
342 | (1) |
|
|
343 | (2) |
|
Alternate Management Interfaces |
|
|
345 | (28) |
|
|
345 | (18) |
|
|
346 | (1) |
|
|
347 | (1) |
|
|
348 | (1) |
|
|
349 | (1) |
|
Network Configuration Commands |
|
|
349 | (2) |
|
Network Troubleshooting Commands |
|
|
351 | (2) |
|
System Information Commands |
|
|
353 | (2) |
|
Appliance Load and Health Monitoring Commands |
|
|
355 | (2) |
|
Object Modification Commands |
|
|
357 | (3) |
|
File and Configuration Management Commands |
|
|
360 | (2) |
|
|
362 | (1) |
|
|
363 | (9) |
|
Enabling the SOAP Management Interface |
|
|
363 | (1) |
|
Submitting SOAP Management Requests |
|
|
364 | (1) |
|
Defining the Management Service API |
|
|
364 | (8) |
|
|
372 | (1) |
|
|
373 | (26) |
|
|
373 | (4) |
|
|
374 | (1) |
|
|
374 | (1) |
|
|
374 | (1) |
|
|
374 | (1) |
|
|
375 | (1) |
|
|
375 | (1) |
|
|
375 | (1) |
|
|
375 | (1) |
|
|
375 | (1) |
|
|
376 | (1) |
|
|
376 | (1) |
|
|
376 | (1) |
|
|
377 | (2) |
|
|
379 | (8) |
|
|
379 | (1) |
|
|
380 | (4) |
|
|
384 | (1) |
|
|
385 | (1) |
|
|
386 | (1) |
|
|
387 | (1) |
|
|
387 | (1) |
|
|
387 | (1) |
|
|
388 | (1) |
|
|
389 | (1) |
|
Separation of Concerns (Division of Log Traffic) |
|
|
389 | (2) |
|
|
390 | (1) |
|
|
390 | (1) |
|
|
391 | (1) |
|
|
391 | (2) |
|
|
392 | (1) |
|
|
392 | (1) |
|
|
393 | (1) |
|
|
393 | (4) |
|
|
394 | (1) |
|
Configuring SNMP Polling of the Device |
|
|
394 | (2) |
|
Configuring Sending of SNMP Traps |
|
|
396 | (1) |
|
|
397 | (1) |
|
|
397 | (2) |
|
Build and Deploy Techniques |
|
|
399 | (36) |
|
Goals and Objectives of Configuration, Build, and Deployment |
|
|
399 | (34) |
|
DataPower Configuration Fundamentals |
|
|
400 | (3) |
|
Configuring for Migration |
|
|
403 | (6) |
|
Configuration Migration Tools |
|
|
409 | (14) |
|
|
423 | (1) |
|
Configuration Structure for High Availability and Consistency |
|
|
424 | (9) |
|
Use of External Tools in Configuration Management |
|
|
433 | (1) |
|
|
433 | (2) |
|
Part V DataPower Security |
|
|
435 | (200) |
|
|
437 | (40) |
|
AAA: The American Automobile Association? |
|
|
437 | (2) |
|
|
438 | (1) |
|
|
438 | (1) |
|
|
438 | (1) |
|
|
439 | (1) |
|
|
439 | (11) |
|
|
440 | (1) |
|
|
441 | (1) |
|
|
442 | (1) |
|
|
443 | (3) |
|
|
446 | (1) |
|
|
447 | (2) |
|
|
449 | (1) |
|
Configuring AAA in DataPower |
|
|
450 | (11) |
|
The AAA Policy Object Menu |
|
|
451 | (1) |
|
|
452 | (9) |
|
|
461 | (15) |
|
Simple On-Box Authentication/Authorization with AAA Info |
|
|
461 | (4) |
|
|
465 | (6) |
|
|
471 | (5) |
|
|
476 | (1) |
|
|
477 | (30) |
|
Customizing the AAA Runtime Process |
|
|
477 | (18) |
|
|
477 | (18) |
|
Working with Tivoli Security |
|
|
495 | (11) |
|
|
496 | (10) |
|
|
506 | (1) |
|
|
507 | (38) |
|
|
507 | (9) |
|
|
508 | (4) |
|
|
512 | (4) |
|
Configuring SSL in DataPower |
|
|
516 | (16) |
|
|
516 | (9) |
|
Creating Targeted Crypto Profiles |
|
|
525 | (1) |
|
SSL Usage Pattern in DataPower |
|
|
526 | (1) |
|
Using SSL---Inbound Configuration |
|
|
526 | (2) |
|
Using SSL---Outbound Configuration |
|
|
528 | (2) |
|
Certificate Revocation Lists |
|
|
530 | (1) |
|
|
531 | (1) |
|
|
532 | (9) |
|
|
532 | (1) |
|
|
533 | (3) |
|
|
536 | (1) |
|
When Signing Isn't Enough |
|
|
537 | (1) |
|
|
538 | (1) |
|
The Mutually Authenticated Self-Signed SSL Tunnel |
|
|
539 | (2) |
|
|
541 | (3) |
|
|
541 | (1) |
|
|
542 | (2) |
|
|
544 | (1) |
|
|
545 | (34) |
|
|
545 | (33) |
|
Message Exchange and Vulnerabilities |
|
|
546 | (1) |
|
|
546 | (1) |
|
|
546 | (1) |
|
|
547 | (1) |
|
Authentication, Authorization, and Auditing |
|
|
547 | (1) |
|
Cryptographic Terminology, Basic Definitions |
|
|
547 | (2) |
|
|
549 | (1) |
|
|
550 | (1) |
|
SSL/TLS (HTTPS) Use and Vulnerabilities |
|
|
551 | (1) |
|
|
551 | (1) |
|
|
552 | (1) |
|
WS-Policy and Policy Governance |
|
|
553 | (1) |
|
Digital Signatures on DataPower |
|
|
554 | (11) |
|
Encryption and Decryption on DataPower |
|
|
565 | (8) |
|
|
573 | (5) |
|
|
578 | (1) |
|
|
579 | (32) |
|
|
579 | (3) |
|
The Technology Adoption Curve |
|
|
580 | (1) |
|
But, I Thought XML Was Our Friend! |
|
|
580 | (1) |
|
|
581 | (1) |
|
|
581 | (1) |
|
XML Threat Categories and Examples |
|
|
582 | (12) |
|
Four Categories of XML Threats |
|
|
582 | (1) |
|
Single-Message Denial of Service Attacks |
|
|
583 | (4) |
|
Multiple-Message Denial of Service Attacks |
|
|
587 | (1) |
|
Unauthorized Access Attacks |
|
|
587 | (2) |
|
Data Integrity and Confidentiality Attacks |
|
|
589 | (4) |
|
System Compromise Attacks |
|
|
593 | (1) |
|
Threat Protection with DataPower |
|
|
594 | (15) |
|
|
594 | (1) |
|
|
595 | (1) |
|
Network/Protocol Protection |
|
|
595 | (1) |
|
The XML Threat Protection Tab |
|
|
596 | (12) |
|
Using the Filter Action for Replay Attack Protection |
|
|
608 | (1) |
|
|
608 | (1) |
|
|
609 | (2) |
|
Security Integration with WebSphere Application Server |
|
|
611 | (24) |
|
WebSphere Application Server Introduction |
|
|
611 | (22) |
|
|
612 | (1) |
|
|
612 | (3) |
|
WAS Web Services Security Implementation |
|
|
615 | (1) |
|
Key Security Integration Points |
|
|
616 | (17) |
|
|
633 | (2) |
|
Part VI DataPower Development |
|
|
635 | (148) |
|
Introduction to DataPower Development |
|
|
637 | (18) |
|
Why the Need for DataPower Development? |
|
|
637 | (1) |
|
Introduction to XML Technologies |
|
|
638 | (9) |
|
|
639 | (2) |
|
|
641 | (1) |
|
|
642 | (1) |
|
|
643 | (1) |
|
Introduction to Extension Functions and Elements |
|
|
644 | (2) |
|
Introduction to EXSLT Extension Function and Elements |
|
|
646 | (1) |
|
Introduction to DataPower Extension Functions and Elements |
|
|
646 | (1) |
|
|
647 | (6) |
|
|
653 | (2) |
|
Programming Within the DataPower Environment |
|
|
655 | (30) |
|
|
655 | (7) |
|
System, Service, and User-Defined Variables |
|
|
657 | (3) |
|
|
660 | (1) |
|
|
661 | (1) |
|
Writing Messages to the DataPower Log |
|
|
662 | (5) |
|
Using the Probe for Variable Display |
|
|
667 | (3) |
|
Writing Documents to the File System |
|
|
670 | (2) |
|
Accessing and Processing Message Context |
|
|
672 | (5) |
|
|
673 | (2) |
|
Parsing and Serializing XML |
|
|
675 | (2) |
|
Accessing Protocol Headers |
|
|
677 | (2) |
|
|
679 | (1) |
|
|
680 | (1) |
|
|
681 | (2) |
|
|
683 | (2) |
|
Real-World Examples of XSLT Programming |
|
|
685 | (42) |
|
|
685 | (41) |
|
Example 1: If It's Tuesday, This Must Be Belgium |
|
|
686 | (5) |
|
Example 2: Passing Variables to XSLT |
|
|
691 | (4) |
|
Example 3: Error Processing and Control |
|
|
695 | (10) |
|
Example 4: Dynamic Routing |
|
|
705 | (7) |
|
Example 5: Load Balancer Health Checker |
|
|
712 | (14) |
|
|
726 | (1) |
|
|
727 | (26) |
|
Integrated Development Environments |
|
|
727 | (12) |
|
Rational Application Developer |
|
|
727 | (9) |
|
|
736 | (3) |
|
|
739 | (12) |
|
Eclipse (RAD) XSLT Coproc Plugin |
|
|
739 | (6) |
|
Eclipse (RAD) Management Plugin |
|
|
745 | (4) |
|
|
749 | (2) |
|
|
751 | (2) |
|
Transforming Non-XML Data |
|
|
753 | (30) |
|
Common Non-XML Data Formats and Scenarios |
|
|
753 | (2) |
|
Legacy Backend/Pseudo Web Service Frontend |
|
|
754 | (1) |
|
Multiple Non-XML Data Formats |
|
|
754 | (1) |
|
Tooling for Transforming Non-XML Data |
|
|
755 | (5) |
|
|
755 | (1) |
|
Third-Party Development Tools for Non-XML Transform Development |
|
|
756 | (4) |
|
Creating Non-XML Transformations with WebSphere TX Design Studio |
|
|
760 | (19) |
|
Configuring DataPower for WTX |
|
|
762 | (1) |
|
Building the Scenario Transformation |
|
|
763 | (16) |
|
Advanced Transform Binary Features |
|
|
779 | (3) |
|
Multiple Input and Output Cards |
|
|
779 | (2) |
|
Precompiling Maps for DataPower |
|
|
781 | (1) |
|
|
781 | (1) |
|
|
782 | (1) |
|
Part VII Problem Determination and Tools |
|
|
783 | (78) |
|
Problem Determination Using Built-In Tools |
|
|
785 | (30) |
|
Configuration Troubleshooting |
|
|
785 | (14) |
|
|
786 | (2) |
|
Domain-Level Service Status |
|
|
788 | (2) |
|
Domain-Level Object Status |
|
|
790 | (1) |
|
Reasons for Down Handlers |
|
|
790 | (6) |
|
Other Down Helper Objects |
|
|
796 | (2) |
|
|
798 | (1) |
|
Application Troubleshooting |
|
|
799 | (11) |
|
|
799 | (3) |
|
|
802 | (2) |
|
Common Configuration Mistakes |
|
|
804 | (5) |
|
|
809 | (1) |
|
Operations Troubleshooting |
|
|
810 | (3) |
|
Log Target Troubleshooting |
|
|
810 | (1) |
|
|
811 | (1) |
|
|
812 | (1) |
|
|
813 | (2) |
|
Problem Determination Using External Tools |
|
|
815 | (28) |
|
|
816 | (18) |
|
|
816 | (3) |
|
|
819 | (2) |
|
|
821 | (2) |
|
|
823 | (3) |
|
Authentication and Authorization Server Tools |
|
|
826 | (3) |
|
|
829 | (1) |
|
|
829 | (5) |
|
|
834 | (1) |
|
Connection and Networking Issues |
|
|
834 | (6) |
|
|
835 | (5) |
|
|
840 | (2) |
|
|
840 | (1) |
|
|
840 | (2) |
|
|
842 | (1) |
|
Multiple Device Management Tools |
|
|
843 | (18) |
|
|
843 | (1) |
|
|
844 | (10) |
|
WebSphere Application Server v7 Administration Console |
|
|
854 | (5) |
|
|
859 | (2) |
|
|
861 | (2) |
|
Appendix A DataPower Naming Conventions |
|
|
863 | (10) |
|
|
863 | (1) |
|
|
864 | (7) |
|
|
864 | (1) |
|
|
865 | (1) |
|
|
865 | (1) |
|
|
866 | (1) |
|
|
866 | (1) |
|
|
867 | (1) |
|
|
867 | (1) |
|
|
867 | (1) |
|
|
868 | (1) |
|
|
868 | (1) |
|
|
868 | (1) |
|
|
869 | (1) |
|
Identification Credential |
|
|
869 | (1) |
|
|
869 | (1) |
|
|
869 | (1) |
|
|
870 | (1) |
|
|
870 | (1) |
|
|
870 | (1) |
|
|
871 | (1) |
|
|
871 | (1) |
|
Configuration Files (XML) |
|
|
871 | (1) |
|
|
871 | (2) |
|
Appendix B Deployment Checklist |
|
|
873 | (4) |
|
|
873 | (1) |
|
|
874 | (1) |
|
|
874 | (1) |
|
|
875 | (1) |
|
|
876 | (1) |
|
Appendix C DataPower Evolution |
|
|
877 | (4) |
|
|
877 | (1) |
|
|
877 | (1) |
|
|
878 | (1) |
|
|
878 | (1) |
|
|
878 | (1) |
|
|
879 | (1) |
|
|
879 | (1) |
|
|
880 | (1) |
|
Low Latency Messaging Appliance |
|
|
880 | (1) |
|
|
880 | (1) |
|
|
880 | (1) |
|
Appendix D Acronyms Glossary |
|
|
881 | (4) |
Index |
|
885 | |