Java Web 服务:构建与运行(影印版)图书
人气:26

Java Web 服务:构建与运行(影印版)

Java Web 服务:构建与运行(影印版)》提供了对Java的API的一个介绍,包括针对XML Web服务的JAX-WS和针对RESTful Web服务的JAX-RS。《Java Web服务:构建与运行》通过提供混合架构概述、完整的工作代码示例以及...

内容简介

Java Web 服务:构建与运行(影印版)》提供了对Java的API的一个介绍,包括针对XML Web服务的JAX-WS和针对RESTful Web服务的JAX-RS。《Java Web服务:构建与运行》通过提供混合架构概述、完整的工作代码示例以及短而的编译、部署和执行应用程序的指示,采用明确实用的方法来处理这些技术。你将学习如何从头开始编写Web服务以及集成现有服务到你的Java应用程序中。有了这《Java Web 服务:构建与运行(影印版)》,你将:

· 理解基于SOAP的和REST样式的服务的区别

· 编写、部署和使用基于SOAP的核心Java服务

· 理解Web服务描述语言(WSDL)服务契约

· 认识SOAP消息的结构

· 学习如何交付基于Java的RESTful Web服务和消耗商业RESTful服务

· 了解对基于SOAP和基于REST的Web服务的安全要求

· 学习如何在各种环境下部署JAX-WS服务

不管是学生还是有经验的程序员,当你需要立即运用这些技术展开工作时,《Java Web服务:构建与运行》都是你需要的一本理想的简明指南。

作者简介

Martin Kalin, 德保罗大学计算机和数字媒体学院教授,拥有西北大学的博士学位。他撰写过关于C语言、C++和Java的书,并参与开发过大型分布式系统中的进程调度和产品配置。

目录

Preface

1. Java Web Services Quickstart

What Are Web Services?

What Good Are Web Services?

A First Example

The Service Endpoint Interface and Service Implementation Bean

A Java Application to Publish the Web Service

Testing the Web Service with a Browser

A Perl and a Ruby Requester of the Web Service

The Hidden SOAP

A Java Requester of the Web Service

Wire-Level Tracking of HTTP and SOAP Messages

What`s Clear So Far?

Key Features of the First Code Example

Java`s SOAP API

An Example with Richer Data Types

Publishing the Service and Writing a Client

Multithreading the Endpoint Publisher

What`s Next?

2. All About WSDLs

What Good Is a WSDL?

Generating Client-Support Code from a WSDL

The @WebResult Annotation

WSDL Structure

A Closer Look at WSDL Bindings

Key Features of Document-Style Services

Validating a SOAP Message Against a WSDL`s XML Schema

The Wrapped and Unwrapped Document Styles

Amazon`s E-Commerce Web Service

An E-Commerce Client in Wrapped Style

An E-Commerce Client in Unwrapped Style

Tradeoffs Between the RPC and Document Styles

An Asynchronous E-Commerce Client

The wsgen Utility and JAX-B Artifacts

A JAX-B Example

Marshaling and wsgen Artifacts

An Overview of Java Types and XML Schema Types

Generating a WSDL with the wsgen Utility

WSDL Wrap-Up

Code First Versus Contract First

A Contract-First Example with wsimport

A Code-First, Contract-Aware Approach

Limitations of the WSDL

What`s Next?

3. SOAP Handling

SOAP: Hidden or Not?

SOAP 1.1 and SOAP 1.2

SOAP Messaging Architecture

Programming in the JWS Handler Framework

The RabbitCounter Example

Injecting a Header Block into a SOAP Header

Configuring the Client-Side SOAP Handler

Adding a Handler Programmatically on the Client Side

Generating a Fault from a @WebMethod

Adding a Logical Handler for Client Robustness

Adding a Service-Side SOAP Handler

Summary of the Handler Methods

The RabbitCounter As a SOAP 1.2 Service

The MessageContext and Transport Headers

An Example to Illustrate Transport-Level Access

Web Services and Binary Data

Three Options for SOAP Attachments

Using Base64 Encoding for Binary Data

Using MTOM for Binary Data

What`s Next?

4. RESTful Web Services

What Is REST?

Verbs and Opaque Nouns

From @WebService to @WebServiceProvider

A RESTful Version of the Teams Service

The WebServiceProvider Annotation

Language Transparency and RESTful Services

Summary of the RESTful Features

Implementing the Remaining CRUD Operations

Java API for XML Processing

The Provider and Dispatch Twins

A Provider/Dispatch Example

More on the Dispatch Interface

A Dispatch Client Against a SOAP-based Service

Implementing RESTful Web Services As HttpServlets

The RabbitCounterServlet

Requests for MIME-Typed Responses

Java Clients Against Real-World RESTful Services

The Yahoo! News Service

The Amazon E-Commerce Service: REST Style

The RESTful Tumblr Service

WADLing with Java-Based RESTful Services

JAX-RS: WADLing Through Jersey

The Restlet Framework

What`s Next?

5. Web Services Security

Overview of Web Services Security

Wire-Level Security

HTTPS Basics

Symmetric and Asymmetric Encryption/Decryption

How HTTPS Provides the Three Security Services

The HttpsURLConnection Class

Securing the RabbitCounter Service

Adding User Authentication

HTTP BASIC Authentication

Container-Managed Security for Web Services

Deploying a @WebService Under Tomcat

Securing the @WebService Under Tomcat

Application-Managed Authentication

Container-Managed Authentication and Authorization

Configuring Container-Managed Security Under Tomcat

Using a Digested Password Instead of a Password

A Secured @WebServiceProvider

WS-Security

Securing a @WebService with WS-Security Under Endpoint

The Prompter and the Verifier

The Secured SOAP Envelope

Summary of the WS-Security Example

What`s Next?

6. JAX-WS in Java Application Servers

Overview of a Java Application Server

Deploying @WebServices and @WebServiceProviders

Deploying @WebServiceProviders

Integrating an Interactive Website and a Web Service

A @WebService As an EJB

Implementation As a Stateless Session EJB

The Endpoint URL for an EBJ-Based Service

Database Support Through an @Entity

The Persistence Configuration File

The EJB Deployment Descriptor

Servlet and EJB Implementations of Web Services

Java Web Services and Java Message Service

WS-Security Under GlassFish

Mutual Challenge with Digital Certificates

MCS Under HTTPS

MCS Under WSIT

The Dramatic SOAP Envelopes

Benefits of JAS Deployment

What`s Next?

7. Beyond the Flame Wars

A Very Short History of Web Services

The Service Contract in DCE/RPC

XML-RPC

Standardized SOAP

SOAP-Based Web Services Versus Distributed Objects

SOAP and REST in Harmony

Index

在线预览

The HTTP start line comes first and specifies the request method, in this case thePOST method, which is typical of requests for dynamic resources such as webservices or other web application code (for example, a Java servlet) as opposed torequests for a static HTML page. In this case, a POST rather than a GET requestis needed because only a POST request has a body, which encapsulates the SOAPmessage. Next comes the request URL followed by the HTTP version, in this case1.1, that the requester understands. HTTP 1.1 is the current version.

Next come the HTTP headers, which are key/value pairs in which a colon (:) separates the key from the value. The order of the key/value pairs is arbitrary. The keyAccept occurs three times, with a MIME (Multipurpose Internet Mail Extensions) type/subtype as the value: text/xml, multipart/, and application/soap. These threepairs signal that the requester is ready to accept an arbitrary XML response, aresponse with arbitrarily many attachments of any type (a SOAP message can havearbitrarily many attachments), and a SOAP document, respectively. The HTTP keySOAPAction is often present in the HTTP header of a web service request and thekey's value may be the empty string, as in this case; but the value also might be thename of the requested web service operation.

Two CRLF (Carriage Return Line Feed) characters, which correspond to two Java\n characters, separate the HTTP headers from the HTTP body, which is requiredfor the POST verb but may be empty. In this case, the HTTP body contains theSOAP document, commonly called the SOAP envelope because the outermost ordocument element is named Envelope. In this SOAP envelope, the SOAP body contains a single element whose local name is getTimeAsString, which is the name ofthe web service operation that the client wants to invoke. The SOAP request envelope is simple in this example because the requested operation takes noarguments.

媒体评论

"《Java Web服务:构建与运行》有很多我发现非常实用的实例,从使用Amazon Associates Web服务到有很好的图解和安全说明以及加密密码的关于安全的一章,还包括使用证书的示例,这部分内容我还没在其他书中见过。" ——Greg Ostravich,Denver Java用户组主席

网友评论(不代表本站观点)

来自cunyila**的评论:

英文版的

2010-05-05 16:29:54
来自jaferla**的评论:

很好的书,很好的快递服务,很快的处理速度。

2010-05-28 10:59:35
来自无昵称**的评论:

感觉还可以感觉还可以感觉还可以

2011-03-30 23:36:43
来自无昵称**的评论:

有例子入手,讲的也细致

2011-12-22 14:23:23
来自run4the**的评论:

基础,权威,翔实,全面

2011-12-30 00:12:20
来自由磊**的评论:

2012-02-22 22:25:09
来自无昵称**的评论:

正在读。。。

2012-04-08 18:02:49
来自无昵称**的评论:

这本书写的挺详细的。。很适合初学者。。不过竟然是英文版的。。

2012-03-02 10:24:22
来自carlost**的评论:

一步一步交你了解JDK6中对webservice的支持

2011-08-01 17:08:46
来自无昵称**的评论:

本来想买java web services构建与运行的,可是为什么没有中文版啊。总是缺货。只能看英文的了。希望能看进去。

2013-03-29 16:25:04
登录后即可发表评论

免责声明

更多相关图书
在线咨询