Designing Web Services with the J2EE 1.4 Platform (The Java Series): JAX-RPC, SOAP, and XML Technologies
  • Alternative view 1 of Designing Web Services with the J2EE 1.4 Platform (The Java Series): JAX-RPC, SOAP, and XML Technologies
  • Alternative view 2 of Designing Web Services with the J2EE 1.4 Platform (The Java Series): JAX-RPC, SOAP, and XML Technologies

Designing Web Services with the J2EE 1.4 Platform (The Java Series): JAX-RPC, SOAP, and XML Technologies

by Inderjeet Singh, Beth Stearns, Thierry Violleau, Vijay Ramachandran, Greg Murray
     
 

View All Available Formats & Editions

ISBN-10: 0321205219

ISBN-13: 9780321205216

Pub. Date: 05/01/2004

Publisher: Prentice Hall

Written by Sun Microsystems' Java™ BluePrints team, Designing Web Services with the J2EE™ 1.4 Platform is the authoritative guide to the best practices for designing and integrating enterprise-level Web services using the Java 2 Platform, Enterprise Edition (J2EE) 1.4. This book provides the guidelines, patterns, and real-world

Overview

Written by Sun Microsystems' Java™ BluePrints team, Designing Web Services with the J2EE™ 1.4 Platform is the authoritative guide to the best practices for designing and integrating enterprise-level Web services using the Java 2 Platform, Enterprise Edition (J2EE) 1.4. This book provides the guidelines, patterns, and real-world examples architects and developers need in order to shorten the learning curve and start building robust, scalable, and portable solutions.

The authors use the Java Adventure Builder application to bring the design process to life and help illustrate the use of Java APIs for

Key topic coverage includes:

  • Web service requirements and design issues
  • Support for Web services provided by the J2EE 1.4 platform
  • Designing and implementing Web service end points
  • Writing efficient Web service client applications
  • Designing and developing

    Integrating applications and data using Web services

  • The J2EE platform security model as it applies to Web services
  • A coherent programming model for designing and developing Web service endpoints and clients

    Designing Web Services with the J2EE™ 1.4 Platform provides the insight, advice, and detail that make it easier to create effective Web service applications using the J2EE 1.4 platform.

  • Product Details

    ISBN-13:
    9780321205216
    Publisher:
    Prentice Hall
    Publication date:
    05/01/2004
    Series:
    Java Series
    Edition description:
    Paperback & CD-ROM
    Pages:
    418
    Product dimensions:
    6.96(w) x 9.28(h) x 1.25(d)

    Table of Contents

    Forewordxiii
    About the Authorsxvii
    Prefacexix
    1Introduction1
    1.1What Are Web Services?3
    1.2Benefits of Web Services6
    1.3Challenges of Web Service Development8
    1.3.1Evolving Technologies and Products8
    1.3.2Security9
    1.3.3Reliability, Availability, and Scalability10
    1.4Typical Web Service Scenarios11
    1.4.1Interacting with Business Partners14
    1.4.2Integrating with Existing Enterprise Information Systems15
    1.4.3Reaching Diverse Clients15
    1.4.4Aggregation of Partner Data16
    1.5J2EE 1.4: The Platform for Web Services17
    1.5.1J2EE Platform Overview17
    1.5.2J2EE Platform Benefits19
    1.5.3J2EE Platform Technologies21
    1.6Conclusion24
    2Standards and Technologies27
    2.1Overview of Web Service Standards27
    2.1.1Extensible Markup Language29
    2.1.2Simple Object Access Protocol33
    2.1.3Registry Standards35
    2.1.4Web Services Description Language36
    2.1.5Emerging Standards40
    2.2J2EE: The Integrated Platform for Web Services40
    2.2.1Java APIs for XML Processing41
    2.2.2Java API for XML-Based RPC44
    2.2.3Java API for XML Registries47
    2.2.4SOAP with Attachments API for Java48
    2.2.5Web Service Technologies Integrated in J2EE Platform49
    2.2.6Support for WS-I Basic Profile51
    2.3Other Java-XML Technologies52
    2.4Conclusion54
    3Service Endpoint Design57
    3.1Example Scenarios58
    3.2Flow of a Web Service Call59
    3.3Key Web Services Design Decisions61
    3.4Designing a Service's Interaction Layer66
    3.4.1Designing the Interface66
    3.4.2Receiving Requests89
    3.4.3Delegating Web Service Requests to Processing Layer92
    3.4.4Formulating Responses98
    3.5Processing Layer Design99
    3.6Publishing a Web Service101
    3.6.1Publishing a Service in a Registry101
    3.6.2Understanding Registry Concepts102
    3.6.3Registry Implementation Scenarios103
    3.7Handling XML Documents in a Web Service105
    3.7.1Exchanging XML Documents107
    3.7.2Separating Document Manipulation from Processing Logic111
    3.7.3Fragmenting XML Documents111
    3.7.4Using XML111
    3.7.5Using JAXM and SAAJ Technologies112
    3.8Deploying and Packaging a Service Endpoint113
    3.8.1Service Information in the Deployment Descriptors113
    3.8.2Package Structure117
    3.9Conclusion119
    4XML Processing121
    4.1XML Overview122
    4.1.1Document Type and W3C XML Schema Definitions125
    4.1.2XML Horizontal and Vertical Schemas126
    4.1.3Other Specifications Related to XML127
    4.2Outline for Handling XML Documents128
    4.3Designing XML-Based Applications131
    4.3.1Designing Domain-Specific XML Schemas131
    4.3.2Receiving and Sending XML Documents135
    4.3.3Validating XML Documents139
    4.3.4Mapping Schemas to the Application Data Model143
    4.3.5Choosing Processing Models151
    4.3.6Fragmenting Incoming XML Documents153
    4.3.7Abstracting XML Processing from Application Logic155
    4.3.8Design Recommendation Summary163
    4.4Implementing XML-Based Applications164
    4.4.1Choosing an XML Processing Programming Model164
    4.4.2Combining XML Processing Techniques176
    4.4.3Entity Resolution178
    4.5Performance Considerations182
    4.5.1Limit Parsing of Incoming XML Documents184
    4.5.2Use the Most Appropriate API184
    4.5.3Choose Effective Parser and Style Sheet Implementations186
    4.5.4Reduce Validation Cost188
    4.5.5Reduce the Cost of Referencing External Entities189
    4.5.6Cache Dynamically Generated Documents193
    4.5.7Use XML Judiciously194
    4.6Conclusion196
    5Client Design199
    5.1Choosing a Communication Technology200
    5.2Scenarios for Web Services-Based Client Applications201
    5.2.1Designing J2EE Clients205
    5.2.2Designing J2SE Clients207
    5.2.3J2ME Clients208
    5.3Developing Client Applications to Use a Web Service210
    5.3.1Communication Modes for Accessing a Service212
    5.3.2Locating and Accessing a Service219
    5.3.3Stubs and Call Configuration223
    5.3.4WSDL-to-Java Type Mapping225
    5.3.5Processing Return Values227
    5.3.6Handling Exceptions230
    5.4General Considerations235
    5.4.1Managing Conversational State235
    5.4.2Enhancing User Experience237
    5.4.3Server-Side Design Considerations for Clients239
    5.4.4Packaging240
    5.5Conclusion245
    6Enterprise Application Integration247
    6.1Integration Requirements and Scenarios248
    6.1.1Typical Integration Scenarios248
    6.1.2Example Integration Scenarios249
    6.2J2EE Integration Technologies252
    6.2.1Relational Database Integration Technologies253
    6.2.2Messaging Technologies255
    6.2.3EIS Access Technologies259
    6.2.4Web Service and XML Technologies262
    6.3Integration Design Approaches263
    6.3.1Web Services Approach266
    6.3.2Enterprise Beans and JMS Approach271
    6.3.3The Connector Approach271
    6.3.4Combining Approaches into an Integration Architecture272
    6.4Data Integration Guidelines274
    6.4.1Data Mapping in EAI Applications274
    6.4.2Data Transformation275
    6.4.3Data Filtering282
    6.5Guidelines for Integration283
    6.5.1Integrating Custom Legacy Systems283
    6.5.2Using Screen Scraping for Integration284
    6.5.3Metadata285
    6.5.4Using Registries for Integration286
    6.5.5Versioning and Evolution286
    6.5.6Writing Applications for Integration288
    6.6Conclusion288
    7Security291
    7.1Security Scenarios292
    7.1.1General Security Requirements293
    7.1.2Security Implications of the Operational Environment297
    7.2J2EE Platform Security Model297
    7.2.1Authentication299
    7.2.2Authorization304
    7.2.3Confidentiality and Integrity307
    7.3Security for Web Service Interactions308
    7.3.1Endpoint Programming Model308
    7.3.2Client Programming Model314
    7.3.3Propagating Component Identity316
    7.3.4Handling Authorization320
    7.3.5JAX-RPC Security Guidelines324
    7.4Message-Level Web Service Security326
    7.4.1Understanding Message-Level Security326
    7.4.2Comparing Security Mechanisms328
    7.4.3Emerging Message-Level Security Standards331
    7.5Conclusion337
    8Application Architecture and Design339
    8.1Overview of Adventure Builder339
    8.1.1Order Processing Center Sub-Modules and Interactions342
    8.2Order Processing Center Architecture and Design344
    8.2.1Web Service Interaction and Message Exchange345
    8.2.2Communication Architecture349
    8.3Endpoint Design Issues351
    8.3.1Web Service Interface Development Approach351
    8.3.2Endpoint Type Considerations352
    8.3.3Granularity of Service353
    8.3.4Passing Parameters as Documents or Java Objects353
    8.3.5Layering the Service355
    8.3.6Delegating to Business Logic357
    8.3.7Client Considerations357
    8.3.8Publishing Web Service Details358
    8.4Web Service Communication Patterns358
    8.4.1Correlating Messages359
    8.4.2Splitting and Joining Messages361
    8.4.3Refactoring Synchronous to Asynchronous Interactions363
    8.5Managing Complex Web Service Interactions366
    8.5.1Passing Context Information on Web Service Calls366
    8.5.2Handling Multiple Document Types371
    8.5.3Consolidating Web Service Interactions373
    8.5.4Canonical Data Model375
    8.6Building More Robust Web Services376
    8.6.1Use Idempotent Endpoints377
    8.6.2Use Client Retries with Idempotent Endpoints378
    8.6.3Handling Asynchronous Interaction Error Conditions379
    8.7Conclusion381
    Glossary383
    Index403

    Customer Reviews

    Average Review:

    Write a Review

    and post it to your social network

         

    Most Helpful Customer Reviews

    See all customer reviews >