Modegramming Styleブログではモデリングとプログラミングの一体化を指向したModegrammingというコンセプトを提唱しており、その実現のための技術体系としてSimpleModelingを整備しています。
SimpleModelingを実現するためのプラットフォームとして以下の4つのプロダクトを集約したCozyを立ち上げたことを前回ご紹介しました。
- SmartDox
- 文書処理系
- SimpleModeler
- モデルコンパイラ
- Kaleidox
- アクション言語
- Arcadia
- Webフレームワーク
CozyはGitHubで開発を進めています。
- https://github.com/asami/cozy
Cozy Web
モデル駆動開発をWebアプリケーションまで広げるためには、モデル駆動対応したWebプラットフォームが必要です。このためのWebフレームワークとして開発を進めてきたのがArcadiaです。
CozyはこのArcadiaをベースに動作させることでモデル駆動の基盤のWebプラットフォームとして動作します。
CozyをWebプラットフォームとして動作させる形態をCozy Webと呼ぶことにします。
HelloWorld
Cozy Webの最小構成アプリケーションとしてHelloWorldを作成し、動作させてみます。
アプリケーション
最小構成のアプリケーションなので、index.htmlのみを配備します。以下のindex.htmlを用意します。
<html> <head> <title>Hello World!</title> </head> <body> Hello World! </body> </html>
配備
cozyを起動するディレクトリにwebappsディレクトリを作成します。
ここにアプリケーションのホームとなるディレクトリHelloWorldを作成します。
このHelloWorldディレクトリに前述のindex.htmlを作成すればOKです。
起動
Cozyをwebコマンドで起動するとWebプラットフォームとして起動します。
$ cozy web
実行
curlコマンドによってローカルホストの8080ポート上の /web/HelloWorld/index.html を取得します。
/web はCozy上のWebアプリケーションのホームです。その配下のHelloWorldが、先程作成したディレクトリHelloWorldに対応するもので、ディレクトリ名がアプリケーション名になっています。
curl -v http://localhost:8080/web/HelloWorld/index.html
取得結果は以下になります。無事登録したHTMLファイルを取得することができました。
-vスイッチが指定されているので、HTTPのプロトコルヘッダーも表示されています。
取得結果は以下になります。無事登録したHTMLファイルを取得することができました。
-vスイッチが指定されているので、HTTPのプロトコルヘッダーも表示されています。
> GET /web/HelloWorld/index.html HTTP/1.1 > Host: localhost:8080 > User-Agent: curl/7.76.1 > Accept: */* > < HTTP/1.1 200 OK < Date: Sun, 27 Feb 2022 04:12:53 GMT < Content-Type: text/html;charset=utf-8 < Cache-Control: public,max-age=86400 < Expires: Mon, 28 Feb 2022 04:12:59 GMT < Content-Length: 337 < Server: Jetty(9.4.38.v20210224) < <html> <head> <title>Hello World!</title> </head> <body> Hello World! </body> </html>
まとめ
今回はモデル駆動開発向けのWebプラットフォームCozy Webを紹介しました。
ごく簡単なWebアプリケーションをHelloWorldとして配備して実行することが確認できました。
次回以降Cozy Webの機能を紹介していく予定です。
諸元
- Cozy
- 0.0.3