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

by ; ; ; ; ;
Edition: 1st
Format: Paperback w/CD
Pub. Date: 2004-01-01
Publisher(s): Prentice Hall
List Price: $54.99

Rent Textbook

Select for Price
There was a problem. Please try again later.

New Textbook

We're Sorry
Sold Out

Used Textbook

We're Sorry
Sold Out

eTextbook

We're Sorry
Not Available

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

An in-depth guide to J2EE 1.4 Web services that covers design, development, and integration best practices -- from the experts at Sun.

Table of Contents

Forewordp. xiii
About the Authorsp. xvii
Prefacep. xix
Introductionp. 1
What Are Web Services?p. 3
Benefits of Web Servicesp. 6
Challenges of Web Service Developmentp. 8
Evolving Technologies and Productsp. 8
Securityp. 9
Reliability, Availability, and Scalabilityp. 10
Typical Web Service Scenariosp. 11
Interacting with Business Partnersp. 14
Integrating with Existing Enterprise Information Systemsp. 15
Reaching Diverse Clientsp. 15
Aggregation of Partner Datap. 16
J2EE 1.4: The Platform for Web Servicesp. 17
J2EE Platform Overviewp. 17
J2EE Platform Benefitsp. 19
J2EE Platform Technologiesp. 21
Conclusionp. 24
Standards and Technologiesp. 27
Overview of Web Service Standardsp. 27
Extensible Markup Languagep. 29
Simple Object Access Protocolp. 33
Registry Standardsp. 35
Web Services Description Languagep. 36
Emerging Standardsp. 40
J2EE: The Integrated Platform for Web Servicesp. 40
Java APIs for XML Processingp. 41
Java API for XML-Based RPCp. 44
Java API for XML Registriesp. 47
SOAP with Attachments API for Javap. 48
Web Service Technologies Integrated in J2EE Platformp. 49
Support for WS-I Basic Profilep. 51
Other Java-XML Technologiesp. 52
Conclusionp. 54
Service Endpoint Designp. 57
Example Scenariosp. 58
Flow of a Web Service Callp. 59
Key Web Services Design Decisionsp. 61
Designing a Service's Interaction Layerp. 66
Designing the Interfacep. 66
Receiving Requestsp. 89
Delegating Web Service Requests to Processing Layerp. 92
Formulating Responsesp. 98
Processing Layer Designp. 99
Publishing a Web Servicep. 101
Publishing a Service in a Registryp. 101
Understanding Registry Conceptsp. 102
Registry Implementation Scenariosp. 103
Handling XML Documents in a Web Servicep. 105
Exchanging XML Documentsp. 107
Separating Document Manipulation from Processing Logicp. 111
Fragmenting XML Documentsp. 111
Using XMLp. 111
Using JAXM and SAAJ Technologiesp. 112
Deploying and Packaging a Service Endpointp. 113
Service Information in the Deployment Descriptorsp. 113
Package Structurep. 117
Conclusionp. 119
XML Processingp. 121
XML Overviewp. 122
Document Type and W3C XML Schema Definitionsp. 125
XML Horizontal and Vertical Schemasp. 126
Other Specifications Related to XMLp. 127
Outline for Handling XML Documentsp. 128
Designing XML-Based Applicationsp. 131
Designing Domain-Specific XML Schemasp. 131
Receiving and Sending XML Documentsp. 135
Validating XML Documentsp. 139
Mapping Schemas to the Application Data Modelp. 143
Choosing Processing Modelsp. 151
Fragmenting Incoming XML Documentsp. 153
Abstracting XML Processing from Application Logicp. 155
Design Recommendation Summaryp. 163
Implementing XML-Based Applicationsp. 164
Choosing an XML Processing Programming Modelp. 164
Combining XML Processing Techniquesp. 176
Entity Resolutionp. 178
Performance Considerationsp. 182
Limit Parsing of Incoming XML Documentsp. 184
Use the Most Appropriate APIp. 184
Choose Effective Parser and Style Sheet Implementationsp. 186
Reduce Validation Costp. 188
Reduce the Cost of Referencing External Entitiesp. 189
Cache Dynamically Generated Documentsp. 193
Use XML Judiciouslyp. 194
Conclusionp. 196
Client Designp. 199
Choosing a Communication Technologyp. 200
Scenarios for Web Services-Based Client Applicationsp. 201
Designing J2EE Clientsp. 205
Designing J2SE Clientsp. 207
J2ME Clientsp. 208
Developing Client Applications to Use a Web Servicep. 210
Communication Modes for Accessing a Servicep. 212
Locating and Accessing a Servicep. 219
Stubs and Call Configurationp. 223
WSDL-to-Java Type Mappingp. 225
Processing Return Valuesp. 227
Handling Exceptionsp. 230
General Considerationsp. 235
Managing Conversational Statep. 235
Enhancing User Experiencep. 237
Server-Side Design Considerations for Clientsp. 239
Packagingp. 240
Conclusionp. 245
Enterprise Application Integrationp. 247
Integration Requirements and Scenariosp. 248
Typical Integration Scenariosp. 248
Example Integration Scenariosp. 249
J2EE Integration Technologiesp. 252
Relational Database Integration Technologiesp. 253
Messaging Technologiesp. 255
EIS Access Technologiesp. 259
Web Service and XML Technologiesp. 262
Integration Design Approachesp. 263
Web Services Approachp. 266
Enterprise Beans and JMS Approachp. 271
The Connector Approachp. 271
Combining Approaches into an Integration Architecturep. 272
Data Integration Guidelinesp. 274
Data Mapping in EAI Applicationsp. 274
Data Transformationp. 275
Data Filteringp. 282
Guidelines for Integrationp. 283
Integrating Custom Legacy Systemsp. 283
Using Screen Scraping for Integrationp. 284
Metadatap. 285
Using Registries for Integrationp. 286
Versioning and Evolutionp. 286
Writing Applications for Integrationp. 288
Conclusionp. 288
Securityp. 291
Security Scenariosp. 292
General Security Requirementsp. 293
Security Implications of the Operational Environmentp. 297
J2EE Platform Security Modelp. 297
Authenticationp. 299
Authorizationp. 304
Confidentiality and Integrityp. 307
Security for Web Service Interactionsp. 308
Endpoint Programming Modelp. 308
Client Programming Modelp. 314
Propagating Component Identityp. 316
Handling Authorizationp. 320
JAX-RPC Security Guidelinesp. 324
Message-Level Web Service Securityp. 326
Understanding Message-Level Securityp. 326
Comparing Security Mechanismsp. 328
Emerging Message-Level Security Standardsp. 331
Conclusionp. 337
Application Architecture and Designp. 339
Overview of Adventure Builderp. 339
Order Processing Center Sub-Modules and Interactionsp. 342
Order Processing Center Architecture and Designp. 344
Web Service Interaction and Message Exchangep. 345
Communication Architecturep. 349
Endpoint Design Issuesp. 351
Web Service Interface Development Approachp. 351
Endpoint Type Considerationsp. 352
Granularity of Servicep. 353
Passing Parameters as Documents or Java Objectsp. 353
Layering the Servicep. 355
Delegating to Business Logicp. 357
Client Considerationsp. 357
Publishing Web Service Detailsp. 358
Web Service Communication Patternsp. 358
Correlating Messagesp. 359
Splitting and Joining Messagesp. 361
Refactoring Synchronous to Asynchronous Interactionsp. 363
Managing Complex Web Service Interactionsp. 366
Passing Context Information on Web Service Callsp. 366
Handling Multiple Document Typesp. 371
Consolidating Web Service Interactionsp. 373
Canonical Data Modelp. 375
Building More Robust Web Servicesp. 376
Use Idempotent Endpointsp. 377
Use Client Retries with Idempotent Endpointsp. 378
Handling Asynchronous Interaction Error Conditionsp. 379
Conclusionp. 381
Glossaryp. 383
Indexp. 403
Table of Contents provided by Ingram. All Rights Reserved.

Excerpts

This book describes designing Web services using the current technologies available with the Javatrade; 2 Platform, Enterprise Edition. This book and the accompanying Javatrade; Adventure Builder Reference application (hereafter referred to as adventure builder) are part of the successful Java BluePrints program created by Sun Microsystems with the introduction of the J2EE platform. Application architects, developers, and students everywhere have used this program to better understand the programming model inherent in the J2EE platform.Rather than providing information on how to use individual Java technologies to write applications, which falls within the realm of the companion Java Tutorial program, the Java BluePrints focuses on guidelines for application architecture and design, such as distributing J2EE application functionality across tiers and choosing among design options for Web services endpoints. This book describes the Web services and related technologies of the J2EE platform. Its focus is how to best apply these J2EE platform technologies to writing Web service applications. This book assumes that you have a basic knowledge of the J2EE platform, which you can get fromThe J2EEtrade; Tutorial, and is meant to be read in conjunction withDesigning Enterprise Applications with the J2EE Platform, Second Edition, since that book covers the J2EE platform technologies for writing traditional enterprise applications.This book is intended primarily for enterprise architects and application developers engaged in or considering writing Web services and Web service applications with the J2EE platform. It is also useful for product vendors interested in developing Web service applications consistent with the J2EE platform standard. Obtaining the Reference ApplicationThe adventure builder reference application, which is described in this book, is available on the compact disk included with this book. You can also download it from: http://java.sun.com/blueprints/code/The application requires a J2EE version 1.4-compliant platform on which to run. The accompanying compact disk includes an implementation of this platform and an application server. You can download the J2EE SDKtrade;, which is a freely available implementation of that platform, from: http://java.sun.com/j2ee/download.htmlThe Java BluePrints Web site includes additional content, available only online, that describes in detail the architecture of the Java adventure builder sample application. References and ResourcesPointers to J2EE documentation can be found at: http://java.sun.com/j2ee/1.4/docsFor information on how to use the J2EE SDK to construct multi-tier enterprise applications, refer to theJ2EE Tutorial, available at: http://java.sun.com/j2ee/1.4/docs/tutorial/docsWe relied on many of the following references for technical details and background. These references are good sources for those interested in exploring Web services in greater detail. Designing Enterprise Applications with the J2EE Platform, Second Edition. I. Singh, B. Stearns, M. Johnson, Enterprise Team. Copyright 2002, Addison-Wesley. The Java BluePrints Web site, . Core J2EE Patterns: Best Practices and Design Strategies, Second Edition. D. Alur, D. Malks, J. Crupi. Copyright 2003, Prentice Hall PTR. Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. G. Hohpe, B. Woolf. Copyright 2003, Addison-Wesley.The Web services standards cited in this book are: WS-I Basic Profile, Ver

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.