Perspectives on web services - applying soap, wsdl and uddi to real-world p.
[Book]
Stefan Peuser
Springer-verlag Berlin And Hei
2013
648 sidor ; 18.1 cm
1 The Business Perspective.- 1.1 The Sponsor's View... and a Few Other Opinions l.- 1.2 Web Services - Holy Grail or Deja Vu?.- l.2.1 Business Drivers and Benefits.- l.2.2 Requirements for Application-to-Application Communication.- l.2.3 Additional Advantages.- l.2.4 Litmus Test (a.k.a. Applicability Filter).- 1.3 Usage Scenarios.- 1.3.1 Enterprise Application Integration (EAI).- 1.3.2 Business-to-Business (B2B).- 1.3.3 Common Services.- 1.3.4 Miscellaneous Scenarios.- 1.4 Potential Inhibitors.- 1.4.1 Over-Enthusiastic Expectations.- 1.4.2 Goal Conflicts.- 1.4.3 Skepticism about New Technology.- 1.4.4 Security and Performance Concerns.- 1.4.5 Logistical and Organizational Issues.- 1.4.6 Skill Deficiencies.- 1.4.7 Roll-Your-Own (RYO) Temptation.- 1.4.8 So Do the Inhibitors Really Inhibit Us?.- 1.5 Introduction to the Case Study.- 1.5.1 Background Information.- 1.5.2 The Business Problem.- 1.5.3 Solution Outline.- 1.6 Summary.- 1.6.1 Key Messages.- 1.6.2 Where to Find More Information.- 1.6.3 What's Next.- 2 The Training Perspective.- 2.1 The Trainer's View... And What the Trainees Think.- 2.2 Web Services Concepts in a Nutshell.- 2.2.1 Roles and Relationships.- 2.2.2 A First Look at the Case Study Solution.- 2.2.3 Where to Go from Here.- 2.3 XML, XML Namespaces and XML Schema.- 2.3.1 An XML Overview.- 2.3.2 XML Namespaces.- 2.3.3 XML Schema.- 2.3.4 Summary and Next Steps.- 2.4 Understanding SOAP.- 2.4.1 The SOAP Message Format.- 2.4.2 The SOAP Section 5 Encoding.- 2.4.3 SOAP Communication Styles.- 2.4.4 Summary and Next Steps.- 2.5 Understanding WSDL.- 2.5.1 The WSDL Building Blocks.- 2.5.2 The Containment Structure of a WSDL Document.- 2.5.3 The Logical Relationships between WSDL Elements.- 2.5.4 The SOAP Binding.- 2.5.5 Summary and Next Steps.- 2.6 Understanding UDDI.- 2.6.1 The UDDI Registry Structure.- 2.6.2 Linking WSDL Documents to a UDDI Registry.- 2.6.3 A Brief UDDI API Overview.- 2.6.4 Private versus Public UDDI Registries.- 2.6.5 Summary.- 2.7 Summary.- 2.7.1 Key Messages.- 2.7.2 Where to Find More Information.- 2.7.3 What's Next.- 3 The Architecture Perspective.- 3.1 The Architect's View.- 3.2 Introduction to Web Services Architectures.- 3.2.1 Motivation.- 3.2.2 Introduction to the W3C Web Services Architecture.- 3.2.3 Service-Oriented Architecture and Java.- 3.3 Web Services Principles and Patterns.- 3.3.1 General Architectural Principles and Design Patterns.- 3.3.2 Business Patterns.- 3.3.3 Architectural Patterns.- 3.4 Architectural Decisions.- 3.4.1 Service Modeling: WSDL and XML Schema.- 3.4.2 Service Messaging: SOAP.- 3.4.3 Service Matchmaking: UDDI and WSIL.- 3.4.4 General Decisions.- 3.4.5 Software Architecture for the Case Study.- 3.5 Non-Functional Requirements (NFRs).- 3.5.1 Performance.- 3.5.2 Scalability.- 3.5.3 Availability.- 3.5.4 Robustness.- 3.5.5 Portability.- 3.6 Gaps and Countermeasures.- 3.6.1 The XML Language Binding and Encoding Maze.- 3.6.2 Security.- 3.6.3 Web Service Management.- 3.6.4 Transactional and Context Semantics.- 3.6.5 Process Orchestration and Workflow.- 3.7 Frequently Asked Questions.- 3.8 Summary.- 3.8.1 Key Messages.- 3.8.2 Where to Find More Information.- 3.8.3 What's Next.- 4 The Development Perspective.- 4.1 A Developer's View.- 4.2 Introduction to Developing Web Services in Java.- 4.2.1 IBM Development Tools Supporting Web Services.- 4.2.2 Getting Started with Eclipse and WebSphere Studio.- 4.2.3 Selecting a Web Services Implementation.- 4.2.4 Conclusions.- 4.3 Preparing the Sample Application.- 4.3.1 Background to the Sample.- 4.3.2 Current Implementations.- 4.3.3 Constructing the New Applications.- 4.3.4 Configuring the Sample Application.- 4.3.5 Summary.- 4.4 Building rpc/encoded Services from Java.- 4.4.1 Introduction.- 4.4.2 Building EJB Web Services with Apache SOAP.- 4.4.3 Building EJB Web Services with JAX-RPC and JSR 109.- 4.4.4 Conclusions.- 4.5 Building Web Service Clients.- 4.5.1 Introduction.- 4.5.2 Web Service Clients using Apache SOAP.- 4.5.3 Web Service Clients using JAX-RPC and JSR 109.- 4.5.4 Conclusions.- 4.6 Building rpc/encoded Services from WSDL.- 4.6.1 Introduction.- 4.6.2 Creating Web Services from WSDL using Apache SOAP.- 4.6.3 Creating Web Services from WSDL using JAX-RPC/JSR 109.- 4.6.4 Conclusions.- 4.7 Programmatic Access to WSDL.- 4.7.1 Introduction to Working with WSDL in Java.- 4.7.2 Creating JWSDL Clients with Apache SOAP.- 4.7.3 Creating JWSDL Clients with JAX-RPC and JSR 109.- 4.7.4 Conclusions.- 4.8 Using WS-Inspection to Build Service Indices.- 4.8.1 Introduction to Using WS-Inspection from Java.- 4.8.2 Using WS-Inspection with Apache SOAP.- 4.8.3 Using WS-Inspection with JAX-RPC and JSR 109.- 4.8.4 Conclusions.- 4.9 Using UDDI.- 4.9.1 Introduction to UDDI Access from Java and Browsers.- 4.9.2 Using UDDI with Apache SOAP.- 4.9.3 Using UDDI with JAX-RPC and JSR 109.- 4.9.4 Conclusions.- 4.10 Using Other Web Services Bindings.- 4.10.1 Introduction to the Web Services Invocation Framework.- 4.10.2 Working with WSIF and Apache SOAP.- 4.10.3 Using WSIF with JAX-RPC and JSR 109.- 4.10.4 Conclusions.- 4.11 Creating a document/literal Service from WSDL.- 4.11.
l Introduction.- 4.11.2 Defming the document/literal Service Interface.- 4.11.3 Document/literal Services with Apache SOAP.- 4.1 1.4 Document/literal Services with JAX-RPC and JSR 109.- 4.11.5 Conclusions.- 4.12 Creating a document/literal Service Client.- 4.12.1 Introduction.- 4.12.2 Document/literal Clients with Apache SOAP.- 4.12.3 Document/literal Clients with JAX-RPC and JSR 109.- 4.12.4 Conclusions.- 4.13 Orchestrating Web Services.- 4.13.1 Introduction.- 4.13.2 Creating Services and the Public Service Interface.- 4.13.3 Completing the Process Implementation.- 4.13.4 Other Features in the Process Editor.- 4.13.5 Deploying the Orchestrated Service.- 4.13.6 Testing the Orchestrated Service.- 4.13.7 Conclusions.- 4.14 Using Attachments with SOAP.- 4.14.1 Introduction.- 4.14.2 Creating SOAP Attachments with Apache SOAP.- 4.14.3 Creating SOAP Attachments with JAX-RPC and JSR 109.- 4.14.4 Conclusions.- 4.15 Using SOAP Headers.- 4.15.1 Introduction.- 4.15.2 Implementing Headers with Apache SOAP.- 4.15.3 Implementing Headers with JAX-RPC and JSR 109.- 4.15.4 Conclusions.- 4.16 Exporting the Completed Sample.- 4.17 Summary.- 4.17.1 Key Messages.- 4.17.2 Where to Find More Information.- 4.17.3 What's Next.- 5 The Operational Perspective.- 5.1 The System Administrator's View.- 5.2 System Architectures for Web Services Solutions.- 5.2.1 Introduction.- 5.2.2 Basic Topology.- 5.2.3 Standalone Topology.- 5.2.4 Placement of Additional Components.- 5.2.5 Clustered and Managed Topology.- 5.2.6 System Architecture for PremierQuotes.- 5.2.7 Summary.- 5.3 Deploying Web Services.- 5.3.1 Introduction to WebSphere Application Server.- 5.3.2 Deployment Overview.- 5.3.3 Configuring the Application Server.- 5.3.4 Deploying Services.- 5.3.5 Working with the Private UDDI Registry.- 5.3.6 Testing the Service.- 5.3.7 Clustering.- 5.3.8 Working with the IBM HTTP Server.- 5.4 Securing a Web Services Implementation.- 5.4.1 Security Threats and Countermeasures.- 5.4.2 WS-Security.- 5.4.3 Securing Web Services with HTTPS and SSL.- 5.5 The Web Services Gateway.- 5.5.1 Introduction.- 5.5.2 Configuring the Gateway.- 5.5.3 Deploying a Web Service to the Gateway.- 5.5.4 Updating the Client and Testing.- 5.6 Summary.- 5.6.1 Key Messages.- 5.6.2 Where to Find More Information.- 5.6.3 What's Next.- 6 The Engagement Perspective.- 6.1 The Project Manager's View.- 6.2 Planning a Web Services Development Project.- 6.2.1 Step 1: Identify Business Need.- 6.2.2 Step 2: Outline Requirements and High Level Design.- 6.2.3 Step 3: Plan and Staff the Project.- 6.2.4 Step 4: Run the Project.- 6.2.5 Success Factors and Elements of Risk.- 6.2.6 A Final Look at the Case Study.- 6.2.7 Wrap Up.- 6.3 Lessons Learned and Design Advice.- 6.3.1 Lessons Learned.- 6.3.2 Best Practices.- 6.4 Summary.- 6.4.1 Key Messages.- 6.4.2 Where to Find More Information.- 6.4.3 What's Next.- 7 The Future Perspective.- 7.1 An Optimistic and a Pessimistic View.- 7.2 Emerging Specifications.- 7.2.1 SOAP Version 1.2.- 7.2.2 WSDL Version 1.2.- 7.2.3 UDDI Version 3.0.- 7.2.4 J2EE and Web Services.- 7.2.5 Business Process Execution Language for Web Services.- 7.2.6 Other Specification Work.- 7.3 Web Services and Grid Computing.- 7.3.1 Motivation for Grid Computing.- 7.3.2 What is a Grid?.- 7.3.3 Grid Services.- 7.3.4 A Services Execution Platform.- 7.3.5 A Few Grid Services Examples.- 7.3.6 Summary and Outlook.- 7.4 A Quick Look at the Semantic Web.- 7.4.1 The Semantic Web "Stack".- 7.4.2 Resource Description Framework (RDF).- 7.4.3 Web Ontology Language (OWL).- 7.4.4 The Semantic Web and Web Services.- 7.4.5 Where to Find More Information.- 7.5 Concluding Thoughts.- 7.5.1 A Final Look at Specifications and Implementations.- 7.5.2 Coming Up.- 7.5.3 Web Services - Holy Grail or Deja Vu?.- 7.5.4 Where to Find More Information.- 7.5.5 What's Next.- A Creating the Sample Applications.- A.1 Building the PremierQuotes Policy System.- A.1.1 Configuring a Cloudscape Environment.- A.1.2 Creating a New Database.- A.1.3 Creating the Project Structures in WebSphere Studio.- A.1.4 EJB-RDBMS Mapping Approaches.- A.1.5 Creating the Database Schema.- A.1.6 Generating Entity EJBs from the Database Schema.- A.1.7 Creating a WebSphere Server to Deploy the Application.- A.1.8 Binding the EJBs to the New Data Source.- A.1.9 Populating the Database with Sample Data.- A.1.10 Data for PremierQuotes Cloudscape Database.- A.2 Updating the PremierQuotes Policy System.- A.2.1 Completing the Entity EJB Implementations.- A.2.2 Creating the Session EJB.- A.2.3 Creating Value Objects to Return from the Session Bean.- A.2.4 Inserting the Business Logic.- A.2.5 Creating a Local EJB Reference to the Address Entity.- A.2.6 Deploying the Application.- A.2.7 Testing the New PremierQuotes Policy System.- A.3 Building the DirtCheap Policy System.- A.3.1 Creating the New Database.- A.3.2 Creating the Project Structure in WebSphere Studio.- A.3.3 Copying a Database Schema.- A.3.4 Defming a New JDBC Data Source.- A.3.5 Deploying the New Enterprise Application.- A.3.6 Populating the Database with Sample Data.- A.3.7 Data for DirtCheap Insurance Cloudscape Database.- A.4 Updating the DirtCheap Policy System.- A.4.1 Building JDBC Wrappers.- A.4.2 Defming a JDBC Resource Reference.- A.4.3 Testing the New DirtCheap Insurance Policy System.- A.5 Configuring the WebSphere SDK for Web Services.- A.5.1 Setting up the Command Line Environment.- A.5.2 Updating the Server Classpath.- A.5.3 Changing the Default Classloading Behavior.- A.5.4 Resolving Problems with the Default UDDI Data Source.- A.5.5 Changing Java 2 Security Privileges for Libraries.- A.5.6 Configuring the Application Server.- A.5.7 Installing the Universal Test Client.- A.5.8 Script to Remove JDBC Providers.- B Java to XML Mapping Reference.- B.1 Apache SOAP 2.3 Mappings.- B.2 JAX-RPC Mappings.- C Appendix C#.- C.1 Overview to Building.NET Web Service Clients.- C.2 Developing rpc/encoded Clients in C#.- C.3 Developing document/literal Clients in C#.- Sources of Information.- References.- Trademarks.- Copyright Notices.