PowerPoint プレゼンテーション

V1.03
クラウドアプリケーション
開発概要
株式会社名古屋ソフトウェアセンター
研修事業部 次長 林 広宣
(はやし ひろのり)
MCT、MCPD、OCJ-WC
株式会社名古屋ソフトウェアセンター
1
講座の概要
クラウドの種類
 クラウドアプリケーション開発の範囲
 クラウドプラットフォーム(プロバイダ)
 開発環境
 開発の例と管理ポータル(運用環境)

株式会社名古屋ソフトウェアセンター
2
第1章 クラウドの種類
SaaSタイプ
PaaSタイプ
IaaS/HaaSタイプ
完成したソフトウェ
ア
を提供
開発・実行環境とな
るプラットフォーム
を提供
仮想ハードディスク
を提供
アプリケーション
アプリケーション
OS & ミドルウェア
OS & ミドルウェア
OS & ミドルウェア
ハードウェア
ハードウェア
ハードウェア
ネットワーク
ネットワーク
ネットワーク
SaaS
PaaS
IaaS/HaaS
カスタマイズ
アプリケーション
株式会社名古屋ソフトウェアセンター
ユーザー企業側で準備するもの
事業者(Amazon/Google等)が提供するもの
3
クラウド環境全般の特徴

提供者が管理


可用性が高い(複数インスタンス)


ハードウェアの管理などが不要
アメリカとアジアに分散配置
スケーラビリティが高い

夏期はスケールアウト、冬季はスケールダウン
株式会社名古屋ソフトウェアセンター
4
Iaasの特徴
インターネット経由のハードウェアやイン
フラの提供。
 サーバー仮想化やデスクトップ仮想化や
共有ディスクなど。
 ユーザーが自分でOSなどを含めてシス
テム導入・構築できる。
 Amazon.comのAmazon EC2など。

株式会社名古屋ソフトウェアセンター
5
Iaasをターゲットとした開発
OSの選択(Windows, Linux, etc)
 データベースなどミドルウェアのインス
トール(MySQL、MS-SQLなど)
 冗長化・可用性などの設計が必要
 そのうえでアプリケーションを配置
 自由度は高いが、構築が大変

株式会社名古屋ソフトウェアセンター
6
Paasの特徴




インターネット経由のアプリケーション実行用のプ
ラットフォームの提供。
仮想化されたアプリケーションサーバやデータベー
スなども提供される。
ユーザーが自分のアプリケーションを配置して運用
できる。
セールスフォース・ドットコムのForce.comプラットフォーム、
GoogleのGoogle App Engine、AppScale、マイクロソフトの
Windows Azure、Amazon.comのAmazon S3やAmazon
DynamoDBやAmazon SimpleDBなど。
株式会社名古屋ソフトウェアセンター
7
Paasでの開発
OS、DBなどはインストール済み
 Webアプリケーション、Webサービスな
どを開発(天気予報、地図、株価など)
 サービスを公開する場合は、API
(REST/JSON)仕様を公開する
 クライアントの開発も必要な場合がある

株式会社名古屋ソフトウェアセンター
8
Saasの特徴



インターネット経由のソフトウェアパッケージ
の提供。
電子メール、グループウェア、CRMなど。
セールスフォース・ドットコムのSalesforce CRM、マ
イクロソフトのMicrosoft Online Services、Google
のGoogle Appsがある。
株式会社名古屋ソフトウェアセンター
9
Saasの例

ストレージ提供型


SkyDrive, iCloud, DropBox, EverNote
サービス提供型


Google+, Twitter, Facebook, Yahoo 等
既存のSNSやWebサイトが、開発者向けの
APIを提供している場合が多い
株式会社名古屋ソフトウェアセンター
10
Saasでの開発




必要な機能を必要な分だけサービスとして利
用できるようにしたWebサイト
主にストレージ提供型とサービス提供型があ
る
PaaS+(Webサービス and/or Webアプリ
ケーション)と考えればよい
REST/JSONのクライアント作成が主な作業
株式会社名古屋ソフトウェアセンター
11
第2章
クラウドアプリケーション開発の範囲

クラウド側(サーバー)アプリケーション



Webアプリケーション(http)
Webサービス(SOAP, REST, JSON)
クライアントアプリケーション


デスクトップ
スマートフォン、など
株式会社名古屋ソフトウェアセンター
12
Webアプリケーション
Paas上で、エンドユーザー向けに提供
 自社サーバーあるいはデータセンターに
Webサイトを構築するのとほぼ同じ
 メリットは、クラウドの特性の享受


可用性、拡張性、メンテナンスフリー
株式会社名古屋ソフトウェアセンター
13
Webサービス

Paas上で、クライアント開発者向けに提供
SOAP, REST, JSON形式を出力
 クライアント言語は、Java, .NET, Ruby
など多くが対応
 クライアントプラットフォームも、
Windows, UNIX/Linux, iOS, Android,
Windows Phone など多数

株式会社名古屋ソフトウェアセンター
14
Webサービスの標準規格
WS-I(Web Service Interoperability)
Organization が標準化
 主に、SOAP関連のプロトコル

 SOAP,
WSDL, UDDI
 セキュリティ、トランザクション、暗号化など
株式会社名古屋ソフトウェアセンター
15
SOAP
XML形式で、オブジェクトのメソッドコー
ルを行う方式
 SOAP対応のライブラリなどが必要
 元来、Simple Object Access Protocol
の略だったが、現在は、SOAPは単体の
単語とされている。
 WSDL, UDDIなどの関連プロトコル

株式会社名古屋ソフトウェアセンター
16
SOAPの例
<SOAP-ENV:Envelope xmlns:SOAPENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<getProductDetails xmlns="http://warehouse.example.com/ws">
<productId>827635</productId>
</getProductDetails>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
株式会社名古屋ソフトウェアセンター
17
REST
Representational State Transfer
 SOAPよりも簡易なしくみ




通常のXML文書とほぼ同じ
SOAPよりも形式が自由
SOAPよりも少ないトラフィック
 ブラウザだけでも試すことができる
株式会社名古屋ソフトウェアセンター
18
RESTの例
http://www.example.com/myrequest?userid=1234
<user>
<name>Jane User</name>
<gender>female</gender>
<location href="http://www.example.org/locations/us/ny/new_york_city">
New York City, NY, US
</location>
</user>
株式会社名古屋ソフトウェアセンター
19
JSON
JavaScript Object Notation
 RESTをさらに簡略化したしくみ



RESTからXML形式を取り除いたもの
特殊な記号を使う
 Ajaxなど利用範囲は広い
株式会社名古屋ソフトウェアセンター
20
JSONの例
http://www.example.com/myrequest?userid=1234
{"name": "John Smith", "age": 33}
株式会社名古屋ソフトウェアセンター
21
クライアントアプリケーション
Webサービスクライアント
 SOAP or REST or JSON でやりとり
 クライアント言語は、Java, .NET, Ruby
などを使用
 クライアントプラットフォームも、
Windows, UNIX/Linux, iOS, Android,
Windows Phone など多数

株式会社名古屋ソフトウェアセンター
22
第3章
主なPaaSプラットフォーム






Amazon Web Services
Force.com(Salesforce.com)
富士通クラウドサービス
(FGCP/A5)
GMO クラウド Public
Google App Engine
IBM SmarterCloud Services






Nifty Cloud
NTTデータ BizXaaS
NTT コミュニケーションズ
Cloud n
Oracle Public Cloud
さくらのクラウド
Windows Azure
(IaaS機能を提供しているプロバイダも含む)
株式会社名古屋ソフトウェアセンター
23
Amazon Web Services(AWS)
2002年7月~
 EC2

 仮想サーバーの提供

DB
 SimpleDB
 DynamoDB
株式会社名古屋ソフトウェアセンター
24
Force.com




セールスフォース・ドットコム社
が運営
PaaSは、2007年から
Force.com Apex Code言
語を利用。(Javaライク)
Google App Engine、
Amazon Web Service、
Facebookなどとの連携も
サポート。
株式会社名古屋ソフトウェアセンター
25
Nifty Cloud
2010年1月~
 IaaSも提供
 VMWareを利用
 国内サーバー

株式会社名古屋ソフトウェアセンター
26
GAE(Google App Engine)

2008年4月~

Python, Java, Go

BigTable(非リレーショナル)


列指向(行ではなく)
扱いにやや苦労する
株式会社名古屋ソフトウェアセンター
27
Windows Azure
2010年1月~
 Windows Server
2008とHyper-Vをカ
スタマイズして実装
 SQLデータベース
 2012/6よりIaaSも

株式会社名古屋ソフトウェアセンター
28
第4章 開発環境

言語
 Java,
Ruby, Python, VB/C#, Apex,
PHP,GOなど

ツール
 Eclipse,
NetBeans, Visual Studioなど
 これらにSDKをインストール
株式会社名古屋ソフトウェアセンター
29
Eclipse(GAEの例)
http://www.eclipse.org
 必要なら日本語化(Pleiadesなど)
 GAEプラグイン(SDK)のインストール

 http://dl.google.com/eclipse/plugin/3.x
株式会社名古屋ソフトウェアセンター
30
GAEの場合
Google アカウントを取得
 サービスで、Google App Engineを選択

 あるいは次のサイトへ
https://appengine.google.com/start
 https://developers.google.com/appengine/

株式会社名古屋ソフトウェアセンター
31
アプリケーションIDの作成

管理ポータルで、アプリケーションIDを
作成しておく。
↓
デプロイ時
に必要
株式会社名古屋ソフトウェアセンター
32
Visual Studio(Windows Azure)
Visual Web Developer Expressで可能
 Windows Azure Toolkit(SDK)

株式会社名古屋ソフトウェアセンター
33
Windows Azureの場合

Windows Live IDを取得

MSDNのサイトで「クラウド」関連のページへ
 あるいは次のサイトへ

http://www.windowsazure.com/ja-jp/
株式会社名古屋ソフトウェアセンター
34
第5章 開発例
EclipseでGAEのWebアプリケーション
 Visual Studioで、Windows Azureの

 Webアプリケーション
 Webサービス
 クライアント
株式会社名古屋ソフトウェアセンター
35
実習
株式会社名古屋ソフトウェアセンター
36
管理ポータル

GAEの管理ポータル
 https://appengine.google.com/

Windows Azureの管理ポータル
 (新)https://manage.windowsazure.com/
 (旧)https://windows.azure.com/
株式会社名古屋ソフトウェアセンター
37
今回の資料の入手場所
http://www.nagoya-sc.co.jp/support/seminar




ソースコードなど
プレゼンテーションで使用した資料など
質問の回答(もしあれば)
3か月ほど経過後、削除します
株式会社名古屋ソフトウェアセンター
38
ありがとうございました。
株式会社名古屋ソフトウェアセンター
39