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
© Copyright 2024 ExpyDoc