// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Webサービスの学習
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Webサービスの学習 - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Webサービスの学習

== *Webサービスとは*

Webサービスは、外部で使用可能な分散アプリケーション・コンポーネントです。これらを使用すると、異なる言語で記述されたコンピュータ・アプリケーションを統合し、異なるプラットフォームで実行できます。Webサービスは、ベンダーが共通のWebサービス標準に同意しているため、言語およびプラットフォームに依存しません。

Webサービス・アプリケーションは、GlassFishやSun Java System Application ServerなどのJava EEアプリケーション・サーバーにデプロイします。

このページには、NetBeans IDEを使用したWebサービス・アプリケーションについて学習するのに役立つ、一部のNetBeansドキュメントおよびリソースへのリンクがあります。

== 開始 

* link:../docs/websvc/intro-ws.html[+Webサービス入門+]

== チュートリアルおよび記事

=== SOAP Webサービス

* link:../docs/websvc/jax-ws.html[+JAX-WS Webサービスについて+]
* link:../docs/websvc/client.html[+JAX-WS Webサービス・クライアントの開発+]
* SOAPでのバイナリ・データの受け渡し: 5部構成のチュートリアル
** link:../docs/websvc/flower_overview.html[+パート1: 概要+]
** link:../docs/websvc/flower_ws.html[+パート2: Webサービスの作成+]
** link:../docs/websvc/flower-code-ws.html[+パート3: Webサービスのコーディングおよびテスト+]
** link:../docs/websvc/flower_wsdl_schema.html[+Part 4: スキーマおよびWSDLファイルの変更+]
** link:../docs/websvc/flower_swing.html[+パート5: Swingクライアントの作成+]

=== RESTful Webサービス

* link:../docs/websvc/rest.html[+RESTful Webサービスについて+]
* link:http://netbeans.dzone.com/nb-generate-simpler-rest[+DZone: NetBeans IDEによる簡易なRESTful Webサービスの生成+]
* link:http://netbeans.dzone.com/nb-smugmug-client[+DZone: NetBeans IDEを使用したJavaのSmugMugクライアント+]
* link:http://netbeans.dzone.com/articles/how-to-combine-rest-and-ejb-31[+DZone: RESTサービスとEJB 3.1とを組み合せる方法+]

=== Software as a Service (SaaS)

* link:../docs/websvc/zillow.html[+SaaS: Zillow+]

== コミュニティの寄稿ドキュメント

* link:http://netbeans.dzone.com/nb-hierarchical-web-services[+NetBeans IDEを使用した階層的なWebサービス開発+]、Jayasurya Venug著
* link:http://buttso.blogspot.com/2011/02/using-jax-rs-with-weblogic-server-1034.html[+Steve Button氏のブログ: Using JAX-RS [およびNetBeans IDE] With WebLogic Server 10.3.4+]
* link:http://www.adam-bien.com/roller/abien/entry/simplest_possible_ejb_3_13[+Simplest Possible EJB 3.1/REST (JSR 311) Component+]、Adam Bien著
* link:http://wiki.netbeans.org/TransformingSOAPMessagesWithXSLT[+Transforming SOAP Messages with XSLT+]、Siegfried Bolz著
* link:http://wiki.netbeans.org/JavaClientForDeliciousUsingNetBeans[+Creating a Java Client for del.icio.us RESTful Web Services+]、Amit Kumar Saha著
* link:http://wiki.netbeans.org/SOAPclientForOpenCalais[+A SOAP Client for Open Calais+]、Amit Kumar Saha著

== スクリーンキャスト

* link:../docs/websvc/pet-catalog-screencast.html[+RESTful Webサービスのペット・カタログ - NetBeans IDE 6.5+]
* java.net: link:http://download.java.net/javaee5/screencasts/metro-nb6/[+Metro/GlassFishを使用した、セキュリティ保護された信頼性のあるWebサービス+]
* YouTube: link:http://youtube.com/watch?v=K8OtFD6RLMM[+SOCRADES: Sun SPOTデバイスでのWebサービスのデモ+]

== その他のリソース

=== _NetBeans IDEによるアプリケーションの開発_ユーザーズ・ガイド

* link:http://www.oracle.com/pls/topic/lookup?ctx=nb7400&id=NBDAG1842[+Webサービスの開発およびセキュリティ保護+]
* link:http://www.oracle.com/pls/topic/lookup?ctx=nb7400&id=NBDAG1035[+Webアプリケーションの開発+]
* link:http://www.oracle.com/pls/topic/lookup?ctx=nb7400&id=NBDAG1216[+エンタープライズ・アプリケーションの開発+]
* link:http://www.oracle.com/pls/topic/lookup?ctx=nb7400&id=NBDAG1649[+Webおよびアプリケーション・サーバーの使用+]

=== FAQ

* link:http://wiki.netbeans.org/NetBeansUserFAQ#section-NetBeansUserFAQ-WebServicesDevelopment[+Webサービス開発のFAQ+]

=== チュートリアルおよびその他のドキュメント

* link:https://weblogs.java.net/blog/caroljmcdonald/archive/2013/09/16/example-backbonejs-jax-rs-jpa-application[+Backbone.js、JAX-RS、JPAアプリケーションの例+]
* link:http://coenraets.org/blog/2011/12/restful-services-with-jquery-and-java-using-jax-rs-and-jersey/[+JAX-RSとJerseyを使用したJQueryとJavaでのRESTfulサービス+]
* link:https://glassfish.java.net/[+GlassFishコミュニティに参加する+]
* link:http://www.mysql.com/why-mysql/java/[+MySQL and Java - Resources +]
* link:http://java.dzone.com/news/5-techniques-create-web-servic[+WSDLからJava Webサービスを作成するための5つの技術+]
* link:http://netbeans.dzone.com/news/spring-framework-support-rest-[+Jersey REST 0.7でのSpring Frameworkのサポート+]
* link:http://netbeans.dzone.com/news/advanced-web-service-interoper[+簡単にできる高度なWebサービスの相互運用性+]
* link:http://netbeans.dzone.com/news/getting-started-with-software-[+「Software as a Service」入門+]

=== ブログ

* link:http://javaevangelist.blogspot.com/[+John Yearyのブログ: NetBeans IDEでのWebサービス+]
* link:http://www.java.net/blogs/caroljmcdonald/[+Carol McDonald: Java EE+]
* link:http://blogs.oracle.com/japod/[+Jakub Podlasekのブログ: Jersey RESTful Webサービス+]
* link:http://blogs.oracle.com/geertjan/[+Geertjan Wielenga: NetBeans IDEプラットフォーム+]
