Java on Microsoft Azure 情報のまとめ記事


今日は、Java の開発者の皆様が Microsoft Azure を利用する上で有用な情報もまとめて一気にご紹介します。どうぞごらんください。

※ 本記事は、前回の投稿内容に加え、プレゼン内容とデモ内容をマージしたものです。
 前回投稿した記事の内容(文章)はすべて本記事に移動しました。

Java 開発者の皆様のためのツール

Microsoft Azure が提供するサービスを利用した Java のアプリケーション開発をされたい場合、 Azure SDK for Java を我々は提供しています。Azure が提供するサービスにはたとえば次のようなサービスがあります。

Blob Service
Media Services
Queue Services
Service Bus Queues
Table Service
IoT Hub Service(日本語)

SDK は Maven プロジェクトから利用できるため、OS の環境や統合開発環境の種類によらずご利用いただくことができます。
もし、この SDK の API が気に入らない場合は、どうぞご自由に変更してください。SDK はオープン・ソースとして公開されており、GitHub からソースコードをご参照していただくことが可能です。
ディレクトリ・サービスを使用した ID 管理が行い場合は、Azure Active Directory Library for Java をご利用いただくことができます。
もし、NoSQL データベースとして MongoDB をご利用されたい場合は、通常の MongoDB Java API に加え、MongoDB-as-a-Service on Microsoft Azure
Microsoft の DocumentDB サービス用の Java SDK も利用可能です。
また、ステートレスのアプリケーションでどこかで永続化データを管理したい場合、Azure Redis Cache が簡単で安全なためおすすめです。チュートリアルはこちらにあるので、こちらをご参照ください。Java を利用した Azure Redis Cache の使い方.

また、統合開発環境においても Eclipse や IntelliJ IDEA などで Azure 用のプラグインを提供しています。もし、Eclipse や IntelliJ をご利用の場合は、下記もどうぞお試しください。
Azure toolkit for Eclipse

MS Open Tech Tools: IntelliJ and Android Studio Plugin for Microsoft Services

上記の、MS Open Tech Tools plugin for Microsoft Services は Android のアプリケーションと Office 365、Azure モバイル・サービス、Azure ストレージなどと統合する機能も提供しています。

Java に関連した企業との協力なパートナーシップ

マイクロソフトはオープン・ソースのコミュニティと強く協力していくことがとても重要と考えています。またマイクロソフトは、OpenJDK に対する商用サポートを提供する Azul Systems と強いパートナー・シップを結んでいます。これにより Azul が提供するOpenJDK( Azul Zulu® )をMicrosoft Azure 上でもご利用いただくことができ、OpenJDKに対するサポートも提供します。これは、すでに EoL になってしまった Java SE 7 に対するサポートも含まれ、オラクルの有償Javaサポートプログラムに対する代替の手段としてご検討いただくことも可能です。Eclipse や IntelliJ をご利用の方は、 Azure toolkit for Eclipse MS Open Tech Tools plugin for Microsoft Services をご利用いただくと、デプロイ時に Zulu を利用することも可能です。Azure のマーケット・プレスでは、Zulu をバンドルした Azure の仮想マシンも(Windows, Linux)提供しており(Azure Virtual Machines Gallery)、簡単にご利用いただくことができます(※ 日本でのサービス提供開始はまだです、今しばらくお待ちください)。

また、 HortonWorks ともパートナーシップを結ぶことによって、Hadoop ベースのサービス(HDInsight)を簡単にご利用いただくことができます。さらに、Cloudier ともパートナーシップを結んでおり、Azure 上で Hadoop ベースの Cloudier Enterprise Dataの仮装マシンを Azure 上でご利用いただくことができます。また、DataStax 社ともパートナー・シップを結び、Cassandra もご利用いただくことができます。
その他にも、マーケット・プレスではOracle WebLogic, IBM WebShpere など様々な製品をご利用いただけるようになっています。
マイクロソフトは、Java 業界に対して、ほとんどしがらみがないので、アプリケーション・サーバもこれを使ってくださいなどとは申し上げません。ベンダー・ニュートラルで、どのようなアプリケーション・サーバでも普段お使いのアプリケーション・サーバをどうぞご自由にご利用ください!!

継続的インテグレーション・継続的デリバリ


もし、Jenkins を普段ご利用いただいているのであれば、Azure の仮装マシンを Jenkins のスレーブとしてご利用いただくことができます。その際、Jenkins Slave Plugin for Azure をご利用ください。また、build artifacts を Azure が提供するストレージサービスに対してデプロイすることもできます(Azure Storage plugin for Jenkins)。

さらに、JJUG CCC 2015 Fall で一部の方にはデモをご覧いただきましたが、Azure と Jenkins, Docker を利用して下記のような DevOps を実現することも可能です。

統合開発環境からソースをコミットしたのち、チーム開発用のツールを SaaS として提供する Visual Studio Team Services (VSTS) の Git に対してプッシュします。VSTS の Git にプッシュしたのち、Azure 上で稼働する Jenkins で Build, Test を行い、ビルドとテストを正しく完了した場合に、アプリケーションを稼働させるための、Docker イメージを作成し、Docker Hub へイメージをプッシュします。Docker Hub へイメージをプッシュしたことを、Docker Tutum が検知し、Tutum 経由で、Azure 仮装マシン作成し、Dockerサーバを構築、最終的にはDocker コンテナの起動までを全て自動化できます。

Microsoft は CloudBees ともパートナー・シップを結んでおり、CloudBees Jenkins Enterprise on Azure (セキュアで最適化されたプラグインを含む)をご利用いただくことができます(詳細はこちらをご参照 : CloudBees Blog)。

Linux マシンも問題なく稼働


Microsoft Azure の中で稼働する仮装マシンのうち、すでに 25% が Linux で稼働しています。Windows 環境だけではなく、Linux 環境も安心してご利用いただくことが可能です。また事前設定済みの WebSphere や WebLogic も提供しています。WebSphere, WebLogic

Azure に対する配備を自動化したい場合、Azure Command Line InterfaceAzure Resource Manager template をご利用いただくこともできます。Linux や Mac、Windows 環境でコマンドラインからデプロイを管理したい場合、 Azure CLI をダウンロード・インストールしてご利用ください。また、より複雑なクラウドのインフラ環境を構築したい場合は、Azure Resource Manager をご利用いただき、再利用可能なテンプレートを作成してください。例えば、こちらにある、数百にわたる Azure Resource Manager Quickstart Templates をご利用いただくことでより早くご利用いただけます、これらは全てGitHub におかれています。

Java Web アプリケーションの監視


Java web application monitoring with Application Insights
Application Insights という機能を利用すると Java の Web アプリケーションの使用状況やパフォーマンスなどをグラフィカルに監視できるようになります。詳しくは下記をごらんください

Get started with Application Insights in a Java web project
Application Insights for Java web apps that are already live

Application Insight のサンプルはこちらの GitHub にあります。

他にも、様々なサービスを利用いただけますが、これから継続して情報をお届けします。
Java で Web アプリケーションを開発する方も、ぜひ Microsoft Azure をぜひ触れてみてください。

2016年1月23日 at 6:34 PM コメントをどうぞ

WebSocket ハンズオンと Java on Microsoft Azure について


この記事は Java EE Advent Calendar 2015 の12/22分の記事です。
昨日は、emag@github さんのWildFly Swarm 周遊でした。
明日は、@HirofumiIwasakiさんです。

マイクロソフトに転職してはやいもので5ヶ月が過ぎ、やっと会社にも同僚にも慣れてまいりました。Java EE の Advent Calendar ということで Java EE に関連した内容をお届けします。

内容は、Azure 上で WebSocket のアプリケーション開発のハンズオン・ラボの資料です。当初、ブログにまとめようと思いましたが、ページ数がかさむのでラボの資料は、下記の PDF にまとめました。また、このハンズオンは、学生(専門学校の皆様や大学生)も理解していただけるよう記載した内容ですので、社会人の皆様でも、はじめて WebSocket を学ぶ方には有効ではないかと思います。ぜひ下記のハンズオンをお試しいただき、Java EE 7 の WebSocket を Azure 上でお楽しみください。

SlideShare : SlideShare からも直接ご覧いただけます。(PDF のダウンロードも可能)
Docs.com : Docs.com からもご覧いただけます。(PDFのダウンロードも可能)

最後に
今年は、Java 業界を驚かせてしまったり、お騒がせしましたが、みなさま本当にありがとうございました。Java の 20 周年を皆様と一緒に過ごすことができたのは心より幸せでした。そして、マイクロソフトに転職しても Java のエバンジェリストができて、今なによりも幸せです。マイクロソフトに入社して、今年は少し様子見をしていた所もあります。しかし来年は、もっと積極的にやっていく予定ですので、会社が変わってもどうぞ皆様、これからもよろしくお願いします。

皆様、良いお年を!!
Have a good Merry Christmas and a happy New Year !!

2015年12月22日 at 1:36 PM 1件のコメント

Microsoft Azure IoT Hub with Java


Microsoft Azure の IoT Hub が Java でも利用できるということで試しました。Microsoft Azure の IoT Hub に関する詳細な説明はこちらをご参照ください。

Azure IoT Hub とは
IoT Hub と Event Hubs の比較

私がはまったのは1点で、「Device ID」をどうやって作るかという点でしたが、そこも下記にくわしく手順を記載します。

1. 最初に、Microsoft Azure の管理ポータルにアクセスし、新規から IoT Hub を作成します。
  Microsoft Azure の管理ポータルへアクセス

「参照 >」から「IoT Hub プレビュー」を選択します。

「新規」ボタンを押下すると、下記の画面が表示されますので「Name」に名前を入力し、利用する規模に応じて価格やプランを選択してください。

次に、リソース・グループ名を新規に作成し、ロケーションとして「東アジア」を選択し最後に「作成」ボタンを押下してください。

2. Windows 環境で DeviceExplorer をインストール
Azure IoT SDKsのサイトにアクセスし、DeviceExplorer のインストーラを入手してください。Windows 環境用に用意されている「SetupDeviceExplorer.msi」をダウンロードします (このリンクから入手できる版は 2015-11-30 版です、最新版はAzure IoT SDKsから入手してください)。

ファイルを入手後、入手したファイル(インストーラ)をクリックしてインストーラを起動してください。

次に、インストール場所や利用者を指定し「Next >」ボタンを押下します。

確認画面が表示されますので、「Next>」ボタンを押下します。

ユーザアカウント制御の確認画面が表示されますので、「はい(Y)」を押下してインストールをはじめてください。

インストールが完了すると下記の画面が表示されますので「Close」ボタンを押下してください。

インストールが完了すると Windows 10 の場合、メニューから「最新追加されたもの」の欄から実行できることを確認できます。

3. Device Explorer から Device ID と接続用文字列を作成

メニューから DeviceExplorer を起動してください。起動すると下記の画面が表示されます。

ここで、DeviceExplorer から Microsoft Azure の IoT Hub に接続し操作できるように、Azure 上で接続用の情報を確認し取得します。Microsoft Azure の管理ポータルに接続し、作成した IoT Hub のサービスを参照してください。

IoT Hub サービスを参照すると「Settings」というボタンがあるので押下します。

「Settings」ボタンを押下すると「Shared access policies」のリンクがあるので選択してください。

「Shared access policies」の POLICY から「iothubowner」を選択してください。
選択すると「Connection string—primary key」の欄があります。記載内容をクリップ・ボードへコピーできるようにコピー・ボタンが右端に用意されていますので、これをクリックしてコピーしてください。

クリップ・ボードへ文字列がコピーされると「コピー済み」と表示されます。

文字列をコピーしたのち、Device Explorer に戻り、文字列を貼り付けてください。

文字列をコピーしたのち、「Update」ボタンを押下してください。正しく設定が更新されると「Settings updated successfully」という画面が表示されます。

続いて、Device Explorer のタブから「Management」を選択し「Create」ボタンを押下してください。

ボタンを押すと、下記の画面が表示されますので、「Device ID」欄にデバイス固有の名前を入力し「Create」ボタンを押下してください。(Primary Key,Secondary Keyは自動的にキーの文字列が入力されています。)

ボタンを押下すると下記の画面が表示されますので「Done」ボタンを押下してください。

デバイス ID を作成すると一覧に1行が追加されます。ここで、追加された行をマウスで右クリックしてください。すると、選択メニューが表示されますので、「Copy connection string for selected device」を選択して接続用の文字列をコピーしてください。

コピーして作成された、接続用の文字列の例は下記のような文字列です。この文字列は後からのプログラム内で記述する必要があります。そこで、この文字列を一時的にテキストファイルなどに保管しておいてください。

HostName=HOSTNAME.azure-devices.net;DeviceId=DEVICE-ID;SharedAccessKey=Wf0o****************************************

※ 補足:Device Explorer の詳しい使い方は下記に記載されていますので、こちらもご確認ください。
How to use Device Explorer for IoT Hub devices

4. Microsoft Azure IoT Hub サンプルコードの作成

それでは、プログラムを組むための環境設定や準備が整いましたので、実際にプログラムを書いてみましょう。本サンプル・アプリケーションは、基本的にこちらに記載されている内容を実際に動作させた物です。
※ 本記事の目的は、IoT Hub の設定方法を説明するのがメインのため、コードの詳細にまでは触れず、MS 社員のどなたかが作成したコードをそのまま記載しています。しかし、この一連の設定ができると色々と面白いことができるので、まずは基本的な手順を理解してください。

Maven の pom ファイルは下記のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.yoshio3</groupId>
    <artifactId>Azure-IoT-Hub</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven-compiler-plugin-version>2.3.2</maven-compiler-plugin-version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.microsoft.azure.iothub-java-client</groupId>
            <artifactId>iothub-java-client</artifactId>
            <version>1.0.0-preview.7</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.4.2</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <finalName>${project.artifactId}-${project.version}</finalName>
                    <filters>
                        <filter>
                            <artifact>*:*</artifact>
                            <excludes>
                                <exclude>META-INF/*.SF</exclude>
                                <exclude>META-INF/*.DSA</exclude>
                                <exclude>META-INF/*.RSA</exclude>
                            </excludes>
                        </filter>
                    </filters>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <mainClass>com.yoshio3.Main</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Java のサンプル・ソースコードはこちらになります。

package com.yoshio3;

import com.microsoft.azure.iothub.DeviceClient;
import com.microsoft.azure.iothub.IotHubClientProtocol;
import com.microsoft.azure.iothub.Message;
import com.microsoft.azure.iothub.IotHubStatusCode;
import com.microsoft.azure.iothub.IotHubEventCallback;
import com.microsoft.azure.iothub.IotHubMessageResult;

import java.io.IOException;
import java.net.URISyntaxException;
import java.util.Scanner;


public class Main {

    protected static class EventCallback
            implements IotHubEventCallback {

        @Override
        public void execute(IotHubStatusCode status, Object context) {
            Integer i = (Integer) context;
            System.out.println("IoT Hub responded to message " + i.toString()
                    + " with status " + status.name());
        }
    }

    protected static class MessageCallback
            implements com.microsoft.azure.iothub.MessageCallback {

        @Override
        public IotHubMessageResult execute(Message msg,
                Object context) {
            System.out.println(
                    "Received message with content: " + new String(msg.getBytes(), Message.DEFAULT_IOTHUB_MESSAGE_CHARSET));

            return IotHubMessageResult.COMPLETE;
        }
    }

    public static void main(String... args) throws IOException, URISyntaxException {
        //Device Explorer で作成してコピーした接続用の文字列をここに記載
        String connString = "HostName=HOSTNAME.azure-devices.net;DeviceId=DEVICE-ID;SharedAccessKey=Wf0o****************************************";


        IotHubClientProtocol protocol = IotHubClientProtocol.AMQPS;

        DeviceClient client = new DeviceClient(connString, protocol);

        MessageCallback messageCallback = new MessageCallback();
        client.setMessageCallback(messageCallback, null);
        client.open();

        for (int i = 0; i < 10; ++i) {
            String msgStr = "Event Message " + Integer.toString(i);
            try {
                Message msg = new Message(msgStr);
                msg.setProperty("messageCount", Integer.toString(i));
                System.out.println(msgStr);
                EventCallback eventCallback = new EventCallback();
                client.sendEventAsync(msg, eventCallback, i);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        System.out.println("Press any key to exit...");
        Scanner scanner = new Scanner(System.in);
        scanner.nextLine();

        client.close();
    }
}

念のため、Maven プロジェクトは Git Hub にもあげておきます。上記をベースに、Microsoft Azure IoT Hub Java Client 1.0.0-preview.7 API を参照しながらプログラムを作ってみてください。

5. デバイスでプログラム実行
プログラムをビルド後、下記のコマンドを IoT デバイス上で実行してください。

# java -jar Azure-IoT-Hub-1.0-SNAPSHOT.jar

実行すると、下記のようなメッセージが表示されます。

$ java -jar Azure-IoT-Hub-1.0-SNAPSHOT.jar
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
12 15, 2015 5:27:38 午後 org.apache.qpid.proton.engine.impl.ssl.SslEngineFacadeFactory getClass
警告: unable to load org.bouncycastle.openssl.PEMReader
12 15, 2015 5:27:38 午後 org.apache.qpid.proton.engine.impl.ssl.SslEngineFacadeFactory getClass
警告: unable to load org.bouncycastle.openssl.PasswordFinder
12 15, 2015 5:27:38 午後 org.apache.qpid.proton.engine.impl.ssl.SslEngineFacadeFactory
警告: unable to load bouncycastle provider
Event Message 0
Event Message 1
Event Message 2
Event Message 3
Event Message 4
Event Message 5
Event Message 6
Event Message 7
Event Message 8
Event Message 9
Press any key to exit…
IoT Hub responded to message 5 with status OK_EMPTY
IoT Hub responded to message 4 with status OK_EMPTY
IoT Hub responded to message 7 with status OK_EMPTY
IoT Hub responded to message 2 with status OK_EMPTY
IoT Hub responded to message 3 with status OK_EMPTY
IoT Hub responded to message 6 with status OK_EMPTY
IoT Hub responded to message 1 with status OK_EMPTY
IoT Hub responded to message 9 with status OK_EMPTY
IoT Hub responded to message 0 with status OK_EMPTY
IoT Hub responded to message 8 with status OK_EMPTY


参考:
Microsoft Azure IoT device SDK for Java

IoT Kit ハンズオン トレーニング 初めの一歩モノの接続からデータ分析まで by @embedded_george

最後に、今回は実戦的なアプリまでは作成しませんでしたが、上記をベースに Raspberry Pi や LEGO Mindstorms 上にプログラムを配置し、Azure 上にデータを配信したり、Azure から各種デバイスを操作したりできるようになりますね。

Let’s enjoy IoT with Java on Azure !!

2015年12月15日 at 5:24 PM 1件のコメント

Microsoft Java DevOps ハッカソン@JJUG CCC 2015



JJUG CCC 2015 Fall が2015年 11月 28日 (土) にベルサール新宿グランド(東京都新宿区西新宿8-17-3 住友不動産新宿グランドタワー) で開催されます。

今回、日本マイクロソフト株式会社は JJUG CCC にプラチナ・スポンサーとして参加し、Java の開発者と運用者による DevOps ハッカソンを2日間で実施します。このハッカソンは過去2度程実施していますが、いずれの参加者も参加してよかった他の方にもぜひお勧めしたいといわれている、とても有意義なハッカソンです(下記の参加レポートをご参照)。
みなさま、Microsoft Azure のプラットフォーム上で、 Jenkins や今はやりの Docker などを利用して 継続的インテグレーションやデリバリ(CI や CD)を体感してみませんか?今回は、JJUG との共催という事で、開発者は Java デベロッパーのみなさまが対象となります。

参加のご登録はコチラから
 ■ 開発者の方はコチラ
 ■ インフラ技術者の方はコチラ

( ※ 参加可能な人数に限りがあるため、JJUG CCC の参加登録とは別途、登録サイトをご用意しています。JJUG CCC の参加登録はコチラから行ってください。)



ご案内文
DevOps はソフトウエアデリバリのライフサイクルを早める考え方で、短期間で開発、 運用を繰り返し、一日に5 回以上新しいサービスをリリースする企業も出てくるなど、DevOps のビジネス価値、効果は昨今たいへん注目されています。      

しかし DevOps が何を指すのかは人やベンダーによって言うことがまちまちで、その多くはツールのみの話に終始していますが、ツールは DevOps の要素のひとつであり、実際は人、プロセス、さまざまな要素が関係します。      

アプリケーション開発者、そしてインフラ技術者でチームを構成し、DevOps のプラクティスを適用して、Infrastructure as Code の自動化技術を使いながら本物のDevOps が体験できるイベントを企画しました。

ぜひ奮ってご参加ください。


過去に開催した DevOps ハッカソンの参加レポートは下記にリンクしています。
● メディアの記事
http://codezine.jp/article/detail/8944
http://www.atmarkit.co.jp/ait/articles/1509/10/news168.html

● 参加者のブログ
http://heartbeats.jp/hbblog/2015/09/microsoft-devops-hackathon.html
http://couger.hatenablog.com/entry/2015/09/06/213104
http://blog.modd.com/entry/2015/09/07/151421
http://changesworlds.com/2015/09/devops-hackathon-day-2-done/
http://newscentral.exsees.com/item/2e7e6c6899c626e2baddb7cdeaaed62d-d28352a527a1d995287ddd23891859aa

参加のご登録はコチラから
 ■ 開発者の方はコチラ
 ■ インフラ技術者の方はコチラ

2015年11月6日 at 2:48 PM コメントをどうぞ

【学生さま向け】Microsoft Azure Web App と NetBeans (Maven) の FTP 連携


前回、Microsoft Azure と JDK、NetBeansのインストールをしました。今回は、デスクトップの PCで開発したアプリケーションをMicrosoft Azure上に公開する方法について説明します。

まず、Microsoft Azure の管理ポータル・サイトにログインをします。管理ポータルから「+新規」のリンクを押下し、「Web + モバイル」を選択してください。DreamSparkプログラムで、無償で利用できるサービスの一覧が表示されます。ここで「Web App」を選択してください。

「Web App」を選択すると下記の画面が表示されます。ここで、「Webアプリ」にサービスを識別するための文字列を入力し、「サブスクリプション」に「DreamSpark」が選択されていることを確認してください。その後、「App Service プラン/場所」を押下してください。

「新規作成」を選択すると下記の画面が表示されます。ここで「App Serviceプラン」にプランの識別名を入力してください。次に「場所」を指定します。ここでは「Japan West」を選択してください。最後に「価格レベル」を押下し「1GB」を選択してください。

選択すると下記の画面が表示されます。「OK」ボタンを押下してください。

「OK」ボタンを押下すると下記の画面が表示されますので、「作成」ボタンを押下してください。

「作成」ボタンを押下するとMicrosoft Azureの管理ポータル画面で「Web Appをデプロイしています」というメッセージがしばらく表示されます。

「Web App」が問題なく作成すると下記の画面が表示されます。



ここで、画面の右ペインから「アプリケーション設定」を選択してください。選択すると下記の画面が表示されます。今回は、JavaのWebアプリケーションをJettyという実行環境(Webコンテナという)上で動作させます。「Javaバージョン」から「Java 8」を選択し、「Javaマイナーバージョン」で「最新」を選択してください。次に「Webコンテナ」から「Jetty 9.1.0v20131115」を選択してください。また将来的に、WebSocketのアプリケーションを作成するため、「Webソケット」を「オン」に設定してください。最後に画面上部の「保存」ボタンを押下してください。以上で、Microsoft Azure 上でJettyを動作させる環境が整いました。

次に、Microsoft Azureの管理ポータルから「Web App」のトップページに移動します。ここで「FTP/デプロイメント ユーザ名」に対するパスワードを設定します。「すべての設定」から「デプロイ資格情報」を選択してください。すると下記の画面が表示されます。ここで「パスワード」、「パスワードの確認」に同じパスワードを入力して最後に「保存」ボタンを押下してください。



新しいパスワードは 8 ~ 60 文字でなければなりません。また、次のうちの 2 つの文字グループの文字を含んでいる必要があります:
グループ 1: 大文字 (A ~ Z)、
グループ 2: 小文字 (a ~ z)、
グループ 3: 数字

FTP接続用のパスワード設定が完了したのち、実際にFTPを利用してMicrosoft Azureに接続できるかを確認します。管理ポータルから「プロパティ」を選択してください。選択するとプロパティの一覧が表示されますので、「FTPホスト名」の右にあるボタンを押下してください。押下するとクリップボードにFTPホスト名がコピーされます。

次に、Windows、もしくは Mac のターミナルからコマンドを実行します。Windowsの場合、「コマンドプロンプト」を起動してください。コマンドプロンプトはスタートメニューから「Command」と入力することで検索できます。下記のアイコンが表示されたらアイコンを押下してください。

「コマンドプロンプト」を起動すると下記の画面が表示されます。ここで、ftpコマンドを実行してMicrosoft Azureに接続します。

「FTPホスト名」はご自身の環境に合わせて記入してください。「コマンドプロンプト」の左上のアイコンから「編集(E)」→「貼り付け(P)」でクリップボードにコピーしたFTPホスト名をコマンドプロンプトに貼り付けることもできます。※ 貼り付けを行う際は、「ftp://」の部分を削除してホスト名だけ記述してください。

具体的には、コマンドプロンプトで下記の太字で示したコマンドを実行して接続ができるか、コマンドを実行できるかを確認してください。

$ ftp waws-prod-os1-001.ftp.azurewebsites.windows.net
Trying 138.91.24.26…
Connected to waws-prod-os1-001.drip.azurewebsites.windows.net.
220 Microsoft FTP Service
Name (waws-prod-os1-001.ftp.azurewebsites.windows.net:yoterada):
     yosshi2007-jetty\yosshi2007-dep
331 Password required
Password: [Azure ポータルで設定したパスワード]
230 User logged in.
Remote system type is Windows_NT.
ftp> ls
229 Entering Extended Passive Mode (|||10264|)
125 Data connection already open; Transfer starting.
10-13-15 10:49AM LogFiles
10-13-15 10:49AM site
226 Transfer complete.
ftp> cd site
250 CWD command successful.
ftp> ls
229 Entering Extended Passive Mode (|||10265|)
125 Data connection already open; Transfer starting.
10-13-15 10:49AM wwwroot
226 Transfer complete.
ftp> cd wwwroot
250 CWD command successful.
ftp> ls
229 Entering Extended Passive Mode (|||10271|)
125 Data connection already open; Transfer starting.
10-13-15 10:49AM 202392 hostingstart.html
226 Transfer complete.
ftp> quit

上記で、Microsoft Azure 上でJetty環境を構築し、FTPで接続できるようになりました。
 次に、ローカルのデスクトップ環境でJavaのWebアプリケーションを開発し、開発したアプリケーションをMicrosoft Azureに配備(デプロイ)します。まず、ローカルの環境でNetBeansを起動してください。
 NetBeans を起動したのち、新しいプロジェクトを作成します。下記の画面のようにNetBeansのメニューから「ファイル(F)」を選択し「新規プロジェクト(W)…」を押下してください。

選択すると下記の新規ポロジェクトを作成するためのウィザード画面が表示されます。ここで「カテゴリ(C) :」から「Maven」を選択し、「プロジェクト(P):」から「Webアプリケーション」を選択して「次 >」ボタンを押下してください。



ボタンを押下すると下記の画面が表示されます。ここで「プロジェクト名(N):」に「Azure-Jetty9-WebSocket-Chat」と入力し「次 >」ボタンを押下してください。



ボタンを押下すると下記の画面が表示されます。ここでは、ローカル・デスクトップ環境の実行環境とJava EEバージョンを指定します。今回は、何も変更せずに「終了(F)」ボタンを押下してください。



ボタンを押下するとしばらくして下記のような画面が表示されます。

NetBeansをインストールした直後に、Mavenプロジェクトを作成した場合、セントラル・レポジトリより大量のファイルを入手する必要があります。依存するファイルをすべて入手するために、下記の画面のようにプロジェクトを右クリックし「依存性でビルド」を実行してください。

「出力 — プロジェクトの作成」の部分に緑色の文字で「BUILD SUCCESS」と表示されれば成功です。

次に、本WebアプリケーションをJetty上で動作させるための設定を行います。「Webページ」のディレクトリを右クリックし「新規」を選択したのち「フォルダ…」を押下してください。

「フォルダ」を押下すると下記の画面が表示されます。ここで「フォルダ名(N):」に「WEB-INF」と入力し「終了(F)」ボタンを押下してください。

次に作成した「WEB-INF」フォルダを右クリックし「新規」を選択したのち、「その他…」を押下してください。

「その他…」を押下すると下記の画面が表示されます。ここで「カテゴリ(C):」から「XML」を選択し「ファイル・タイプ(F):」から「XMLドキュメント」を選び「次 >」ボタンを押下してください。

「次 >」ボタンを押下すると下記の画面が表示されます。ここで「ファイル名(N):」に「jetty-web」を記入し「次 >」ボタンを押下してください。



「次 >」ボタンを押下すると下記の画面が表示されます。「終了(F)」ボタンを押下してください。

「終了(F)」ボタンを押下するとXMLファイルが自動的に作成されます。作成されたXMLファイルの内容を一旦すべて削除し、下記を記載してください。

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
    <Set name="contextPath">/Azure-Jetty9-WebSocket-Chat</Set>
</Configure>

次に、統合開発環境からFTPでMicrosoft Azureにファイルを転送するための設定を行います。
 今回、Mavenというビルドツールを利用しています。Mavenは必要な情報やローカルのレポジトリを利用者のホームディレクトリ上で管理します (.m2ディレクトリ)。たとえば、Windows 環境の場合、「ローカルディスク」→「ユーザ」→「ユーザ名」→「.m2」にあります。

Mac OS/X環境の場合、「Machintosh HD」→「ユーザ」→「ユーザ名」→「.m2」にあります。

この「.m2」ディレクトリに移動したのち「FTPホスト」に対する接続設定をおこないます。「settings.xml」というファイルを下記の手順で作成してください。「.m2」ディレクトリに移動し、マウスを右クリックし「新規作成(X)」→「テキスト ドキュメント」を選択してください。

「テキスト ドキュメント」のファイル名を、まずは「settings.txt」として保存し、下記の内容を記載してください。

記入内容の例(***** は Microsoft Azureで設定したパスワード)

<settings>
    <servers>
        <server>
            <id>ftp-repository</id>
            <username>yosshi2007-jetty\yosshi2007-dep</username>
            <password>********</password>
        </server>
    </servers>
</settings>

テキストの編集が終わったのち、別名でファイルを保存します。メニューより「ファイル」→「名前をつけて保存(A)…」を押下してください。

「名前を付けて保存(A)…」を押下すると下記の画面が表示されます。ここで、まず「ファイルの種類(T):」を「すべてのファイル」に変更してください。そして次に、「ファイル名(N):」に「settings.xml」と記載し「保存(S)」ボタンを押下してください。

「settings.xml」を作成したら、テキストファイルは不要ですので削除しておきます。「settings.txt」を右クリックし「削除(D)」を押下してください。

ここまでの設定を正しく完了すると「.m2」ディレクトリには「repository」ディレクトリと「settings.xml」ファイルの2つが存在しています。

FTPへの接続設定が終わったのち、NetBeansの画面に戻ってください。「settings.xml」ファイルが正しく作成されている場合、NetBeansの環境からも「settings.xml」ファイルが参照できるようになります。

上記でFTPホストへの接続用の設定が完了です。

次に、Mavenプロジェクトの構成を行います。プロジェクトの構成をおこなうためMavenではPOM(Project Object Model) を設定します。今回NetBeansでMavenプロジェクトとしてプロジェクトを作成しましたので、すでに「プロジェクト・ファイル」の配下に設定用のファイル「pom.xml」ファイルが存在しています。このファイルを修正してください。

今回、プロジェクトをコンパイルしてビルドした後、自動的にFTPホストに対して成果物を転送するように設定します。pom.xml に追加する XML のコードは下記でハイライトした2箇所です。特に、ftp://waws-prod-os1-001.ftp.azurewebsites.windows.netと記載している箇所は注意してください。ここに記載する内容は、Microsoft Azureのポータルで記載されたFTPホスト名を指定します。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.mycompany</groupId>
    <artifactId>Azure-Jetty9-WebSocket-Chat</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>Azure-Jetty9-WebSocket-Chat</name>

    <properties>
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    
    <dependencies>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ftp</artifactId>
                <version>1.0-beta-3</version>
            </extension>
        </extensions>
        <plugins>
            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>9.1.0.v20131115</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>wagon-maven-plugin</artifactId>
                <version>1.0-beta-3</version>
                <executions>
                    <execution>
                        <id>upload-war</id>
                        <phase>install</phase>
                        <goals>
                            <goal>upload</goal>
                        </goals>
                        <configuration>
               <fromDir>${basedir}/target</fromDir>
    <includes>${project.build.finalName}.war</includes>
                            <url>
  ftp://waws-prod-os1-001.ftp.azurewebsites.windows.net
              </url>
            <toDir>/site/wwwroot/webapps/</toDir>
                         <serverId>ftp-repository</serverId>
                        </configuration>
                    </execution>
                </executions>
            </plugin>  
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <compilerArguments>
                        <endorseddirs>${endorsed.dir}</endorseddirs>
                    </compilerArguments>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${endorsed.dir}</outputDirectory>
                            <silent>true</silent>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>javax</groupId>
                                    <artifactId>javaee-endorsed-api</artifactId>
                                    <version>7.0</version>
                                    <type>jar</type>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>


「pom.xml」ファイルを修正したのち、NetBeansのプロジェクトを確認すると下記のような画面が表示されています。MavenのプロジェクトからFTPコマンドを実行するためのライブラリ(wagonのプラグイン)が不足しているため、プラグインのライブラリを利用できるようにMavenのセントラル・レポジトリから必要なファイルを入手してください。ライブラリを入手するために、プロジェクトを右クリックしたのち「依存性でビルド」を押下してください。

「依存性でビルド」を実行すると必要なファイルを自動的にネットワーク経由で入手しビルドを実行します。また、ビルドが完了すると指定したFTPホストに対して自動的にファイルを転送します。すべての作業が成功すると緑色の文字で「BUILD SUCCESS」と表示されます。

以上で、NetBeansのプロジェクトのビルドからFTPホストへのファイル転送までが完了です。実際に作成したプロジェクトがサーバ上で利用できるようになっているか確認しましょう。
Microsoft Azure のポータル画面から、「http://」ではじまるURLのリンクを押下してください。

リンクを押下するとブラウザが起動し自動的に下記の画面が表示されます。下記のように表示されていれば成功です。

次に、作成した Web アプリケーションのアドレス(コンテキスト・ルート)に対して接続してください。

アクセスするURLの例
http://azure-hostname.azurewebsites.net/Azure-Jetty9-WebSocket-Chat/

アクセスするとデプロイしたアプリケーションのトップページが表示されます。

次に、NetBeansに戻り、index.htmlファイルを押下したのち、<h1>Hello World !</h1>と記載されている箇所を<h1>こんにちは 世界!</h1>と修正してください。



ファイルを修正したのち、プロジェクトを右クリックし「ビルド」を押下してください。

「ビルド」を選択すると自動的にビルドが実行されFTPホストに対してファイル転送がおこなわれます。正常にビルドが完了すると緑色の文字で「BUILD SUCCES」が表示されます。

「BUILD SUCCESS」が表示されたのち、ブラウザで再読み込みをしてください。下記のように修正した内容が反映されていれば成功です。

今回は、Microsoft Azureと統合開発環境で作成したアプリケーションを連携するための設定を行いました。上記の設定が完了すると、ビルドを実行するたびに自動的にWebアプリケーションを更新できるようになります。

2015年10月16日 at 5:24 PM コメントをどうぞ

Microsoft のエバンジェリストの SNS 関連リンク一覧


日本マイクロソフトには非常にたくさんのエバンジェリストがいらっしゃいます。その皆様の SNS へのリンクがまとまってあるといいなぁと個人的に思っていましたが、無かったので作りました (順次追記予定)。

私のブログを閲覧されている Java 愛好者の皆様は、ご存知ない MS のエバンジェリストもいらっしゃるのではないかと思います。

下記は、個人的なお立場で情報発信をなさっている方もいらっしゃいますが、ぜひ、MS のエバンジェリストの皆様をチェックしていただければ幸いです。

お名前 担当  SNSへのリンク
荒井 省三 全般 Blog: http://blogs.msdn.com/b/shozoa/
安納 順一 Active Directory Blog : http://blogs.technet.com/b/junichia/
砂金 信一郎 スタートアップ、学生、Azure、IoT、機械学習中心に全般 Blog:http://blogs.itmedia.co.jp/isago/
Twitter : https://twitter.com/shin135
FaceBook : https://www.facebook.com/shin135
SlideShare : http://www.slideshare.net/shin135
伊藤かつら 統括本部長 Twiter : https://twitter.com/kazekaoru5gatu
井上 章 .NET/Visual
Studio/Web Application 関連
Blog:http://aka.ms/chack
Twitter : https://twitter.com/chack411
FaceBook : https://www.facebook.com/chack411
docs.com : https://docs.com/inoue-akira
SlideShare : http://www.slideshare.net/chack411
GitHub : https://github.com/chack411
井上 大輔 Microsoft Edge関連 Blog:http://aka.ms/daisukei
Twitter : https://twitter.com/daisukei777
FaceBook : https://www.facebook.com/daisukei777
docs.com : https://docs.com/inoue-daisuke
SlideShare : http://www.slideshare.net/daisukei
牛尾 剛
鵜木 健栄
太田 寛 IoT 関連 Blog: http://blogs.msdn.com/hirosho
Twitter: https://twitter.com/embedded_george
docs.com:https://docs.com/ota-hiroshi
大田 昌幸 Machine Learning, Data Platform, Office 開発 Blog : http://nt-d.hatenablog.com/
Twitter : https://twitter.com/masota0517
docs.com : https://docs.com/masota
SlideShare : http://www.slideshare.net/masayuki1986
大西 彰 部長 Blog: http://blogs.msdn.com/b/aonishi
Twitter: https://twitter.com/oniak3
facebook: https://www.facebook.com/akira.onishi
doc.com: https://docs.com/onishi-akira
SlideShare: http://www.slideshare.net/oniak3
Channel9: https://channel9.msdn.com/Niners/oniak3
大森 彩子 Azure 関連全般 Blog: http://blogs.msdn.com/b/bluesky/
SlideShare: http://www.slideshare.net/ayomori
Twitter(madokumo): https://twitter.com/madokumo
Channel9(madokumo): https://channel9.msdn.com/Series/madokumo
佐藤 直樹 .NET/Visual Studio/UWP/
Azure/Office 365 など全般
Blog:http://aka.ms/naokis
Twitter : https://twitter.com/nksato
SlideShare : http://www.slideshare.net/nksato
GitHub : https://github.com/nksato
佐藤 直生 Azure, Data Platform 関連 Blog:https://satonaoki.wordpress.com/
Twitter : https://twitter.com/satonaoki
FaceBook : https://www.facebook.com/satonaoki
docs.com : https://docs.com/satonaoki
SlideShare : http://www.slideshare.net/satonaoki
鈴木 章太郎 .NET,Visual Studio,UWP,
iOS/Android アプリ開発,
Cross-Platform アプリ開発,
Azure,Office 365 など全般
Blog: http://blogs.msdn.com/b/shosuz
Blog: http://blogs.itmedia.co.jp/shosuz/
Twitter: https://twitter.com/shosuz
facebook: https://www.facebook.com/shosuz
docs.com: https://docs.com/suzuki-shotaro
SlideShare: http://www.slideshare.net/shosuz
田中 達彦 全般 Blog:http://blogs.msdn.com/b/ttanaka/
FaceBook : https://www.facebook.com/tatsuhiko.tanaka.37
docs.com : https://docs.com/ttanaka
SlideShare : http://www.slideshare.net/tatsuhikotanaka37/
高添 修 WIndows Server/Hyper-V 関連 Blog:http://blogs.technet.com/b/osamut/
Facebook:https://www.facebook.com/osamu.takazoe
SlideShare:http://www.slideshare.net/ssuser58fb08/edit_my_uploads
高橋 忍 Windows 関連全般, Windows Mobile 関連 Blog:http://blogs.msdn.com/b/shintak
Twitter:https://twitter.com/shinoblogavi
Facebook:https://www.facebook.com/shinoblogavi
docs.com:https://docs.com/user557050
寺田 佳央 Java 関連 Blog:http://yoshio3.com
Twitter : https://twitter.com/yoshioterada
FaceBook : https://www.facebook.com/yoshio.terada
docs.com : https://docs.com/terada-yoshio
SlideShare : http://www.slideshare.net/tyoshio2002
YouTube : https://www.youtube.com/user/tyoshio2002
戸倉 彩 アカデミック, クラウド関連 Blog:http://blogs.msdn.com/b/ayatokura/
Twitter : https://twitter.com/ayatokura
FaceBook : https://www.facebook.com/aya.tokura21
docs.com : https://docs.com/tokura-aya
SlideShare : http://www.slideshare.net/ayatokura
西脇資哲 業務執行役員 Twitter : https://twitter.com/waki
Facebook : https://www.facebook.com/mnishiwa
野村 一行
畠山 大有 コンテンツ (メディア – サーチ)、
Azure Marketplace
Blog: https://daiyuhatakeyama.wordpress.com/
Twitter: https://twitter.com/dahatake
Facebook: https://www.facebook.com/dahatake
docs.com: https://docs.com/dahatake
Slideshare: http://www.slideshare.net/dahatake
Github: https://github.com/dahatake/
久森 達郎 Cloud, Server Side, Data Platform Blog: http://myfinder.hatenablog.com
Twitter: https://twitter.com/myfinder
Facebook: https://www.facebook.com/tatsuro.hisamori
Docs.com: https://docs.com/hisamori-tatsur
Slideshare: http://www.slideshare.net/myfinder
増渕 大輔 スタートアップ、Azure、BtoC 系 Web の性能設計 Twitter: https://twitter.com/dmasubuchi
Facebook: https://facebook.com/dmasubuchi
Slideshare http://slideshare.net/dmasubuchi
松崎 剛 全般 Blog:http://blogs.msdn.com/b/tsmatsuz
Twitter : https://twitter.com/tsmatsuz
FaceBook :https://www.facebook.com/tsuyoshi.matsuzaki.16
GitHub : https://github.com/tsmatsuz/
物江 修 Web ブラウザー、
UWA (HTML + JavaScript)
Blog : http://blogs.msdn.com/b/osamum/
Twitter : https://twitter.com/osamum_MS
SlideShare : http://www.slideshare.net/osamum
Robbins Andrew Director, Technical Evangelism Blogs : http://drewby.com
Twitter : https://twitter.com/drewrobbins
FaceBook : https://www.facebook.com/drew.robbins
BitHub : https://github.com/drewby
渡辺 弘之 アカデミック, クラウド関連 Blog (Academic): http://blogs.msdn.com/b/microsoft_japan_academic/
Blog : http://blogs.msdn.com/b/hiwatan/
Facebook: https://www.facebook.com/hwata007
Twitter: https://twitter.com/hiwatan007

(※ あいうえお順)

2015年10月15日 at 7:46 PM コメントをどうぞ

【学生さま向け】Java Web アプリケーション開発の準備 (JDK&NetBeansのインストール)


先日、DreamSpark プログラムについて紹介しました。本エントリでは具体的に、Azure 上で Web アプリケーションを動かすための開発環境の準備についてご紹介します。
DreamSpark プログラムについて
Microsoft Azure for DreamSparkプログラムの登録方法のご紹介

これから、DreamSpark で提供されるMicrosoft Azure Web Appsを利用してJavaのWebアプリケーションを作成します。Javaのアプリケーションを作成するために、まずは自分のパソコンに JDKと統合開発環境をインストールしてください。自分のパソコンで開発したアプリケーションを FTP を使って Azure 環境にコピーする方法を、本エントリと次のエントリで紹介します。(※ FTP 以外の方法もありますが今回は簡単にするため FTP を使用します。)

JDK 8u60は下記のURLから入手することができます。URLにアクセスしてください。
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
すると下記の画面が表示されます。ここで「Accept License Agreement」のチェックボックスにチェックをつけ、インストールする対象のシステム用のJDKのリンクを押下してください。
Java SE Development Kit 8 の入手
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

リンクを押下すると、Windows系OSの場合、下記のダイアログが表示されます。ここでは「保存(S)」ボタンを押下してください。

保存ボタンを押下すると、ダウンロードが始まります。ファイルをすべてダウンロードしたのち、「ダウンロード」ディレクトリを開いてください。ダウンロードが完了するとディレクトリ上にファイルが保存されていります。ここで、マウスの右クリックをして「管理者として実行(A)」を選択してください。

選択すると下記の画面が表示されます。JDKのインストールを行いますので、「はい(Y)」ボタンを押下してください。

ボタンを押下すると、JDKインストーラのウィザード画面が表示されます。このウィザードではインストールに必要な設定やオプションを指定することができます。ウィザード画面をすすめるため「次(N) >」ボタンを押下してください。

ボタンを押下すると下記の画面が表示されます。今回はデフォルト設定でインストールを行うため、そのまま「次(N) >」ボタンを押下してください。

ボタンを押下すると、ファイルのコピーが始まります。

必要なファイルをコピーしたのち、下記の画面が表示されます。ここではJRE (Java実行環境)のインストール場所を指定します。ここでもデフォルトの設定を利用するため、「次(N) >」ボタンを押下してください。

ボタンを押下すると、実際にJDKのインストールが始まります。
すべてのインストールが正常に完了すると下記の画面が表示されます。正常に完了した場合、「閉じる (C)」ボタンを押下してください。

JDK のインストールが完了したのち、Java の統合開発環境をインストールします。今回、統合開発環境としてNetBeans を利用します。NetBeans は下記のURLから入手できます、ブラウザからURLにアクセスしてください。
https://netbeans.org/downloads/?pagelang=ja

ブラウザでアクセスすると下記の画面が表示されます。
https://netbeans.org/downloads/?pagelang=ja

今回、JavaでWebアプリケーションを開発するため、サポートテクノロジーとして「Java EE」を選択します。Java EEの「ダウンロード(無償, 186MB)」のボタンを押下してファイルを入手してください。ダウンロードが完了すると「ダウンロード」ディレクトリを開いてください。下記のファイルが保存されています。ここでNetBeansをインストールするために、「netbeans-8.0.2-javaee-windows」のアイコンを右クリックして「管理者として実行(A)」を選択してください。

選択すると、NetBeans のインストーラが起動し下記の画面が表示されます。NetBeansをインストールするため「はい(Y)」ボタンを押下してください。

ボタンを押下すると、NetBeansのインストーラのウィザード画面が表示されます。今回、Apache Tomcat 8.0.15のインストールは不要ですので、デフォルトの設定のまま「次 (N)」ボタンを押下してください。

ボタンを押下すると下記の画面が表示されます。NetBeansの使用許諾契約書の内容に同意が求められますので「ライセンス契約条件に同意する(A)」にチェックし「次 (N) >」ボタンを押下してください。

ボタンを押下すると下記の画面が表示されます。NetBeans上でJUnitを利用するために、JUnitの使用許諾、インストールの有無を確認します。ここでは「ライセンス契約条件に同意する (A)。JUnitをインストール」にチェックし「次(N) >」ボタンを押下してください。

ボタンを押下すると下記の画面が表示されます。下記は、NetBeansのインストール先のディレクトリ名と、インストール済みのJDKの場所を指定します。デフォルトの設定に従いインストールを行うため、「次 (N) >」ボタンを押下してください。

ボタンを押下すると、下記の画面が表示されウィザードの設定内容をサマリーで表示します。特に設定内容に問題がない場合は「インストール (I)」ボタンを押下してください。

ボタンを押下するとインストールが始まります。

インストール時に特に問題がなく正常に完了すると下記の画面が表示されます。「終了 (F)」ボタンを押下してインストールを完了してください。

NetBeanのインストールが完了すると、デスクトップ上にNetBeansのアイコンがコピーされます。このアイコンをダブルクリックすることでNetBeansを起動することができます。

「NetBeasns IDE 8.0.2」のアイコンをダブルクリックしてください。ダブルクリックすると下記の画面が表示されます。

以上で、JDKとNetBeansのインストールは完了です。次回からWebのアプリケーション開発していきましょう。

2015年10月15日 at 5:59 PM コメントをどうぞ

過去の投稿


ご注意

このエントリは個人の見解であり、所属する会社の公式見解ではありません

JavaOne

カレンダー

2016年2月
M T W T F S S
« Jan    
1234567
891011121314
15161718192021
22232425262728
29  

カテゴリー

Twitter

  • RT @tappatan: 連れも同程度らしく、別れろ別れろ言ってて、 『うん、だからぁ、それで昨日メールで別れるって送ってその後着拒したぁwww』 とか答えてて噴いた。 隣のテーブルの人と目が合ったんだけど無言で頷き合い、彼氏の今後を祝福した。 20 hours ago
  • RT @tappatan: カフェで後ろの女子集団の会話聞こえてきた。 『カレシがぁ、なんかぁ、日本電気?とかいう電気屋に就職するとか言っててぇ、そこらの電気屋とか有り得なくない?』 えっ。 20 hours ago
  • NECが一位になった理由はこれだったんですね。(^_^;) news.careerconnection.jp/?p=20699 20 hours ago
  • RT @asahi: 【速報】鹿児島の桜島で噴火が発生した、との噴火速報を福岡管区気象台が出した asahi.com 1 day ago
  • 桜島で噴火? 1 day ago

clustermap

ブログ統計情報

  • 784,076 hits

Feeds


フォロー

新しい投稿をメールで受信しましょう。

現在5,294人フォロワーがいます。