Java SOA Cookbook. SOA Implementation Recipes, Tips, and Techniques - Helion
ISBN: 978-05-965-5549-8
stron: 742, Format: ebook
Data wydania: 2009-03-17
Księgarnia: Helion
Cena książki: 152,15 zł (poprzednio: 176,92 zł)
Oszczędzasz: 14% (-24,77 zł)
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.
Osoby które kupowały "Java SOA Cookbook. SOA Implementation Recipes, Tips, and Techniques", wybierały także:
- Metoda dziel i zwyci 89,00 zł, (26,70 zł -70%)
- Język C. Kurs video. Praktyczne wprowadzenie do programowania 99,00 zł, (29,70 zł -70%)
- Wprowadzenie do Javy. Programowanie i struktury danych. Wydanie XII 193,23 zł, (59,90 zł -69%)
- Spring i Spring Boot. Kurs video. Testowanie aplikacji i bezpiecze 125,42 zł, (45,15 zł -64%)
- Maven. Kurs video. Automatyzacja tworzenia aplikacji w Javie 98,98 zł, (39,59 zł -60%)
Spis treści
Java SOA Cookbook. SOA Implementation Recipes, Tips, and Techniques eBook -- spis treści
- Java SOA Cookbook
- SPECIAL OFFER: Upgrade this ebook with OReilly
- A Note Regarding Supplemental Files
- Preface
- Overview
- Intended Audience
- What This Book Covers
- Part I, SOA Fundamentals
- Part II, Web Services
- Part III, Business Processes
- Part IV, Interoperability and Quality of Service
- 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
- I. SOA Fundamentals
- 1. Introduction to SOA
- Introduction
- Defining a Service
- Problem
- Solution
- Discussion
- Platform-independent interface
- Available across a network
- Operates on business objects
- Decoratable
- Other considerations
- Defining SOA
- Problem
- Solution
- SOA is a kind of architecture
- SOA is built with services
- SOA facilitates integration
- SOA facilitates reuse through loose coupling
- Invoking services
- Other considerations
- Identifying Service Candidates
- Problem
- Solution
- Discussion
- Top-down or bottom-up approach
- See Also
- Identifying Different Kinds of Services
- Problem
- Solution
- Discussion
- Modeling Services
- Problem
- Solution
- Discussion
- Service documentation
- Making a Service Composable
- Problem
- Solution
- Discussion
- Supporting Your SOA Efforts
- Problem
- Solution
- Discussion
- Aims of the reference architecture
- Reference architecture site
- Conventions
- Standards
- Specifications
- Centralized bookmarks
- Industry standards
- Security
- Cookbook
- Glossary
- Documentation
- Artifacts
- News
- Conclusion
- Selecting a Pilot Project
- Problem
- Solution
- Discussion
- Does the project create business value?
- Does the project have limited scope?
- Would the project make a good service?
- Do the team members have a good understanding of the problem domain?
- Is the project useful but not mission critical?
- The second pilot
- Establishing Governance
- Problem
- Solution
- Discussion
- Common pitfalls governance helps you avoid
- Service redundancy
- Sundry artifacts
- DBA (Death by Acronym)
- Resume padding
- Bunny services
- Common pitfalls governance helps you avoid
- Summary
- 2. XML Schema and the SOA Data Model
- Introduction
- Designing Schema for SOA
- Problem
- Solution
- Russian Doll
- Salami Slice
- Venetian Blind
- See Also
- Garden of Eden
- Creating Canonical Data Model
- Problem
- Solution
- Discussion
- Defining the canonical data model
- Recommendations
- Updating the canonical data model
- See Also
- Using Chameleon Namespace Design
- Problem
- Solution
- Versioning Schemas
- Problem
- Solution
- Discussion
- Use the version attribute
- Hack the root element
- Change the name or URI of the schema document
- Use the namespace and document name
- Reference Schemas
- Problem
- Solution
- Common Schema Types
- Problem
- Solution
- Persons name
- U.S. phone number
- Email address
- U.S. postal code
- Social Security number
- Canadian postal code
- Canadian provinces
- URL
- IP address
- Validating an XML Document Against a Schema
- Problem
- Solution
- Validating an XML Document Against Multiple Schemas
- Problem
- Solution
- Restricting Schema Types with Regular Expressions
- Problem
- Solution
- See Also
- Using Schema Enumerations
- Problem
- Solution
- Generating Java Classes from Schema
- Problem
- Solution
- Working with JAXB
- JAXB Annotations
- XMLRootElement
- XMLAccessorType
- XMLElement
- XMLRootElement
- Conclusion
- Generating a Schema from Java
- Problem
- Solution
- Using schemagen
- Using SchemaOutputResolver
- Generating Java Source Files from XML Schema in Ant
- Problem
- Solution
- Discussion
- Generating an XML Document Instance from a Schema
- Problem
- Solution
- Relaxer
- Customizing How a Java Class Is Generated from Schema
- Problem
- Solution
- Using Inline Annotations
- Using an External File (schemalet)
- Validating Against a Schema During Marshaling and Unmarshaling
- Problem
- Solution
- See Also
- Collecting Schema Validation Events During Marshaling and Unmarshaling
- Problem
- Solution
- ValidationEventCollector
- Summary
- 3. Working with XML and Java
- Introduction
- Reading an XML Data Stream
- Problem
- Solution
- Discussion
- Using the StAX cursor model: XMLStreamReader
- Using the StAX iterator model
- Writing XML Data Streams
- Problem
- Solution
- Filtering Data in an XML Stream
- Problem
- Solution
- Selecting Values from an XML Document
- Problem
- Solution
- Discussion
- Updating a Value in an XML Document
- Problem
- Solution
- Converting a Java Object into an XML Document Instance
- Problem
- Solution
- Converting an XML Document Instance into a Java Object
- Problem
- Solution
- Generating a Schema from an XML Document
- Problem
- Solution
- Discussion
- Generating a set of schemas from a single XML document
- See Also
- Converting XML to Java Without JAXB
- Problem
- Solution
- Customizing Code Generation in JAXB
- Problem
- Solution
- Finding the JAR That Contains a Given Class on Linux
- Problem
- Solution
- Discussion
- Transparently Substituting XML Files
- Problem
- Solution
- Discussion
- XML catalog entities
- Using XML Catalogs in wsimport
- See Also
- Summary
- 1. Introduction to SOA
- II. Web Services
- 4. Getting Started
- Introduction
- Using Publicly Available Web Services to Test Against
- Problem
- Solution
- Discussion
- Installing Metro
- Problem
- Solution
- Discussion
- Using Metro 1.3 in Maven
- Installing Oracle WebLogic
- Problem
- Solution
- Starting the server console
- See Also
- Creating and Deploying the Simplest Web Service
- Problem
- Solution
- See Also
- Creating and Deploying a Service to WebLogic
- Problem
- Solution
- Create a web service project
- Create the web service
- Deploy the web service
- Test the service using the built-in test client
- Setting Up a Maven 2 Service and Client Project
- Problem
- Solution
- Discussion
- Creating the service project
- Creating the client project
- Creating the parent project
- Understanding WSDL
- Problem
- Solution
- Discussion
- Types
- Messages
- Binding
- Service
- Using References in NetBeans to Generate Web Service Clients
- Problem
- Solution
- Discussion
- Monitoring SOAP Traffic with Metro
- Problem
- Solution
- Discussion
- Dumping during a Maven unit test run
- Transport-independent logging
- See Also
- Monitoring SOAP Traffic with TCPMon
- Problem
- Solution
- Discussion
- Running TCPMon
- 5. Web Services with SAAJ
- Introduction
- Relation to JAX-M
- SAAJ and JAX-WS
- SAAJ Packages and Classes
- Creating a SOAP Element with a Qualified Name
- Problem
- Solution
- Discussion
- URIs, URLs, and URNs in namespaces
- See Also
- Creating a Complete SOAP Message
- Problem
- Solution
- Writing a SOAP Response to an Output Stream
- Problem
- Solution
- Discussion
- Creating a Web Service Client Based on an Existing SOAP Envelope
- Problem
- Solution
- Discussion
- Extracting Content from a SOAP Message
- Problem
- Solution
- Creating a Web Service Client Using Raw XML Source and DOM
- Problem
- Solution
- Adding a MIME Header
- Problem
- Solution
- Discussion
- Adding Namespace Declarations
- Problem
- Solution
- Discussion
- Specifying SOAPAction
- Problem
- Solution
- Discussion
- Adding an Attribute to an Element
- Problem
- Solution
- Discussion
- Removing a Header from a SOAP Message
- Problem
- Solution
- Discussion
- Adding Headers to a SOAP Request
- Problem
- Solution
- Discussion
- Creating the web service
- Examining the WSDL
- Examining the schema
- Building the client program
- Assessing the results
- See Also
- Accessing All SOAP Header Elements
- Problem
- Solution
- Discussion
- Adding an Attachment to an Outbound SOAP Message
- Problem
- Solution
- Discussion
- See Also
- Accessing Inbound Attachment Data
- Problem
- Solution
- Discussion
- See Also
- Connecting to a SAAJ Endpoint Without a WSDL
- Problem
- Solution
- Discussion
- Working with SOAP Actors
- Problem
- Solution
- Discussion
- Asynchronous Invocation with Dispatch
- Problem
- Solution
- Discussion
- See Also
- Validating Your Payload Against a Schema on the Client
- Problem
- Solution
- Discussion
- Providing a Web Service with SAAJ
- Problem
- Solution
- Discussion
- Sending and Receiving SOAP Faults
- Problem
- Solution
- Discussion
- Sending a fault
- Getting fault information
- Getting fault details
- See Also
- Summary
- Introduction
- 6. Creating Web Service Applications with JAX-WS
- Introduction
- JAX-WS in Relation to Other APIs
- Three Approaches
- Annotations
- Service Endpoints
- Packages and Classes
- Calling a Web Service from the Command Line
- Problem
- Solution
- Discussion
- Verifying wsimport
- Generating client code
- Creating the client class
- Compiling the client
- Running the client
- Using JAX-WS Annotation Name Properties
- Problem
- Solution
- Discussion
- WebService.targetNamespace
- WebService.name
- WebService.serviceName
- WebService.portName
- Service Ref with dependency injection
- Invoking the Simplest Web Service
- Problem
- Solution
- See Also
- Creating a Client Proxy
- Problem
- Solution
- Discussion
- The generated Service class
- The generated Port class
- Consuming a Web Service from a Servlet or EJB
- Problem
- Solution
- Discussion
- WebServiceRefs
- Consuming a Web Service from a JSP
- Problem
- Solution
- Discussion
- Using a JAXB-Annotated Instance in a SOAP Message
- Problem
- Solution
- Discussion
- Using wsimport in a Maven Project
- Problem
- Solution
- Discussion
- Using a variable for the WSDL location
- Dealing with Version Errors in wsgen and wsimport
- Problem
- Solution
- Discussion
- Using endorsed directories
- Using with Ant
- Adding Headers to a SOAP Request
- Problem
- Solution
- Discussion
- Using Holder<T>
- Using Headers.create and JAXB
- Additional workarounds
- See Also
- Intercepting the Request to Perform Protocol-Specific Work
- Problem
- Solution
- Discussion
- Implementing a simple handler
- See Also
- Intercepting the Request to Perform Work on Your Payload
- Problem
- Solution
- Discussion
- Sharing Data Between Handler Invocations
- Problem
- Solution
- Discussion
- MessageContext properties
- SOAPMessageContext
- LogicalMessageContext
- Passing Binary Data in a Request
- Problem
- Solution
- See Also
- Using Binary Data in a SOAP Message
- Problem
- Solution
- Discussion
- See Also
- Enabling Binary Optimization on the Client
- Problem
- Solution
- See Also
- Validating a SOAP Payload Against a Schema with Metro
- Problem
- Solution
- Discussion
- Adding Metro to the client in Maven
- Making Asynchronous Calls with a JAX-WS Client
- Problem
- Solution
- Using Asynchronous Polling
- Using Asynchronous Callbacks
- Writing the callback handler
- Overriding the Endpoint Address in an SEI
- Problem
- Solution
- Discussion
- Summary
- Introduction
- 7. Providing SOAP-Based Web Services
- Introduction
- Assembling a Service for Deployment
- Problem
- Solution
- Discussion
- Web service or provider
- Interfaces
- Packaging WSDL
- Deployment descriptors
- Determining a Service Development Model
- Problem
- Solution
- Discussion
- Start from Code (Java)
- Start from contract (WSDL)
- Start from Java and WSDL
- Start from Schema
- Choosing Encoding, Use, and Parameter Styles
- Problem
- Solution
- Discussion
- Style
- RPC style
- Document style
- Use
- Style and use combinations
- RPC/encoded
- RPC/literal
- Document/literal
- Document/encoded
- Using parameter styles
- Wrapped
- Bare
- Summary
- Style
- Generating a WSDL and Portable Artifacts Based on a Java Service Endpoint Implementation
- Problem
- Solution
- Discussion
- Using the wsgen Ant task
- Using wsgen in Maven 2
- Creating a Basic Web Service
- Problem
- Solution
- Discussion
- Package and types
- Class and service
- Class and PortType
- Method and binding
- Specifying Namespaces
- Problem
- Solution
- Discussion
- Creating a Web Service Operation
- Problem
- Solution
- Discussion
- Specifying a Web Service Message Part
- Problem
- Solution
- Discussion
- Specifying an Operation Return Value
- Problem
- Solution
- Discussion
- Defining Zero-Argument Operations
- Problem
- Solution
- Defining Operations with Void Return Type
- Problem
- Solution
- Discussion
- Creating a Web Service That Uses Complex Types Based on Custom WSDL and a Custom Schema
- Problem
- Solution
- Discussion
- Schema
- WSDL
- Service implementation
- JAXB generated types
- Build file
- See Also
- Specifying the SOAP Binding Style, Use, and Parameter Style
- Problem
- Solution
- Configuring Standard Custom Bindings
- Problem
- Solution
- Discussion
- Using the external binding file
- Using inline elements
- See Also
- Excluding a Public Method from a Service
- Problem
- Solution
- Discussion
- Creating a Service Provider with an XML View
- Problem
- Solution
- Discussion
- Creating a Provider<T>
- Testing the provider
- Implementing Server-Side Handler Chains
- Problem
- Solution
- Providing Stateful Services
- Problem
- Solution
- Discussion
- Using WebServiceContext
- Adding a Header with a Method Parameter
- Problem
- Solution
- Discussion
- Accessing Incoming Header Parameters in a Service
- Problem
- Solution
- Discussion
- Providing a Value for SOAP Action or WS-Addressing Action
- Problem
- Solution
- Discussion
- Using BindingProvider
- Optimizing Transmission of Binary Content on the Server
- Problem
- Solution
- Discussion
- See Also
- Getting and Sharing Data About Users and the Request
- Problem
- Solution
- Discussion
- Using Header References with Holder<T>
- Problem
- Solution
- Discussion
- Summary
- 8. RESTful Web Services
- Introduction
- The Principles of REST
- REST services are stateless
- REST services have a uniform interface
- Resources are manipulated through representations
- Messages are self-describing
- RESTful architectures are built with resources
- Hypermedia as the engine of application state
- Other Tenets of REST
- Advantages of REST
- REST Versus SOAP
- Restlet
- JAX-RS
- Jersey
- RESTEasy
- RESTpack
- REST in Java
- Non-Java REST Resources
- Coming Up
- The Principles of REST
- Creating a POX over HTTP Service with Servlets
- Problem
- Solution
- Discussion
- See Also
- A RESTful Service with JAX-WS
- Problem
- Solution
- Discussion
- Creating a Client for a RESTful Service Using Sockets
- Problem
- Solution
- Discussion
- Application: Using SSL, Atom Publishing, and the Google Finance REST API
- Before You Start
- Documentation and clients
- About Atom
- Creating the Client
- Before You Start
- Setting Up the Jersey JAX-RS Implementation
- Problem
- Solution
- Discussion
- Dependencies
- Modifying the web.xml file
- Creating a Jersey Project with Eclipse and Tomcat
- Problem
- Solution
- See Also
- Creating Hello World with Jersey
- Problem
- Solution
- Discussion
- Resource methods
- Creating a Single Path for Variable Resources of the Same Type
- Problem
- Solution
- Discussion
- Restricting the Structure of Values in a Path Template
- Problem
- Solution
- Discussion
- Accessing Query Parameters
- Problem
- Solution
- Discussion
- Marshaling a Custom Type to XML in a Response
- Problem
- Solution
- Discussion
- Offering Different Representations of the Same Resource
- Problem
- Solution
- Discussion
- Creating a Resource
- Problem
- Solution
- Discussion
- Working with Forms and URIs
- Problem
- Solution
- Discussion
- Using SAAJ to Access a RESTful Service
- Problem
- Solution
- Discussion
- Setting Metadata on Representations
- Problem
- Solution
- Discussion
- Deleting a Resource
- Problem
- Solution
- Discussion
- Redirecting to Another Service
- Problem
- Solution
- Discussion
- Redirecting based on class
- Accessing HTTP Headers
- Problem
- Solution
- Discussion
- Using @HeaderParam
- Working with Cookies
- Problem
- Solution
- Discussion
- Using HttpHeaders to access cookies
- Working with Exceptions and Response Status Codes
- Problem
- Solution
- Discussion
- Using exception mappers
- Working with WADL
- Problem
- Solution
- Discussion
- Interacting with a Resource Using a Custom Reader and Writer
- Problem
- Solution
- Discussion
- Summary
- Introduction
- 4. Getting Started
- III. Business Processes
- 9. Service Orchestrations with BPEL
- Introduction
- Benefits of BPEL
- BPEL Engine and Designer Implementations
- Overview
- Determining a Process Design Method
- Problem
- Solution
- Discussion
- The Top-Down approach
- The Bottom-Up approach
- The Meet in the Middle approach
- Selecting a Business Process Language
- Problem
- Solution
- Discussion
- BPMN
- jPDL
- BPEL
- Getting Apache ODE BPEL Engine
- Problem
- Solution
- Discussion
- Deploying a Process to Apache ODE
- Problem
- Solution
- Discussion
- Running the HelloWorld2 example
- Understanding BPEL Process Basics
- Problem
- Solution
- Discussion
- The <process> element
- The <import> element
- The <sequence> activity
- The <receive> activity
- The <assign> activity
- The <reply> activity
- Using a Free Graphical Designer to Create BPEL Processes
- Problem
- Solution
- Discussion
- Creating a BPEL Process That Invokes a Partner
- Problem
- Solution
- Discussion
- Creating a simple partner web service
- Creating a new BPEL process project
- Importing the web service WSDL
- Creating a partner link for the web service
- Creating the process
- Adding a partner to the process
- Creating a process WSDL
- Completed WSDL
- Adding external WSDL to the process
- Creating the <receive> activity
- Creating the <invoke> activity
- Creating the <reply> activity
- Creating the inbound assignment
- Creating the outbound assignment
- Check the source code
- Build the BPEL project
- See Also
- Deploying a BPEL Process to OpenESBs BPEL Service Engine
- Problem
- Solution
- Discussion
- Creating a new CASA project
- Adding the BPEL project to the assembly
- Building the assembly
- Deploying the assembly to the BPEL service engine
- See Also
- Testing a Deployed BPEL Process
- Problem
- Solution
- Discussion
- Creating the test
- Executing the test
- Load testing
- Installing Active Endpoints BPEL Designer
- Problem
- Solution
- Discussion
- See Also
- Installing Active Endpoints BPEL Engine
- Problem
- Solution
- Discussion
- See Also
- Creating a BPEL Process in Active Endpoints Designer
- Problem
- Solution
- Discussion
- Creating a new process
- Deploying a Process to Active Endpoints Server
- Problem
- Solution
- Using Web Service Partners
- Problem
- Solution
- Discussion
- Invoking a Partner Service from a BPEL Process
- Problem
- Solution
- Discussion
- Manipulating Data with BPEL Variables
- Problem
- Solution
- Discussion
- Creating variables
- Referencing variables
- In-scope namespaces
- Comparing variables
- Validating variables
- Using Literals
- Problem
- Solution
- Discussion
- Concatenating Values
- Problem
- Solution
- Discussion
- Choosing an Activity to Execute Based on Runtime Conditions
- Problem
- Solution
- Discussion
- <elseif> and <else>
- Executing Multiple Activities in a Sequence
- Problem
- Solution
- Discussion
- See Also
- Using Logical Divisions to Group Activities
- Problem
- Solution
- Discussion
- Summary
- Introduction
- 10. Advanced Orchestrations with BPEL
- Introduction
- Executing Activities in Parallel
- Problem
- Solution
- Discussion
- See Also
- Synchronizing Activities Executing in Parallel
- Problem
- Solution
- Discussion
- See Also
- Doing Nothing
- Problem
- Solution
- Discussion
- Executing an Activity at a Specific Point in Time
- Problem
- Solution
- Discussion
- Executing an Activity After a Specific Delay
- Problem
- Solution
- Discussion
- Selective Event Processing
- Problem
- Solution
- Discussion
- Using alarms
- Handling Faults
- Problem
- Solution
- Discussion
- Default fault handling
- Explicitly Throwing a Fault
- Problem
- Solution
- Discussion
- Stopping a Process
- Problem
- Solution
- Discussion
- Performing an XSL Transformation on BPEL Message Data
- Problem
- Solution
- Discussion
- Validating Inbound Message Data
- Problem
- Solution
- Discussion
- Correlation Sets
- Problem
- Solution
- Discussion
- Creating message properties and aliases
- Creating correlation sets
- Initiating the conversation
- Correlating the messages
- Looping
- Problem
- Solution
- Discussion
- while loop
- repeatUntil loop
- forEach loop
- Preventing some children from executing
- Adding Human Tasks to a Business Process
- Problem
- Solution
- Discussion
- Implementations
- Invoking a RESTful Web Service from BPEL
- Problem
- Solution
- Discussion
- Summary
- 11. SOA Governance
- Introduction
- Assigning Roles
- Problem
- Solution
- Discussion
- Creating a SOA Roadmap
- Problem
- Solution
- Discussion
- Keeping Track of Your Services
- Problem
- Solution
- Discussion
- Determining a Data Ownership Scheme for Services
- Problem
- Solution
- Discussion
- Timed caches and distributed caches
- Messaging
- Handling Legacy Programs and Heterogeneity Within Your SOA
- Problem
- Solution
- Discussion
- Documenting Services
- Problem
- Solution
- Discussion
- Setting Up a Service Registry
- Problem
- Solution
- Discussion
- UDDI
- Getting jUDDI
- Deploying jUDDI on Tomcat
- Setting up the jUDDI JDBC connection
- Setting up Log4J
- Setting up MySQL database
- Setting up a Tomcat datasource
- See Also
- Packaging Related Services
- Problem
- Solution
- Discussion
- Retiring a Service
- Problem
- Solution
- Browsing a UDDI Registry
- Problem
- Solution
- Querying a UDDI Registry Programmatically
- Problem
- Solution
- Discussion
- Overview
- Testing the client
- See Also
- Understanding SOA ROI
- Problem
- Solution
- Discussion
- ROI in traditional software projects
- ROI in SOA
- ROI implications of building out services within traditional projects
- Theres no ROI in SOA
- 9. Service Orchestrations with BPEL
- IV. Interoperability and Quality of Service
- 12. Web Service Interoperability
- Introduction
- Dealing with Arrays
- Problem
- Solution
- Discussion
- Abstracting Addressing
- Problem
- Solution
- Discussion
- Endpoint references
- Message information headers
- Anonymous addressing
- Using Addressing in a Java Service
- Problem
- Solution
- Discussion
- See Also
- Explicitly Enabling Addressing on the Client
- Problem
- Solution
- Discussion
- Explicitly Disabling Addressing on the Client
- Problem
- Solution
- Discussion
- See Also
- Abstracting Addressing in the Transport Layer from WSDL
- Problem
- Solution
- Addressing Faults
- Problem
- Solution
- Discussion
- Creating a .NET Web Service Client in Visual Studio
- Problem
- Solution
- Discussion
- Creating a .NET Web Service Client in C#
- Problem
- Solution
- Discussion
- Creating a .NET Web Service
- Problem
- Solution
- Discussion
- Creating a Ruby Client for a Web Service
- Problem
- Solution
- Discussion
- Creating a Ruby Client for a .NET Service
- Problem
- Solution
- Discussion
- Using Ruby in Eclipse
- Conforming to the Basic Profile
- Problem
- Solution
- Discussion
- Automating Testing for Basic Profile Conformance
- Problem
- Solution
- Discussion
- Interoperability Best Practices
- Problem
- Solution
- Using Modular WSDLs
- Problem
- Solution
- Discussion
- 13. Quality of Service
- Introduction
- Quality-of-Service Specifications
- Reliability
- Metadata
- Transactions
- WS-* Specifications and Vendor Implementations
- Quality-of-Service Specifications
- Understanding Reliable Messaging
- Problem
- Solution
- Source and destination
- The WS-ReliableMessaging protocol
- WS-ReliableMessaging and WS-Addressing exchange
- Configuring a Java Web Service with Reliable Messaging
- Problem
- Solution
- Discussion
- See Also
- Configuring a Java Client with Reliable Messaging
- Problem
- Solution
- See Also
- Configuring a Java Web Service with Reliable Messaging on WebLogic
- Problem
- Solution
- Discussion
- Using a WebLogic Reliable Messaging Error Handler
- Problem
- Solution
- Introduction
- 14. Enterprise Service Bus
- Introduction
- Focus of This Chapter
- What Is ESB?
- Features of an ESB
- Web services support
- Adapters
- Invocation
- Mediation and protocol independence
- Routing
- Transformation
- Orchestration
- Security
- SOA Without an ESB
- Benefits of ESB
- Features of an ESB
- ESB As a Set of Patterns
- JBI
- The JBI Architecture
- Service engines
- Binding components
- Normalized message router
- JBI runtime environment
- The Case Against JBI
- The JBI Architecture
- Commercial ESBs
- Oracle Service Bus
- OSB differentiating features
- Monitoring and service-level agreements
- Reporting
- Security
- Supported specifications
- Software AG/webMethods ESB
- Differentiating features
- Supported specifications
- TIBCO ActiveMatrix and BusinessWorks
- Event framework
- Grid-based architecture
- Supported specifications
- Oracle Service Bus
- Open Source ESBs
- Mule
- Basic usage
- MuleForge
- Supported transports
- Deployment options
- Mule IDE
- SOA governance and management with Mule
- Apache ServiceMix
- Extensibility
- Deployment in ServiceMix
- OpenESB
- Monitoring OpenESB
- Project Fuji
- Mule
- Summary
- Introduction
- 12. Web Service Interoperability
- Index
- About the Author
- Colophon
- SPECIAL OFFER: Upgrade this ebook with OReilly