オープンソースとマイクロソフトの良い関係 ~ Node.js の Azure 対応 ~

Slides:



Advertisements
Similar presentations
© 2007 Autodesk1 ProjectPoint API 概要 AEC ソリューション CPM オートデスク株式会社.
Advertisements

プラグイン作成講座 Control System Studio 3.0 Takashi Nakamoto
マイクロソフトがホスティングする拡張性に優れたサービス ベース アプリケーション プラットフォーム.
Windows Azure ハンズオン トレーニング Windows Azure Web サイト入門.
BBT 大学 Ruby on Rails 開発環境セットアップマニュアル Mac 版 1.1 最終更新日: 2013/1/5.
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
BBT大学 Ruby on Rails開発環境セットアップマニュアル
ASP入門 - Windows 2000 Server 活用 -.
IIS 4.0で開発をするコツ Webアプリケーション構築.
WindowsAzure でのアプリ開発 けんちゃん.
インターネット ショップを開設するための要件
Windows HPC Server を使ってみる
D&UNITE 株式会社 代表取締役 株式会社 T-Planning 取締役 Microsoft MVP for ASP.NET/IIS
D2-301 現時点の本資料は 完成版のスライドではありません。
PROCESS 14:一般情報(2) InstallShieldLecture
Windows Azure の今 ここまでできるを知る!
計算機工学III オペレーティングシステム #14 ファイル: より進んだファイルシステム 2006/07/21 津邑 公暁
2004年度 サマースクール in 稚内 JSFによるWebアプリケーション開発
Samba日本語版の設定と運用のノウハウトラブルシューティング編
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
クラウド上での リアルタイム・非同期・双方向通信アプリケーション開発基礎
WebDAVでOpenOffice.org の文章を共有する
Windows Azure 仮想マシン 入門.
CakePHPを業務に導入する Shin x blog 新原 雅司.
Windows Phone/iOS/Android から Windows Azure を利用する
Mavenによる プロジェクト管理 近畿大学理工学部 情報学科3年  小野実.
JavaServlet&JSP入門 01K0018 中村太一.
キャンパスクラウドによる 実験環境の構築 情報ネットワーク特論 講義資料.
Bottle/Pythonによる Webアプリ入門
JavaScript Language Update
ビューとコントローラ.
HTTPプロトコルとJSP (1) データベース論 第3回.
Windows Azure で作る ボットアプリ?
JQueryでAjax 藤田@ジャストプレイヤー ※参考しまくり文献 jQuery日本語リファレンス.
Curlの仕組み.
HTTPプロトコル J2EE I 第7回 /
Live Framework 入門 その2 JZ5(松江) 2009/8/22.
TA 高田正法 B10 CPUを作る 2日目 SPIMのコンパイル TA 高田正法
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
Windows Phone 7.5 の データ アクセスとクラウド連携
マイクロソフト株式会社 SAP/Microsoft コンピテンスセンター
11/9/2018 3:35 AM Windows Azure Platform ハンズオン トレーニング Windows Azure アプリケーション開発概要 ~ Windows Azure 入門編 ~ © 2007 Microsoft Corporation. All rights reserved.
建設・建築現場のデータもクラウドへ自動バックアップ!
FreeBSDインストール 2002年4月10日.
九州大学キャンパスクラウド 利用法 情報ネットワーク特論 講義資料.
Windows Azure で作る ボットアプリ?
Cisco Router GUI設定 CCPE3.2 紹介 本資料に記載の各社社名、製品名は、各社の商標または登録商標です。
Windows Azure (CTP) 触ってみた
Microsoftのマルチプラットフォーム戦略
表紙.
オープンソフトウェア利用促進事業 第3回OSSモデルカリキュラム導入実証
仕事: SystemVerilogを使いたい
Microsoft BizTalk Server & SAP PP モジュール 連携検証レポート概要
キャンパスクラウドによる 実験環境の構築 情報ネットワーク特論 講義資料.
Processing使用の準備.
Webプロキシ HTTP1.0 ヒント CS-B3 ネットワークプログラミング  &情報科学科実験I.
Windows Azure (CTP) 触ってみた
TA 高田正法 B10 CPUを作る   実験の前に TA 高田正法
Javaの有償化と各社の対応 ITソリューション塾・第29期 2018年11月21日 株式会社アプライド・マーケティング 大越 章司
手書き文字の自動認識アプリケーション 15K1013 坂本 倖輝
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
System.AddInを利用したアプリケーション拡張 - アドインの開発 -
Db2 Warehouse on Cloud Db2 on Cloud フルマネージドサービス提案時の注意点
WebアプリケーションとTomcat ― これまでの復習とこれからの予習 ―
システムプログラミング 第10回 プロセス間通信3 簡易Web server(準備) Chat プログラム 担当:青木義満、篠埜 功
Windows Azureの 料金体系 日本マイクロソフト株式会社.
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
System.AddInを利用したアプリケーション拡張 - アドインの開発 -
VPNクライアント接続 サーバー保守のための安全な経路+作業者単位のアクセス制御 簡単な図 (網羅性より象徴性)
HTTPプロトコルの詳細 M1 峯 肇史.
Presentation transcript:

オープンソースとマイクロソフトの良い関係 ~ Node.js の Azure 対応 ~ 株式会社野村総合研究所 共通基盤推進部 勇大地 D5-302

セッションの目的とゴール セッションの目的 Node.js のアプリ開発手法を学習する Azure 上で Node.js アプリを動作させる方法 を学習する セッションのゴール Node.js で簡単なアプリが開発できる Azure 上で Node.js アプリを運用できる

本日の内容 はじめに Node.js とは Node.js でアプリを作成する Azure 上で動作させるには まとめ

Node.js とは サーバサイド JavaScript の実装 他に Rhino や Aptana Jaxer 等がある ノンブロッキング I/O が無い マルチスレッドが無い

Windows Azure とは マイクロソフトのクラウドプラットフォーム Worker Role が外部プログラムの実行に適し ている Windows Azure SDK 1.5 から外部プログラ ムの実行が容易化 OSS での開発にも多数対応 Python、Ruby、Erlang 等での開発が可能 JavaScript ( Node.js )向けのライブラリ も提供

Windows Azure 上で Node.js 非同期 IO と ブロブ・ストレージの相性が良い 非同期的に処理が可能 アップロード等重い処理の対応に適している 運用の対応は不要 Windows Azure 上で稼働するため、OS レ ベルの運用はお任せ可能 CDN を利用することで、パフォーマンスの改 善も可能

本日の内容 はじめに Node.js とは Node.js でアプリを作成する Azure 上で動作させるには まとめ

Node.js について Windows 版のバイナリが提供開始 node.exe が入手可能 最新版は v0.57 Windows 版だとパッケージ管理機構 ( npm )が存在しない点には注意 以下のサイトで色々な情報が取得可能 Node.js 日本ユーザグループ http://nodejs.jp/

Node.js の機能(一部) ブラウザ上での実行でないため、色々出来る 標準入出力 ファイルシステム モジュール Net C / C++ アドオン プロセス 暗号化 TLS / SSL   等々・・・

簡単な起動方法 コード例( example.js ) アプリケーションを起動 var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8;' }); response.end(‘Node.js on Windows Azure \n'); }).listen(8080); アプリケーションを起動 > node.exe example.js

ファイルを操作する File I/O は全メソッド同期/非同期が存在し、 使い分けが可能(以下の例非同期メソッド) // ファイルストリームのインスタンスを作成 var fs = require('fs'); var read = fs.createReadStream('./read.txt'); // ファイルを読み込み、ファイルの内容を表示 read.on('data', function (data) { console.log(data.toString()); });

外部ライブラリを読み込む 組み込みライブラリは require(XXX) のみで利 用可能 外部ライブラリは環境変数の設定が必要 >set NODE_PATH=.;c:\\node\\lib >node.exe example_path.js 環境変数の設定が必要

本日の内容 はじめに Node.js とは Node.js でアプリを作成する Azure 上で動作させるには まとめ

今回利用するライブラリ 主要なライブラリは以下 ライブラリ名 概要 express Node.js で主流なテンプレートエンジン waz-storage.js Windows Azure の ストレージサービスを操作可能なライブラリ ※上記に依存したライブラリも必要

express の利用(1/2) 起動には以下のライブラリが必要 ライブラリ名 バージョン express 3.0.0alpha1 mine 1.2.4 qs 0.3.1 mkdirp 0.0.7 connect 1.7.0 ejs 0.4.3 commander 0.1.0 formidable 1.0.6 ※ formidable は POST を利用する場合に必要

express の利用(2/2) + ロジックとビューの分離 index.html user.html app.js var users = [ { name: 'tj', email: 'tj@sencha.com' } ]; //GET リクエストの処理 app.get('/', function(req, res){ console.log('/'); res.render('users', { users: users }); }); <h3>アカウント情報</h3> <ul id="users"> <%- partial('user', users) %> </ul> index.html + <li><%= user.name %> <<%= user.email %>></li> user.html app.js

waz-storage.js の利用(1/2) 起動には以下のライブラリが必要 ライブラリ名 バージョン waz-storage.js 0.1.2 xml2js 0.1.12 underscore 1.1.7 underscore.string 1.1.6 sax.js 0.2.5 ※注 Compute Storage は未サポート

waz-storage.js の利用(2/2) ストレージサービスを操作可能 // アカウント情報の初期化 var waz = require('waz-storage'); waz.establishConnection( { accountName: ‘accountname', accountKey: ‘accountKey', useSsl: true } ); //ブロブのアップロード waz.blobs.container.find('container1', function(err, container1) { var fs = require('fs');var stream = fs.createReadStream(path); var uploader = container1.upload(filename, stream, files.upload.type, {'x-ms-mymetadata': 'value'}, function(err, block) { }, function(err, blob) { }); });

本日の内容 はじめに Node.js とは Node.js でアプリを作成する Azure 上で動作させるには まとめ

Windows Azure での動作イメージ ロードバランサ側のポートと、インスタンス毎に 割り当てられるポートが異なる Worker ロール インスタンス 1 ストレージ サービス Internet Private Port ( 8080 ) Node.js を起動 ロードバランサ Worker ロール インスタンス 2 Public Port ( 80 ) Private Port ( 8080 ) Node.js を起動 ※注 Compute Storage では 1 インスタンスで起動すること

Windows Azure SDK 1.4以前 C# のコードから起動する var proc = new Process(); var procStartInfo = new ProcessStartInfo(); procStartInfo.FileName = Environment.GetEnvironmentVariable("RoleRoot") + @"\approot\node\node.exe"; procStartInfo.Arguments = Environment.GetEnvironmentVariable("RoleRoot") + @"\approot\node\example.js"; procStartInfo.UseShellExecute = false; proc.StartInfo = procStartInfo; proc.Start();

Windows Azure SDK 1.5以降 設定ファイルのみで対応可能 <WorkerRole name="WorkerRole1"> <Runtime> <Environment> <!– 環境変数の設定が必須 --> <Variable name="NODE_PATH" value=".;%RoleRoot%\approot\lib\node" /> </Environment> <!– Node.js アプリの起動 --> <EntryPoint> <ProgramEntryPoint commandLine="node/node.exe app.js" setReadyOnProcessStart="true" /> </EntryPoint> </Runtime>

ポートの設定 Public Port / Private Port を設定 ブラウザからアクセスするポートを指定

「出力ディレクトリにコピー」を設定 Node.js 関連のファイル全てに設定 「出力ディレクトリにコピー」を「新しい場合は コピーする」に変更する Node.js アプリの構成ファイル全てに設定する 指定しない場合、パッケージングされない Node.js 関連のファイル全てに設定

Compute Emulator で実行 Private Port で設定したポートにアクセス

ホスティッドサービスで実行 Public Port で設定したポートにアクセス

本日の内容 はじめに Node.js とは Node.js でアプリを作成する Azure 上で動作させるには まとめ

まとめ Windows Azure SDK 1.5 以降から、外部プロ グラムの実行が容易化 Node.js では様々な外部ライブラリを組み合わ せることが可能 Node.js 向けに提供された waz-storage.js ラ イブラリを利用することで、Windows Azure ストレージサービスを利用可能 Node.js 以外にも様々な OSS が利用可能

ご参考 Windows 上で npm の代替ツールが存在する 詳しくは本家サイトへ 利用方法例( express をインストール ) ryppi.py と呼ばれる Python ツール 詳しくは本家サイトへ https://github.com/japj/ryppi 利用方法例( express をインストール ) > python ryppi.py install express Installing http://registry.npmjs.org/express/-/express-2.4.7.tgz into .\lib\express ... Checking dependencies for express ...

関連セッション T2-206:実践クラウドのススメ ~ 今日からはじめる Windows Azure Platform D3-301:Windows Azure の今 : ここまでできるを知る! D3-303:Windows Phone/iOS/Android から Windows Azure を利用する D3-302:Windows Azure の真骨頂 : AppFabric を極める!

リファレンス Windows Azure Platform デベロッパー センター http://msdn.microsoft.com/ja-jp/windowsazure/ Windows Azure を無償で利用するには? http://msdn.microsoft.com/ja-jp/windowsazure/gg674969 Windows Azure Platform ダウンロード http://msdn.microsoft.com/ja-jp/windowsazure/cc974146 What’s New in Windows Azure http://msdn.microsoft.com/en-us/library/windowsazure/gg441573.aspx Worker Role Scheme http://msdn.microsoft.com/en-us/library/windowsazure/gg557552.aspx

ご清聴ありがとうございました アンケート にご協力 ください D5-302