Skalholt

Scala code generator for Play Framework and Slick

View the Project on GitHub tech-sketch/skalholt

Skalholtの概要

SkalholtはScalaでのWebアプリケーションの開発を効率化するソースコード自動生成ツールです。データベーススキーマからPlay FrameworkとSlickに準拠したソースコードを生成に加え、スキーマからは得ることが出来ない情報を付加したソースコードの生成を実現します。

DBスキーマを準備しSkalholtを実行すれば、シンプルなCRUDアプリケーションが作成できます。SkalholtはWebアプリケーションとして動作しますので、自動生成された設計内容をブラウザから編集することが出来ます。これによりScaffoldから一歩進んだアプリケーションを構築することが出来ます。

Webアプリケーションを開発する際のフレームワークとしてスターンダードとなりつつあるPlay FrameworkとSlickを利用する際の開発を効率化すること、また、簡単に開発をスタートできることでScalaやPlayの習得に障壁を感じている方に対して、その習得を促進することを狙いとしています。

特徴

  1. Play Framework、Slickに対応したソースコードを生成
  2. DBスキーマからソースコードを生成するScaffold機能
  3. アプリケーション構造を設計リポジトリに保持し、その内容を編集することでアプリケーションが進化
  4. 「Typesafe Activator」のテンプレートとして提供するためインストール不要

リリースノート

構成

SkalholtはPlay FrameworkをベースとしたWebアプリケーションで「Typesafe Activator」のテンプレートとして提供します。

activator new

Activatorから生成したプロジェクトは以下の構成になっています。

▶ Skalholt-Template
  ├ app
  │   開発するアプリケーションのソースコード(本ツールにより自動生成)
  ├ conf
  │   設定ファイル
  ├ skalholt/lib
  │   Skalholtのライブラリ群
  ├ skalholt.h2.db
  │   設計リポジトリのデータファイル(H2 Database)
  └ skalholt-ui.bat(skalholt-ui)
     Skalholt起動バッチ(シェル)

Skalholtは以下の様な流れで利用します。

1. 自動生成を実行すると業務データベースからアプリケーション生成に必要な情報を設計リポジトリに登録し、ソースコードを生成する。

(1) 設計リポジトリの作成
(2) 業務データベースからソースコードの生成
(3) 設計リポジトリからソースコードの生成

2. 設計リポジトリの内容を編集し、ソースコードを再生成する。

(4) 設計リポジトリの内容を編集
(5) ソースコードの再生成

Generate flow

構築するWebアプリケーションの構成はPlay Frameworkに準拠し、「Controller」「View」等は設計リポジトリから、「Model」等はDBスキーマから自動生成します。 設計リポジトリは以下の様な構成です。

Design Repositoy

Skalholtは以下のDBMSで動作確認を行っています。

インストール

Skalholtを利用するために特別なツールのインストールは不要です。Typesafe Activatorさえインストールされていれば使用できます。 Typesafe Activatorの実行に必要な環境と環境構築方法はTypesafe.comの「TYPESAFE REACTIVE PLATFORM GET STARTED」を参照してください。

利用手順

前準備

1. ブランクプロジェクトの作成

2. 業務データベースの準備と起動

※ 初期状態で準備されているH2 Database以外を利用する場合は、アプリケーションが使用するDBスキーマを準備し、「application.conf」に接続先情報を設定してください。

3. アプリケーションの起動

ソースコードのジェネレート

1. 自動生成を実行すると業務データベースからアプリケーション生成に必要な情報を設計リポジトリに登録し、ソースコードを生成する。

2. 設計リポジトリの内容を編集し、ソースコードを再生成する。

Edit Screen Detail

ActivatorのUIを利用する

Typesafe ActivatorのUIを利用する場合は、Activatorをインストールしたディレクトリにある「activator」(Linux or Macの場合)、または、「avtivator.bat」(Windowsの場合)を実行してください。

Activator UI

また、コマンドプロンプトから「activator ui」の実行により起動することも出来ます。

C:\work>activator ui

Typesafe Activatorの詳細な利用方法については、Typesafe.comの「TYPESAFE ACTIVATOR DOCUMENTATION」を参照してください。

問い合わせ先

フィードバックや不明点等以下までお問い合わせ下さい。
TIS株式会社
コーポレート本部 戦略技術センター
Skalholt 担当宛
smart_dev@ml.tis.co.jp

ライセンス

SkalholtはApache License version2.0のもとにリリースされています。