rent-now

Rent More, Save More! Use code: ECRENTAL

5% off 1 book, 7% off 2 books, 10% off 3+ books

9783540009146

Perspectives on Web Services

by ; ;
  • ISBN13:

    9783540009146

  • ISBN10:

    3540009140

  • Format: Hardcover
  • Copyright: 2003-10-01
  • Publisher: Springer Verlag
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $109.99 Save up to $90.19
  • Digital
    $42.90*
    Add to Cart

    DURATION
    PRICE
    *To support the delivery of the digital material to you, a digital delivery fee of $3.99 will be charged on each digital item.

Summary

Contains everything that a project team needs to know about the development and deployment of Web services with the IBM WebSphere product family. Included will be examples for all development artifacts in a format that can be reused in the readera??s project. It combines the authorsa?? own practical experiences with consolidated information on the latest product capabilities in a unique approach that allows the book to be easily accessible to a broad spectrum of readers. Finding a balance between a euphoric/optimistic and down-to earth/realistic view on the subject, this book will be an essential part of every Web service developera??s bookshelf.

Table of Contents

Foreword V
Dedications VII
Preface IX
Motivation for this Book
IX
Mission Statement
IX
Who Should Read this Book?
X
The Perspectives Metaphor
X
Non-Goals
X
Approach
XI
Outline to the Book Structure
XII
Prerequisite Skills
XIV
Notational Conventions
XV
About the Authors
XVI
Table of Contents XVII
Acknowledgements XXV
List of Abbreviations XXVII
1 The Business Perspective 1(30)
1.1 The Sponsor's View ... and a Few Other Opinions
1(1)
1.2 Web Services - Holy Grail or Déjà Vu?
2(10)
1.2.1 Business Drivers and Benefits
2(2)
1.2.2 Requirements for Application-to-Application Communication
4(4)
1.2.3 Additional Advantages
8(2)
1.2.4 Litmus Test (a.k.a. Applicability Filter)
10(2)
1.3 Usage Scenarios
12(9)
1.3.1 Enterprise Application Integration (EAI)
13(2)
1.3.2 Business-to-Business (B2B)
15(2)
1.3.3 Common Services
17(1)
1.3.4 Miscellaneous Scenarios
18(3)
1.4 Potential Inhibitors
21(5)
1.4.1 Over-Enthusiastic Expectations
21(1)
1.4.2 Goal Conflicts
22(1)
1.4.3 Skepticism about New Technology
22(1)
1.4.4 Security and Performance Concerns
23(1)
1.4.5 Logistical and Organizational Issues
24(1)
1.4.6 Skill Deficiencies
24(1)
1.4.7 Roll-Your-Own (RYO) Temptation
25(1)
1.4.8 So Do the Inhibitors Really Inhibit Us?
25(1)
1.5 Introduction to the Case Study
26(2)
1.5.1 Background Information
26(1)
1.5.2 The Business Problem
26(1)
1.5.3 Solution Outline
27(1)
1.6 Summary
28(3)
1.6.1 Key Messages
28(2)
1.6.2 Where to Find More Information
30(1)
1.6.3 What's Next
30(1)
2 The Training Perspective 31(124)
2.1 The Trainer's View ... And What the Trainees Think
31(2)
2.2 Web Services Concepts in a Nutshell
33(3)
2.2.1 Roles and Relationships
33(2)
2.2.2 A First Look at the Case Study Solution
35(1)
2.2.3 Where to Go from Here
35(1)
2.3 XML, XML Namespaces and XML Schema
36(39)
2.3.1 An XML Overview
36(12)
2.3.2 XML Namespaces
48(5)
2.3.3 XML Schema
53(21)
2.3.4 Summary and Next Steps
74(1)
2.4 Understanding SOAP
75(29)
2.4.1 The SOAP Message Format
77(10)
2.4.2 The SOAP Section 5 Encoding
87(11)
2.4.3 SOAP Communication Styles
98(4)
2.4.4 Summary and Next Steps
102(2)
2.5 Understanding WSDL
104(27)
2.5.1 The WSDL Building Blocks
104(5)
2 5 2 The Containment Structure of a WSDL Document
109(12)
2.5.3 The Logical Relationships between WSDL Elements
121(1)
2.5.4 The SOAP Binding
121(8)
2.5.5 Summary and Next Steps
129(2)
2.6 Understanding UDDI
131(21)
2.6.1 The UDDI Registry Structure
132(8)
2.6.2 Linking WSDL Documents to a UDDI Registry
140(5)
2.6.3 A Brief UDDI API Overview
145(4)
2.6.4 Private versus Public UDDI Registries
149(1)
2.6.5 Summary
150(2)
2.7 Summary
152(3)
2.7.1 Key Messages
152(1)
2.7.2 Where to Find More Information
153(1)
2.7.3 What's Next
154(1)
3 The Architecture Perspective 155(86)
3.1 The Architect's View
155(1)
3.2 Introduction to Web Services Architectures
156(17)
3.2.1 Motivation
156(4)
3.2.2 Introduction to the W3C Web Services Architecture
160(7)
3.2.3 Service-Oriented Architecture and Java
167(6)
3.3 Web Services Principles and Patterns
173(15)
3.3.1 General Architectural Principles and Design Patterns
173(4)
3.3.2 Business Patterns
177(3)
3.3.3 Architectural Patterns
180(8)
3.4 Architectural Decisions
188(19)
3.4.1 Service Modeling: WSDL and XML Schema
189(2)
3.4.2 Service Messaging: SOAP
191(5)
3.4.3 Service Matchmaking: UDDI and WSIL
196(3)
3.4.4 General Decisions
199(5)
3.4.5 Software Architecture for the Case Study
204(3)
3.5 Non-Functional Requirements (NFRs)
207(5)
3.5.1 Performance
207(2)
3.5.2 Scalability
209(1)
3.5.3 Availability
210(1)
3.5.4 Robustness
210(1)
3.5.5 Portability
211(1)
3.6 Gaps and Countermeasures
212(19)
3.6.1 The XML Language Binding and Encoding Maze
212(10)
3.6.2 Security
222(5)
3.6.3 Web Service Management
227(2)
3.6.4 Transactional and Context Semantics
229(1)
3.6.5 Process Orchestration and Workflow
229(2)
3.7 Frequently Asked Questions
231(7)
3.8 Summary
238(3)
3.8.1 Key Messages
238(2)
3.8.2 Where to Find More Information
240(1)
3.8.3 What's Next
240(1)
4 The Development Perspective 241(192)
4.1 A Developer's View
241(4)
4.2 Introduction to Developing Web Services in Java
245(14)
4.2.1 IBM Development Tools Supporting Web Services
245(4)
4.2.2 Getting Started with Eclipse and WebSphere Studio
249(1)
4.2.3 Selecting a Web Services Implementation
250(7)
4.2.4 Conclusions
257(2)
4.3 Preparing the Sample Application
259(10)
4.3.1 Background to the Sample
259(2)
4.3.2 Current Implementations
261(1)
4.3.3 Constructing the New Applications
262(4)
4.3.4 Configuring the Sample Application
266(2)
4.3.5 Summary
268(1)
4.4 Building rpc/encoded Services from Java
269(25)
4.4.1 Introduction
269(2)
4.4.2 Building EJB Web Services with Apache SOAP
271(11)
4.4.3 Building EJB Web Services with JAX-RPC and JSR 109
282(11)
4.4.4 Conclusions
293(1)
4.5 Building Web Service Clients
294(20)
4.5.1 Introduction
294(1)
4.5.2 Web Service Clients using Apache SOAP
295(6)
4.5.3 Web Service Clients using JAX-RPC and JSR 109
301(12)
4.5.4 Conclusions
313(1)
4.6 Building rpc/encoded Services from WSDL
314(15)
4.6.1 Introduction
314(1)
4.6.2 Creating Web Services from WSDL using Apache SOAP
315(6)
4.6.3 Creating Web Services from WSDL using JAX-RPC/JSR 109
321(7)
4.6.4 Conclusions
328(1)
4.7 Programmatic Access to WSDL
329(7)
4.7.1 Introduction to Working with WSDL in Java
329(2)
4.7.2 Creating JWSDL Clients with Apache SOAP,
331(3)
4.7.3 Creating JWSDL Clients with JAX-RPC and JSR 109
334(1)
4.7.4 Conclusions
335(1)
4.8 Using WS-Inspection to Build Service Indices
336(10)
4.8.1 Introduction to Using WS-Inspection from Java
336(1)
4.8.2 Using WS-Inspection with Apache SOAP
337(7)
4.8.3 Using WS-Inspection with JAX-RPC and JSR 109
344(1)
4.8.4 Conclusions
345(1)
4.9 Using UDDI
346(12)
4.9.1 Introduction to UDDI Access from Java and Browsers
346(2)
4.9.2 Using UDDI with Apache SOAP
348(6)
4.9.3 Using UDDI with JAX-RPC and JSR 109
354(3)
4.9.4 Conclusions
357(1)
4.10 Using Other Web Services Bindings
358(10)
4.10.1 Introduction to the Web Services Invocation Framework
358(2)
4.10.2 Working with WSIF and Apache SOAP
360(4)
4.10.3 Using WSIF with JAX-RPC and JSR 109
364(3)
4.10.4 Conclusions
367(1)
4.11 Creating a document/literal Service from WSDL
368(15)
4.11.1 Introduction
368(1)
4.11.2 Defining the document/literal Service Interface
369(3)
4.11.3 Document/literal Services with Apache SOAP
372(5)
4.11.4 Document/literal Services with JAX-RPC and JSR 109
377(4)
4.11.5 Conclusions
381(2)
4.12 Creating a document/literal Service Client
383(9)
4.12.1 Introduction
383(1)
4.12.2 Document/literal Clients with Apache SOAP
384(4)
4.12.3 Document/literal Clients with JAX-RPC and JSR 109
388(3)
4.12.4 Conclusions
391(1)
4.13 Orchestrating Web Services
392(18)
4.13.1 Introduction
392(1)
4.13.2 Creating Services and the Public Service Interface
393(4)
4.13.3 Completing the Process Implementation
397(5)
4.13.4 Other Features in the Process Editor
402(2)
4.13.5 Deploying the Orchestrated Service
404(4)
4.13.6 Testing the Orchestrated Service
408(1)
4.13.7 Conclusions
409(1)
4.14 Using Attachments with SOAP
410(7)
4.14.1 Introduction
410(1)
4.14.2 Creating SOAP Attachments with Apache SOAP
411(3)
4.14.3 Creating SOAP Attachments with JAX-RPC and JSR 109
414(2)
4.14.4 Conclusions
416(1)
4.15 Using SOAP Headers
417(10)
4.15.1 Introduction
417(1)
4.15.2 Implementing Headers with Apache SOAP
417(3)
4.15.3 Implementing Headers with JAX-RPC and JSR 109
420(6)
4.15.4 Conclusions
426(1)
4.16 Exporting the Completed Sample
427(2)
4.17 Summary
429(4)
4.17.1 Key Messages
429(1)
4.17.2 Where to Find More Information
430(1)
4.17.3 What's Next
431(2)
5 The Operational Perspective 433(78)
5.1 The System Administrator's View
433(2)
5.2 System Architectures for Web Services Solutions
435(17)
5.2.1 Introduction
435(2)
5.2.2 Basic Topology
437(1)
5.2.3 Standalone Topology
437(4)
5.2.4 Placement of Additional Components
441(2)
5.2.5 Clustered and Managed Topology
443(6)
5.2.6 System Architecture for Premier Quotes
449(1)
5.2.7 Summary
450(2)
5.3 Deploying Web Services
452(22)
5.3.1 Introduction to WebSphere Application Server
452(2)
5.3.2 Deployment Overview
454(1)
5.3.3 Configuring the Application Server
455(5)
5.3.4 Deploying Services
460(4)
5.3.5 Working with the Private UDDI Registry
464(2)
5.3.6 Testing the Service
466(1)
5.3.7 Clustering
467(4)
5.3.8 Working with the IBM HTTP Server
471(3)
5.4 Securing a Web Services Implementation
474(27)
5.4.1 Security Threats and Countermeasures
474(2)
5.4.2 WS-Security
476(8)
5.4.3 Securing Web Services with HTTPS and SSL
484(17)
5.5 The Web Services Gateway
501(8)
5.5.1 Introduction
501(1)
5.5.2 Configuring the Gateway
502(2)
5.5.3 Deploying a Web Service to the Gateway
504(1)
5.5.4 Updating the Client and Testing
505(4)
5.6 Summary
509(2)
5.6.1 Key Messages
509(1)
5.6.2 Where to Find More Information
509(1)
5.6.3 What's Next
509(2)
6 The Engagement Perspective 511(28)
6.1 The Project Manager's View
511(1)
6.2 Planning a Web Services Development Project
512(12)
6.2.1 Step 1: Identify Business Need
512(2)
6.2.2 Step 2: Outline Requirements and High Level Design
514(1)
6.2.3 Step 3: Plan and Staff the Project
515(3)
6.2.4 Step 4: Run the Project
518(1)
6.2.5 Success Factors and Elements of Risk
519(3)
6.2.6 A Final Look at the Case Study
522(1)
6.2.7 Wrap Up
523(1)
6.3 Lessons Learned and Design Advice
524(11)
6.3.1 Lessons Learned
524(3)
6.3.2 Best Practices
527(8)
6.4 Summary
535(4)
6.4.1 Key Messages
535(3)
6.4.2 Where to Find More Information
538(1)
6.4.3 What's Next
538(1)
7 The Future Perspective 539(28)
7.1 An Optimistic and a Pessimistic View
539(1)
7.2 Emerging Specifications
540(8)
7.2.1 SOAP Version 1.2
540(2)
7.2.2 WSDL Version 1.2
542(1)
7.2.3 UDDL Version 3.0
543(2)
7.2.4 J2EE and Web Services
545(1)
7.2.5 Business Process Execution Language for Web Services
546(1)
7.2.6 Other Specification Work
547(1)
7.3 Web Services and Grid Computing
548(6)
7.3.1 Motivation for Grid Computing
548(1)
7.3.2 What is a Grid?
549(1)
7.3.3 Grid Services
550(1)
7.3.4 A Services Execution Platform
551(1)
7.3.5 A Few Grid Services Examples
552(1)
7.3.6 Summary and Outlook
553(1)
7.4 A Quick Look at the Semantic Web
554(7)
7.4.1 The Semantic Web "Stack"
554(1)
7.4.2 Resource Description Framework (RDF)
555(2)
7.4.3 Web Ontology Language (OWL)
557(2)
7.4.4 The Semantic Web and Web Services
559(1)
7.4.5 Where to Find More Information
560(1)
7.5 Concluding Thoughts
561(6)
7.5.1 A Final Look at Specifications and Implementations
561(1)
7.5.2 Coming Up
562(3)
7.5.3 Web Services - Holy Grail or Déjà Vu?
565(1)
7.5.4 Where to Find More Information
566(1)
7.5.5 What's Next
566(1)
A Creating the Sample Applications 567(44)
A.1 Building the Premier Quotes Policy System
567(15)
A.1.1 Configuring a Cloudscape Environment
567(1)
A.1.2 Creating a New Database
568(2)
A.1.3 Creating the Project Structures in WebSphere Studio
570(1)
A.1.4 EJB-RDBMS Mapping Approaches
570(1)
A.1.5 Creating the Database Schema
571(4)
A.1.6 Generating Entity EJBs from the Database Schema
575(3)
A.1.7 Creating a WebSphere Server to Deploy the Application
578(1)
A.1.8 Binding the EJBs to the New Data Source
579(1)
A.1.9 Populating the Database with Sample Data
580(1)
A.1.10 Data for Premier Quotes Cloudscape Database
580(2)
A.2 Updating the Premier Quotes Policy System
582(11)
A.2.1 Completing the Entity EJB Implementations
582(1)
A.2.2 Creating the Session EJB
583(1)
A.2.3 Creating Value Objects to Return from the Session Bean
583(2)
A.2.4 Inserting the Business Logic
585(3)
A.2.5 Creating a Local EJB Reference to the Address Entity
588(1)
A.2.6 Deploying the Application
589(1)
A.2.7 Testing the New Premier Quotes Policy System
589(4)
A.3 Building the Dirt Cheap Policy System
593(4)
A.3.1 Creating the New Database
593(1)
A.3.2 Creating the Project Structure in WebSphere Studio
593(1)
A.3.3 Copying a Database Schema
593(1)
A.3.4 Defining a New JDBC Data Source
594(1)
A.3.5 Deploying the New Enterprise Application
595(1)
A.3.6 Populating the Database with Sample Data
595(1)
A.3.7 Data for Dirt Cheap Insurance Cloudscape Database
595(2)
A.4 Updating the Dirt Cheap Policy System
597(6)
A.4.1 Building JDBC Wrappers
597(3)
A 4 2 Defining a JDBC Resource Reference
600(1)
A.4.3 Testing the New Dirt Cheap Insurance Policy System
601(2)
A.5 Configuring the WebSphere SDK for Web Services
603(8)
A.5.1 Setting up the Command Line Environment
603(1)
A.5.2 Updating the Server Classpath
604(1)
A.5.3 Changing the Default Classloading Behavior
604(1)
A.5.4 Resolving Problems with the Default UDDI Data Source
604(1)
A.5.5 Changing Java 2 Security Privileges for Libraries
605(1)
A.5.6 Configuring the Application Server
605(4)
A.5.7 Installing the Universal Test Client
609(1)
A.5.8 Script to Remove JDBC Providers
610(1)
B Java to XML Mapping Reference 611(4)
B.1 Apache SOAP 2.3 Mappings
611(2)
B.2 JAX-RPC Mappings
613(2)
C Appendix C# 615(12)
C.1 Overview to Building NET Web Service Clients
615(3)
C.2 Developing rpc/encoded Clients in C#
618(5)
C.3 Developing document/literal Clients in C#
623(4)
Sources of Information 627(2)
References 629(10)
Trademarks 639(2)
Copyright Notices 641(2)
Index 643

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program