Oracle が Node.js をやり始めたというのだが!
@charlier_shoe
自己紹介
早川 博(はやかわ ひろし)
@charlier_shoe
• 日本オラクルのプリセールス・エンジニア
– 製品の情報展開/技術検証など、販売活動の技術的支援が
ミッション
– Java SE / Java EE / WebLogic / PaaS …
• (Node.js 初心者)
少しだけ、背景の話
Find the Next Business
Run the Current Business
Run the Back Office
New IT
Old IT
ソフトウェアへの新しいニーズ
* Kelly Goetsch | 「Oracle: Building Cloud Native Software」より一部改変
* ピーテル・フリューゲル 「バベルの塔」(1563年)
“Old” IT
 モノリシック(一枚岩)アー
キテクチャ
 時間をかけてテスト/慎
重にリリース
 統一された
- プロジェクト運営
- サービスライフサイクル
- 技術選択
* 大黒ふ頭
“New” IT
 軽量なサービス群で構成
- REST / 非同期メッセー
ジングで連携
 アジャイル
 サービス毎に自主的な
- プロジェクト運営
- サービスライフサイクル
- 技術選択
本題
Node Cloud / JET
本題
Node Cloud / JET
サーバーサイド クライアントサイド
Node Cloud
Oracle Node Cloud
Cloud 上の Node.js のランタイム
* Coming Soon…
* * *
Application Container Cloud ファミリーのひとつ
使い方
1. .zipに固める
アプリのファイル群 メタデータファイル
使い方
2. アップロード
Web GUI
REST
$ cd ~/quiz-master/_
$ cd ~/quiz-master/
$ tree -L 2 .
.
├── app.js
├── bower.json
├── deployment.json
├── LICENSE.txt
├── manifest.json
├── package.json
├── public
│ ├── bower_components
│ ├── javascripts
│ └── stylesheets
├── README.md
└── views
├── guest.ejs
├── host.ejs
└── templates
6 directories, 7 files
$ cd ~/quiz-master
$ tree -L 2 .
.
├── app.js
├── bower.json
├── deployment.json
├── LICENSE.txt
├── manifest.json
├── package.json
├── public
│ ├── bower_components
│ ├── javascripts
│ └── stylesheets
├── README.md
└── views
├── guest.ejs
├── host.ejs
└── templates
6 directories, 7 files
デプロイメント構成ファイル(オプション)
ランタイム構成ファイル
$ clear
$ cat ./manifest.json
{
"runtime":{
"majorVersion":"0.12"
},
"command": "node app.js",
"release": {
"build": "150520.1154",
"commit": "d8c2596364d9584050461",
"version": "15.1.0“
},
"notes": "notes related to release"
}
$ clear
$ cat ./manifest.json
{
"runtime":{
"majorVersion":"0.12"
},
"command": "node app.js",
"release": {
"build": "150520.1154",
"commit": "d8c2596364d9584050461",
"version": "15.1.0“
},
"notes": "notes related to release"
}
ランタイムバージョン
起動コマンド
$ clear
$ cat ./deployment.json
{
"memory": "2G",
"instances": "1",
"environment": {
"NO_OF_CONNECTIONS":"25",
"TWITTER_ID":"JAVA“
}
}
$ clear
$ cat ./deployment.json
{
"memory": "2G",
"instances": "1",
"environment": {
"NO_OF_CONNECTIONS":"25",
"TWITTER_ID":"JAVA“
}
}
メモリ容量
インスタンス数
環境変数
$ zip -r quiz-master.zip ./*
使い方
3. スケールアウト
スケールアップ
Web GUIREST
価格
フリートライアル 最大60日
 従量課金: $00.10 / GB Mem / Hour
 月定額: $60.0 / GB Mem / Month
JET
Oracle JET
• JavaScript Extension Toolkit
• フロントエンド開発用の
JavaScript ライブラリ
JET = 5 OSSs × Oracle
JET = 5 OSSs × Oracle
Knockout.js
双方向データバインディング
jQuery
DOM 操作 + Ajax
jQuery UI
UI ウィジェット ファクトリ
RequireJS
JSリソース管理
Hammer
タッチ・ジェスチャー
JET = 5 OSSs × Oracle
データ検証・変換
SPA ルーティング
データモデル API
ローカライズ
レスポンシブ
レイアウト
UI コンポーネント
JET = 5 OSSs × Oracle
データ検証・変換
SPA ルーティング
データモデル API
ローカライズ
レスポンシブ
レイアウト
UI コンポーネント
バージョン管理
Oracle Alta UI
$ npm –g install yo grunt bower git grunt-cli_
$ npm –g install yo grunt bower git grunt-cli
$ npm –g install generator-oraclejet_
$ npm –g install yo grunt bower git grunt-cli
$ npm –g install generator-oraclejet
$ yo oraclejet myfirstjet --template=basic_
$ npm –g install yo grunt bower git grunt-cli
$ npm –g install generator-oraclejet
$ yo oraclejet myfirstjet --template=basic
$ tree -L 1 -r --sort size myfirstjet/
myfirstjet/
├── scripts
├── node_modules
├── js
├── css
├── bower_components
├── oraclejetconfig.json
├── bower.json
├── Gruntfile.js
├── package.json
├── index.html
└── npm-shrinkwrap.json
5 directories, 6 files
Develop!
* JET Cookbook
http://www.oracle.com/webfolder/technetwork/jet/uiComponents-formControls.html
* JET Cookbook
http://www.oracle.com/webfolder/technetwork/jet/uiComponents-formControls.html
Develop!
$ clear_
$ clear
$ cd myfirstjet/_
$ clear
$ cd myfirstjet/
$ grunt build_
$ clear
$ cd myfirstjet/
$ grunt build
$ grunt serve_
Open Source from Oracle!
はじめての Oracle 「発」のOSS!
oracle / oralcejet
https://github.com/oracle/oraclejet
開発者向けイベントを計画中!
Node Cloud / JET
ハンズオンまたは ハッカソン
Stay tuned!
Oracleがnode.jsをやり始めたというのだが!

Oracleがnode.jsをやり始めたというのだが!