Azure App Service + CakePHP + Visual Studio Onlineによる超高速Webアプリケーション開発

こんにちは。サイオステクノロジー技術部の武井です。

Azure App Service + CakePHP + Visual Studio Onlineによって、超高速にWebアプリケーション開発することができます。今回はこちらについて色々書きたいと思います。

Azure App Service、CakePHPとは

Azure App Serviceとは、アプリケーションを動作するためのPaaS環境です。アプリケーションをgitやOneDirveからデプロイするだけで、簡単にアプリケーションが動作します。パッチ当てなどの面倒なメンテナンスは不要です。

CakePHPとは、PHPのフレームワークで、データベースのスキーマをもとに、追加・検索・編集・削除を行うためのコードを自動生成することが特徴です。

通常であれば、アプリケーションの開発には以下のステップが必要です。
※基本設計や詳細設計は終了していると仮定します。

  • サーバー構築
  • データベース構築
  • スキーマ作成
  • フレームワークのインストール・設定
  • コーディング

Azureならば、これらの全ての工程を全自動化することができます。

その効果を実感頂くために、今回、以下のアプリケーションをAzureで作成してみます。

今回作成するアプリケーション

  • 掲示板の機能を持つ
  • 入力項目はタイトルと本文とする
  • 投稿の追加・一覧表示・編集・削除(CRUD)ができる

オンプレミスの環境であれば、通常は1ヶ月程度かかるところを、30分で構築します。

構築手順

App Service作成

1.以下のURLのAzureポータルにアクセスします。

https://portal.azure.com/

2.画面左部のメニューから「参照」→「Marketplace」の順にクリックします。
image13

3.検索用のテキストボックスに「cakephp」と入力してエンターを押します。
image10

4.「CakePHP」をクリックします。
image11

5.「作成」をクリックします。
image00

6.アプリ名に任意の値(Azure上で一意である必要があります)、リソースグループに任意の値を入力します。指定したリソースグループ配下にMySQLなど全てのリソースが作成されます。「法律条項(ClearDB)」をクリックして下さい。
image07

7.「OK」をクリックして下さい。
image02

8.「同意済み」になったことを確認して、「作成」をクリックして下さい。
image05

9.左部メニューの「App Service」をクリックして、先ほど作成したApp Serviceが表示されることを確認します。
image03

10.Visual Studio Onlineを使えるようにします。先ほど表示されたApp Serviceを右クリックして「ツール」をクリックして下さい。
image14

11.「Visual Studio Online」をクリックして、「オン」をクリックして下さい。これでVisual Studio Onlineが使えるようになります。
image08

12.「移動」をクリックして下さい。
image09

13.Visual Studio Onlineが起動します。CakePHPでコードを生成するためには、まず、テーブルを作成する必要があります。そのためにMySQLへの接続情報を取得します。「WWWROOT」→「app」→「Config」の順にクリックして、「database.php」を開いて下さい。ソースコードの以下の行の部分にMySQLの接続情報が書いてあります。それをメモして下さい。
image12

CakePHPの設定

14.先ほどメモしたMySQLへの接続情報をもとに、MySQLへ接続をして、以下のSQL文を実行することにより、テーブルを作成して下さい。このテーブルは、今回作成する掲示板アプリケーションの投稿情報を格納するテーブルになります。

CREATE TABLE posts (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(50),
body TEXT,
created DATETIME DEFAULT NULL,
modified DATETIME DEFAULT NULL
);

15.CakePHPはPHP用の単体テストツール「PHPUnit」を利用することを前提としております。PHP用のパッケージ管理ツール「Compser」を使ってPHPUnitをインストールします。まず、Visual Studio Onlineの下図赤枠のアイコンをクリックして、コンソールを開いて下さい。
image04

16.Composerをインストールします。以下のコマンドを実行して下さい。

cd app/Vendor
curl http://getcomposer.org/installer | php

17.PHPUnitをインストールします。以下のコマンドを実行して下さい。

php composer.phar require phpunit/phpunit=3.7.*

18.CakePHP で PHPUnit を組み込むには、上記コマンドで作成された vendor/autoload.php (つまり、今回の場合、app/Vendor/vendor/autoload.php) を CakePHP に読み込ませます。このため、CakePHP の app/Config/core.php に以下の 1 行を追記してください。

require_once dirname(__DIR__) . '\Vendor\vendor\autoload.php';

19.CakePHPでアプリケーション実行するために必要な「Model」「Controller」」「View」のクラスを作成します。コンソールで以下のコマンドを実行して下さい。

cd /
lib/Cake/Console/cake.bat bake all Post

20.これで掲示板アプリケーションを動作するためのソースコードが全て自動生成されました。以下のURLにアクセスして下さい。
http://cakephptestapp.azurewebsites.net/Posts

動作確認

21.以下の画面が表示されます。掲示板に投稿した記事の一覧画面です。「New Post」をクリックすると、新規投稿画面が表示されます。その他にも編集・削除機能もあります。
image01

最後に

いかがでしたでしょうか?Azureを使えば、驚くほど短時間でアプリケーションを開発できることを実感頂けたと思います。ぜひともアプリケーション開発にApp Serviceをご利用下さい。

Be the first to comment

コメント投稿

Your email address will not be published.


*