40,99 €
versandkostenfrei*

inkl. MwSt.
Versandfertig in 2-4 Wochen
20 °P sammeln

    Broschiertes Buch

Java SOA Cookbook offers practical solutions and advice to programmers charged with implementing a service-oriented architecture (SOA) in their organization. Instead of providing another conceptual, high-level view of SOA, this cookbook shows you how to make SOA work. It's full of Java and XML code you can insert directly into your applications and recipes you can apply right away.
The book focuses primarily on the use of free and open source Java Web Services technologies -- including Java SE 6 and Java EE 5 tools -- but you'll find tips for using commercially available tools as well.
…mehr

Produktbeschreibung
Java SOA Cookbook offers practical solutions and advice to programmers charged with implementing a service-oriented architecture (SOA) in their organization. Instead of providing another conceptual, high-level view of SOA, this cookbook shows you how to make SOA work. It's full of Java and XML code you can insert directly into your applications and recipes you can apply right away.

The book focuses primarily on the use of free and open source Java Web Services technologies -- including Java SE 6 and Java EE 5 tools -- but you'll find tips for using commercially available tools as well.

Java SOA Cookbook will help you:

Construct XML vocabularies and data models appropriate to SOA applications

Build real-world web services using the latest Java standards, including JAX-WS 2.1 and JAX-RS 1.0 for RESTful web services

Integrate applications from popular service providers using SOAP, POX, and Atom

Create service orchestrations with complete coverage of the WS-BPEL (Business Process Execution Language) 2.0 standard

Improve the reliability of SOAP-based services with specifications such as WS-Reliable Messaging

Deal with governance, interoperability, and quality-of-service issues

The recipes in Java SOA Cookbook will equip you with the knowledge you need to approach SOA as an integration challenge, not an obstacle.
  • Produktdetails
  • Verlag: O'Reilly Media, Inc. / OREILLY MEDIA
  • Seitenzahl: 714
  • Erscheinungstermin: April 2009
  • Englisch
  • Abmessung: 231mm x 178mm x 43mm
  • Gewicht: 1179g
  • ISBN-13: 9780596520724
  • ISBN-10: 0596520727
  • Artikelnr.: 25450378
Autorenporträt
Eben Hewitt is Director of Application Architecture at a publicly traded company where he is responsible for the design of their mission-critical, global-scale web, mobile and SOA integration projects. He has written several programming books, including Java SOA Cookbook (O'Reilly).
Inhaltsangabe
Inhaltsverzeichnis
Preface
Overview
Intended Audience
What This Book Covers
How to Read This Book
Using Code Examples
Hang in There!
Conventions Used in This Book
Safari® Books Online
How to Contact Us
Dedication
Acknowledgments
SOA Fundamentals
Chapter 1Introduction to SOA
Introduction
Defining a Service
Defining SOA
Identifying Service Candidates
Identifying Different Kinds of Services
Modeling Services
Making a Service Composable
Supporting Your SOA Efforts
Selecting a Pilot Project
Establishing Governance
Summary
Chapter 2XML Schema and the SOA Data Model
Introduction
Designing Schema for SOA
Creating Canonical Data Model
Using Chameleon Namespace Design
Versioning Schemas
Reference Schemas
Common Schema Types
Validating an XML Document Against a Schema
Validating an XML Document Against Multiple Schemas
Restricting Schema Types with Regular Expressions
Using Schema Enumerations
Generating Java Classes from Schema
Generating a Schema from Java
Generating Java Source Files from XML Schema in Ant
Generating an XML Document Instance from a Schema
Customizing How a Java Class Is Generated from Schema
Validating Against a Schema During Marshaling and Unmarshaling
Collecting Schema Validation Events During Marshaling and Unmarshaling
Summary
Chapter 3Working with XML and Java
Introduction
Reading an XML Data Stream
Writing XML Data Streams
Filtering Data in an XML Stream
Selecting Values from an XML Document
Updating a Value in an XML Document
Converting a Java Object into an XML Document Instance
Converting an XML Document Instance into a Java Object
Generating a Schema from an XML Document
Converting XML to Java Without JAXB
Customizing Code Generation in JAXB
Finding the JAR That Contains a Given Class on Linux
Transparently Substituting XML Files
Summary
Web Services
Chapter 4Getting Started
Introduction
Using Publicly Available Web Services to Test Against
Installing Metro
Installing Oracle WebLogic
Creating and Deploying the Simplest Web Service
Creating and Deploying a Service to WebLogic
Setting Up a Maven 2 Service and Client Project
Understanding WSDL
Using References in NetBeans to Generate Web Service Clients
Monitoring SOAP Traffic with Metro
Monitoring SOAP Traffic with TCPMon
Chapter 5Web Services with SAAJ
Introduction
Creating a SOAP Element with a Qualified Name
Creating a Complete SOAP Message
Writing a SOAP Response to an Output Stream
Creating a Web Service Client Based on an Existing SOAP Envelope
Extracting Content from a SOAP Message
Creating a Web Service Client Using Raw XML Source and DOM
Adding a MIME Header
Adding Namespace Declarations
Specifying SOAPAction
Adding an Attribute to an Element
Removing a Header from a SOAP Message
Adding Headers to a SOAP Request
Accessing All SOAP Header Elements
Adding an Attachment to an Outbound SOAP Message
Accessing Inbound Attachment Data
Connecting to a SAAJ Endpoint Without a WSDL
Working with SOAP Actors
Asynchronous Invocation with Dispatch
Validating Your Payload Against a Schema on the Client
Providing a Web Service with SAAJ
Sending and Receiving SOAP Faults
Summary
Chapter 6Creating Web Service Applications with JAX-WS
Introduction
Calling a Web Service from the Command Line
Using JAX-WS Annotation Name Properties
Invoking the Simplest Web Service
Creating a Client Proxy
Consuming a Web Service from a Servlet or EJB
Consuming a Web Service from a JSP
Using a JAXB-Annotated Instance in a SOAP Message
Using wsimport in a Maven Project
Dealing with Version Errors in wsgen and wsimport
Adding Headers to a SOAP Request
Intercepting the Request to Perform Protocol-Specific Work
Intercepting the Request to Perform Work on Your Payload
Sharing Data Between Handler Invocations
Passing Binary Data in a Request
Using Binary Data in a SOAP Message
Enabling Binary Optimization on the Client
Validating a SOAP Payload Against a Schema with Metro
Making Asynchronous Calls with a JAX-WS Client
Overriding the Endpoint Address in an SEI
Summary
Chapter 7Providing SOAP-Based Web Services
Introduction
Assembling a Service for Deployment
Determining a Service Development Model
Choosing Encoding, Use, and Parameter Styles
Generating a WSDL and Portable Artifacts Based on a Java Service Endpoint Implementation
Creating a Basic Web Service
Specifying Namespaces
Creating a Web Service Operation
Specifying a Web Service Message Part
Specifying an Operation Return Value
Defining Zero-Argument Operations
Defining Operations with Void Return Type
Creating a Web Service That Uses Complex Types Based on Custom WSDL and a Custom Schema
Specifying the SOAP Binding Style, Use, and Parameter Style
Configuring Standard Custom Bindings
Excluding a Public Method from a Service
Creating a Service Provider with an XML View
Implementing Server-Side Handler Chains
Providing Stateful Services
Adding a Header with a Method Parameter
Accessing Incoming Header Parameters in a Service
Providing a Value for SOAP Action or WS-Addressing Action
Optimizing Transmission of Binary Content on the Server
Getting and Sharing Data About Users and the Request
Using Header References with Holder
Summary
Chapter 8RESTful Web Services
Introduction
Creating a POX over HTTP Service with Servlets
A RESTful Service with JAX-WS
Creating a Client for a RESTful Service Using Sockets
Application: Using SSL, Atom Publishing, and the Google Finance REST API
Setting Up the Jersey JAX-RS Implementation
Creating a Jersey Project with Eclipse and Tomcat
Creating Hello World with Jersey
Creating a Single Path for Variable Resources of the Same Type
Restricting the Structure of Values in a Path Template
Accessing Query Parameters
Marshaling a Custom Type to XML in a Response
Offering Different Representations of the Same Resource
Creating a Resource
Working with Forms and URIs
Using SAAJ to Access a RESTful Service
Setting Metadata on Representations
Deleting a Resource
Redirecting to Another Service
Accessing HTTP Headers
Working with Cookies
Working with Exceptions and Response Status Codes
Working with WADL
Interacting with a Resource Using a Custom Reader and Writer
Summary
Business Processes
Chapter 9Service Orchestrations with BPEL
Introduction
Determining a Process Design Method
Selecting a Business Process Language
Getting Apache ODE BPEL Engine
Deploying a Process to Apache ODE
Understanding BPEL Process Basics
Using a Free Graphical Designer to Create BPEL Processes
Creating a BPEL Process That Invokes a Partner
Deploying a BPEL Process to OpenESB's BPEL Service Engine
Testing a Deployed BPEL Process
Installing Active Endpoints BPEL Designer
Installing Active Endpoints BPEL Engine
Creating a BPEL Process in Active Endpoints Designer
Deploying a Process to Active Endpoints Server
Using Web Service Partners
Invoking a Partner Service from a BPEL Process
Manipulating Data with BPEL Variables
Using Literals
Concatenating Values
Choosing an Activity to Execute Based on Runtime Conditions
Executing Multiple Activities in a Sequence
Using Logical Divisions to Group Activities
Summary
Chapter 10Advanced Orchestrations with BPEL
Introduction
Executing Activities in Parallel
Synchronizing Activities Executing in Parallel
Doing Nothing
Executing an Activity at a Specific Point in Time
Executing an Activity After a Specific Delay
Selective Event Processing
Handling Faults
Explicitly Throwing a Fault
Stopping a Process
Performing an XSL Transformation on BPEL Message Data
Validating Inbound Message Data
Correlation Sets
Looping
Adding Human Tasks to a Business Process
Invoking a RESTful Web Service from BPEL
Summary
Chapter 11SOA Governance
Introduction
Assigning Roles
Creating a SOA Roadmap
Keeping Track of Your Services
Determining a Data Ownership Scheme for Services
Handling Legacy Programs and Heterogeneity Within Your SOA
Documenting Services
Setting Up a Service Registry
Packaging Related Services
Retiring a Service
Browsing a UDDI Registry
Querying a UDDI Registry Programmatically
Understanding SOA ROI
Interoperability and Quality of Service
Chapter 12Web Service Interoperability
Introduction
Dealing with Arrays
Abstracting Addressing
Using Addressing in a Java Service
Explicitly Enabling Addressing on the Client
Explicitly Disabling Addressing on the Client
Abstracting Addressing in the Transport Layer from WSDL
Addressing Faults
Creating a .NET Web Service Client in Visual Studio
Creating a .NET Web Service Client in C#
Creating a .NET Web Service
Creating a Ruby Client for a Web Service
Creating a Ruby Client for a .NET Service
Conforming to the Basic Profile
Automating Testing for Basic Profile Conformance
Interoperability Best Practices
Using Modular WSDLs
Chapter 13Quality of Service
Introduction
Understanding Reliable Messaging
Configuring a Java Web Service with Reliable Messaging
Configuring a Java Client with Reliable Messaging
Configuring a Java Web Service with Reliable Messaging on WebLogic
Using a WebLogic Reliable Messaging Error Handler
Chapter 14Enterprise Service Bus
Introduction
What Is ESB?
ESB As a Set of Patterns
JBI
Commercial ESBs
Open Source ESBs
Summary
Colophon