
Designing Web Services with the J2EE(TM) 1.4 Platform: JAX-RPC, SOAP, and XML Technologies
by Singh, Inderjeet; Brydon, Sean; Murray, Greg; Ramachandran, Vijay; Violleau, Thierry; Stearns, BethRent Textbook
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
Table of Contents
Foreword | p. xiii |
About the Authors | p. xvii |
Preface | p. xix |
Introduction | p. 1 |
What Are Web Services? | p. 3 |
Benefits of Web Services | p. 6 |
Challenges of Web Service Development | p. 8 |
Evolving Technologies and Products | p. 8 |
Security | p. 9 |
Reliability, Availability, and Scalability | p. 10 |
Typical Web Service Scenarios | p. 11 |
Interacting with Business Partners | p. 14 |
Integrating with Existing Enterprise Information Systems | p. 15 |
Reaching Diverse Clients | p. 15 |
Aggregation of Partner Data | p. 16 |
J2EE 1.4: The Platform for Web Services | p. 17 |
J2EE Platform Overview | p. 17 |
J2EE Platform Benefits | p. 19 |
J2EE Platform Technologies | p. 21 |
Conclusion | p. 24 |
Standards and Technologies | p. 27 |
Overview of Web Service Standards | p. 27 |
Extensible Markup Language | p. 29 |
Simple Object Access Protocol | p. 33 |
Registry Standards | p. 35 |
Web Services Description Language | p. 36 |
Emerging Standards | p. 40 |
J2EE: The Integrated Platform for Web Services | p. 40 |
Java APIs for XML Processing | p. 41 |
Java API for XML-Based RPC | p. 44 |
Java API for XML Registries | p. 47 |
SOAP with Attachments API for Java | p. 48 |
Web Service Technologies Integrated in J2EE Platform | p. 49 |
Support for WS-I Basic Profile | p. 51 |
Other Java-XML Technologies | p. 52 |
Conclusion | p. 54 |
Service Endpoint Design | p. 57 |
Example Scenarios | p. 58 |
Flow of a Web Service Call | p. 59 |
Key Web Services Design Decisions | p. 61 |
Designing a Service's Interaction Layer | p. 66 |
Designing the Interface | p. 66 |
Receiving Requests | p. 89 |
Delegating Web Service Requests to Processing Layer | p. 92 |
Formulating Responses | p. 98 |
Processing Layer Design | p. 99 |
Publishing a Web Service | p. 101 |
Publishing a Service in a Registry | p. 101 |
Understanding Registry Concepts | p. 102 |
Registry Implementation Scenarios | p. 103 |
Handling XML Documents in a Web Service | p. 105 |
Exchanging XML Documents | p. 107 |
Separating Document Manipulation from Processing Logic | p. 111 |
Fragmenting XML Documents | p. 111 |
Using XML | p. 111 |
Using JAXM and SAAJ Technologies | p. 112 |
Deploying and Packaging a Service Endpoint | p. 113 |
Service Information in the Deployment Descriptors | p. 113 |
Package Structure | p. 117 |
Conclusion | p. 119 |
XML Processing | p. 121 |
XML Overview | p. 122 |
Document Type and W3C XML Schema Definitions | p. 125 |
XML Horizontal and Vertical Schemas | p. 126 |
Other Specifications Related to XML | p. 127 |
Outline for Handling XML Documents | p. 128 |
Designing XML-Based Applications | p. 131 |
Designing Domain-Specific XML Schemas | p. 131 |
Receiving and Sending XML Documents | p. 135 |
Validating XML Documents | p. 139 |
Mapping Schemas to the Application Data Model | p. 143 |
Choosing Processing Models | p. 151 |
Fragmenting Incoming XML Documents | p. 153 |
Abstracting XML Processing from Application Logic | p. 155 |
Design Recommendation Summary | p. 163 |
Implementing XML-Based Applications | p. 164 |
Choosing an XML Processing Programming Model | p. 164 |
Combining XML Processing Techniques | p. 176 |
Entity Resolution | p. 178 |
Performance Considerations | p. 182 |
Limit Parsing of Incoming XML Documents | p. 184 |
Use the Most Appropriate API | p. 184 |
Choose Effective Parser and Style Sheet Implementations | p. 186 |
Reduce Validation Cost | p. 188 |
Reduce the Cost of Referencing External Entities | p. 189 |
Cache Dynamically Generated Documents | p. 193 |
Use XML Judiciously | p. 194 |
Conclusion | p. 196 |
Client Design | p. 199 |
Choosing a Communication Technology | p. 200 |
Scenarios for Web Services-Based Client Applications | p. 201 |
Designing J2EE Clients | p. 205 |
Designing J2SE Clients | p. 207 |
J2ME Clients | p. 208 |
Developing Client Applications to Use a Web Service | p. 210 |
Communication Modes for Accessing a Service | p. 212 |
Locating and Accessing a Service | p. 219 |
Stubs and Call Configuration | p. 223 |
WSDL-to-Java Type Mapping | p. 225 |
Processing Return Values | p. 227 |
Handling Exceptions | p. 230 |
General Considerations | p. 235 |
Managing Conversational State | p. 235 |
Enhancing User Experience | p. 237 |
Server-Side Design Considerations for Clients | p. 239 |
Packaging | p. 240 |
Conclusion | p. 245 |
Enterprise Application Integration | p. 247 |
Integration Requirements and Scenarios | p. 248 |
Typical Integration Scenarios | p. 248 |
Example Integration Scenarios | p. 249 |
J2EE Integration Technologies | p. 252 |
Relational Database Integration Technologies | p. 253 |
Messaging Technologies | p. 255 |
EIS Access Technologies | p. 259 |
Web Service and XML Technologies | p. 262 |
Integration Design Approaches | p. 263 |
Web Services Approach | p. 266 |
Enterprise Beans and JMS Approach | p. 271 |
The Connector Approach | p. 271 |
Combining Approaches into an Integration Architecture | p. 272 |
Data Integration Guidelines | p. 274 |
Data Mapping in EAI Applications | p. 274 |
Data Transformation | p. 275 |
Data Filtering | p. 282 |
Guidelines for Integration | p. 283 |
Integrating Custom Legacy Systems | p. 283 |
Using Screen Scraping for Integration | p. 284 |
Metadata | p. 285 |
Using Registries for Integration | p. 286 |
Versioning and Evolution | p. 286 |
Writing Applications for Integration | p. 288 |
Conclusion | p. 288 |
Security | p. 291 |
Security Scenarios | p. 292 |
General Security Requirements | p. 293 |
Security Implications of the Operational Environment | p. 297 |
J2EE Platform Security Model | p. 297 |
Authentication | p. 299 |
Authorization | p. 304 |
Confidentiality and Integrity | p. 307 |
Security for Web Service Interactions | p. 308 |
Endpoint Programming Model | p. 308 |
Client Programming Model | p. 314 |
Propagating Component Identity | p. 316 |
Handling Authorization | p. 320 |
JAX-RPC Security Guidelines | p. 324 |
Message-Level Web Service Security | p. 326 |
Understanding Message-Level Security | p. 326 |
Comparing Security Mechanisms | p. 328 |
Emerging Message-Level Security Standards | p. 331 |
Conclusion | p. 337 |
Application Architecture and Design | p. 339 |
Overview of Adventure Builder | p. 339 |
Order Processing Center Sub-Modules and Interactions | p. 342 |
Order Processing Center Architecture and Design | p. 344 |
Web Service Interaction and Message Exchange | p. 345 |
Communication Architecture | p. 349 |
Endpoint Design Issues | p. 351 |
Web Service Interface Development Approach | p. 351 |
Endpoint Type Considerations | p. 352 |
Granularity of Service | p. 353 |
Passing Parameters as Documents or Java Objects | p. 353 |
Layering the Service | p. 355 |
Delegating to Business Logic | p. 357 |
Client Considerations | p. 357 |
Publishing Web Service Details | p. 358 |
Web Service Communication Patterns | p. 358 |
Correlating Messages | p. 359 |
Splitting and Joining Messages | p. 361 |
Refactoring Synchronous to Asynchronous Interactions | p. 363 |
Managing Complex Web Service Interactions | p. 366 |
Passing Context Information on Web Service Calls | p. 366 |
Handling Multiple Document Types | p. 371 |
Consolidating Web Service Interactions | p. 373 |
Canonical Data Model | p. 375 |
Building More Robust Web Services | p. 376 |
Use Idempotent Endpoints | p. 377 |
Use Client Retries with Idempotent Endpoints | p. 378 |
Handling Asynchronous Interaction Error Conditions | p. 379 |
Conclusion | p. 381 |
Glossary | p. 383 |
Index | p. 403 |
Table of Contents provided by Ingram. All Rights Reserved. |
Excerpts
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.