2014年6月4日水曜日

LoopbackによるREST API構築

目的

MBaaSのStrongLoopのLoopbackを使用して、REST APIを構築する。

前提

Cloud9StrongLoopにログインしていること。

Workspace作成

Cloud9でWorkspaceを作成する。
  1. Cloud9 Dashboardの左上にあるCREATE NEW WORKSPACEボタンをクリックする。
  2. GithubなどからWorkspaceをCloneするのであればClone from URLをクリックするが、今回はGithubにソースが無いので、Create a New Workspaceをクリックする。
  3. (1)にWorkspace名、Workspace PrivacyはOpen and Discoverable、Cloud9上で開発をするので、Hosted、StrongLoopを選択してCREATEボタンをクリックする。

.gitignore作成

Gitで管理するため、バージョン管理不要なディレクトリ及びファイルを対象外にする。
Node.js用の.gitignoreファイルのテンプレートがGitHub .gitignoreにある。
Node.js用の.gitignoreファイルはNode.gitignoreである。
このファイルをWorkspaceのルートに.gitignoreというファイル名でコピーする。
このあとは適宜コミットする。
commit: 38b77dd4316f5016ee7209ccbe755abf7616a2a3

StrongLoop Command-line更新

StrongLoopとしてWorkspaceを生成したため、予めStrongLoop Command-lineがインストールされている。
StrongLoopは頻繁に開発されているため、StrongLoop Command-lineも頻繁にバージョンアップされている。
StrongLoop Command-lineを最新のパッケージに更新する。
 $ slc -v
strong-cli v2.5.1 (node v0.10.28)
node-inspector v0.7.3
strong-cluster-control v0.4.0
strong-registry v1.0.2
strong-supervisor v0.2.2
StrongLoop Command-lineの書式は以下のとおり。
$ slc   
SLC()                                                                    SLC()
NAME
       slc - Utility for StrongNode development

       Utility for StrongNode development.

SYNOPSIS
       slc [-h|--help|-v|--version] [...]
       slc <command> [--help] [...]

OPTIONS
       -h, --help
              print usage for slc (use slc cmd -h for help on cmd), and exit.

       -v, --version
              print version of slc and node, and exit.

COMMANDS
       example:
              create example applications

       lb:    create LoopBack workspaces, applications, and models

       strongops
              register or login to StrongOps, create strongloop.json

       run:   run a node script using strong-supervisor

       clusterctl
              control clustering at run-time using strong-cluster-control

       debug: debug a node script using node-inspector

       env:   print node environment information

       update:
              bring strong-cli and it's dependencies up-to-date

EXAMPLES
           $ slc example
           $ slc lb project mywebapp
           $ slc run app.js
           $ slc run --cluster=CPUs app.js
           $ slc clusterctl status
           $ slc debug app.js

                                  March 2014                             SLC()
slcコマンド全体のドキュメントは、Command-line reference (slc)に、loopbackのCommand-lineのドキュメントはslc lbに記述してある。
で、早速最新のパッケージに更新する。
$ slc update
strong-cli at 2.5.1; trying self-update...
npm install -g node-inspector; this may take a moment...
npm install -g strong-cluster-control; this may take a moment...
npm install -g strong-registry; this may take a moment...
npm install -g strong-supervisor; this may take a moment...
npm install -g strong-cli; this may take a moment...
strong-cli at strong-cli v2.5.3 (node v0.10.28)
node-inspector v0.7.3
strong-cluster-control v0.4.0
strong-registry v1.1.0
strong-supervisor v0.2.2

プログラムの起動

足場アプリケーションであるが、REST APIを実行する、それなりの機能を備えている。
動きをつかむためにWorkspaceのメニューのRun Projectボタンをクリックして、アプリケーションを起動する。
Run ProjectボタンがStopボタンに変更されている。
アプリケーションが起動したあと、アプリケーションをWebブラウザで確認する。URLはhttps://-c9-.c9.io。
LoopBack Sample Applicationが起動できればたちまちOK。
ひとまずStopボタンを押してアプリケーションを停止する。

StrongOps実行

StrongLoop運用監視としてStrongOpsを利用する。
StrongOpsのDashboardでアプリケーションを識別するためにWorkspaceのルートにあるpackage.jsonのnameプロパティを識別できる文字列に変更する。
commit 9cb442a69dccf1b546501600238cfd2dea3cfb8a
Written with StackEdit.

0 件のコメント:

コメントを投稿