こんにちは。今日はJava SpringのフレームワークであるMacchinettaを紹介します。
Macchinetta Framework
NTTがGithub上に公開したWebシステムを開発するためのアプリケーションフレームワーク。ベースとなっているのはSpring。共通機能や基本的なアプリケーション実装方法を整備しまとめたものです。
ドキュメントであるGuidelineを見てみると、入力チェック、二重送信防止、ファイルアップロード、Ajaxなどなど一通りの機能が備わっていることが分かります。あとはロギング、日付操作、セキュリティ対策などアプリケーションによらず必要な機能も備えています。
OSSのスタックモデルを見てみると、Spring Security、Spring MVC、JSP/Tiles、Thymeleaf、Mybatisとよく知ったところです。Apache Tilesは使ったことないです。
サンプルアプリケーション
Github上にサンプルアプリケーションがあるので実際に動かしてみます。
Airline Ticket Reservation System (ATRS)
1.6.1.RELEASEもあるのですがエラーが出て動作しませんでしたので1.5.2.RELEASEで試しました。
AWS上にEC2のインスタンスを起動し、PostgreSQLとOpenJDKをインストールします。PostgreSQL10にAmazonLinuxが対応していないようだったので今回はRedhatでインスタンスを作成しました。
PostgreSQLはインストールするとこんな感じ。
OpenJDKはインストールするとこんな感じ。
最後にMavenをダウンロードして、適当な場所に展開し、パスを通してあげればOK。(略)
データベースを作ってREADME.mdに記載されているコマンドを実行すると初期データが投入されます。
サンプルアプリケーションのフォルダに移動してビルドを実行します。
成功すると下記のような画面になります。
Webアプリケーションを実行します。内包しているtomcatで起動します。
ずらずらっと起動のログが流れて下記まで流れれば起動OKです。
EC2のインバウンドのルールを変更して、8080ポートを公開し、「http://[EC2のIPアドレス]:8080/atrs/」にアクセスします。
サンプルアプリケーションの画面はこんな感じ。
ログ
会員登録もしっかりできるようになっています。入力チェックで必須エラーや日付大小チェックなども実装されています。
ログでは実行されているSQLも確認できるようになっています。
もうこのまま使用できそうなレベルです。
おわりに
今回はアプリケーションフレームワークMacchinettaを紹介し、サンプルアプリケーションの動作確認をしました。共通機能が豊富に備わっている為、すぐに実際のアプリケーションの実装に入れそうです。