Install and Run

1. はじめに

ここでは、Windows環境のPCで iPLAss を動作させる手順を紹介します。
手順中では、アプリケーションサーバとしてApache Tomcat、DBMSとしてMySQLを使用します。

iPLAssのインストーラ(war)自体は、Apache Tomcatに最適化されていますが、OS/DBMSは(iPLAssが動作環境と定義する)他のものでも動作します。

2. 前提条件

本手順は以下を前提条件としています。

・Windows環境であること。

3. 環境構築

  1. OpenJDKのインストール

    1. Amazon Correttoの ダウンロードサイト からAmazon Corretto 11のインストーラをダウンロードします。

      "amazon-corretto-11-x86-windows-jdk.msi"をダウンロード
    2. ダウンロードしたインストーラを実行し任意の場所にインストールします。

  2. Apache Tomcat(以下、Tomcat)のインストール

    1. Tomcatの ダウンロードサイト からTomcat 9のインストーラをダウンロードします。

      Coreの"32-bit/64-bit Windows Service Installer"をダウンロード
    2. ダウンロードしたインストーラを実行し任意の場所にインストールします。

  3. MySQLのインストール

    1. MySQLの ダウンロードサイト からMySQL Community Server(5.7以上)のインストーラをダウンロードします。

      "Windows (x86, 32 & 64-bit), MySQL Installer MSI"をダウンロード
      本手順は、バージョン8.0.33をインストールして作成した手順となっています。
      他のバージョンを使用した場合、一部手順や項目名が異なる場合がありますので、使用したい環境に合わせて適宜設定してください。
    2. ダウンロードしたインストーラを実行し任意の場所にインストールします。
      インストールの際は以下を設定してください。

      Setup Type = Server only
      Type and Networking:ConfigType = Dedicated Computer
    3. MySQL(my.ini及びmy.cnf)を設定します。

      以下の例の通り、設定を変更または追加してください。

      データベースに紐づくmy.ini(Windowsの場合、デフォルトC:\ProgramData\MySQL以下にあるmy.ini)を編集してください。
      タイムゾーンの設定を行うにあたり、事前にタイムゾーンのインポートを行ってください。
      タイムゾーンのインポートについてはMySQLのタイムゾーンの ダウンロードサイト を参照してください。
        [client]
        default-character-set=utf8mb4
      
        [mysql]
        default-character-set=utf8mb4
      
        [mysqld]
        character-set-server=utf8mb4
        max_allowed_packet=100M
        transaction-isolation=READ-COMMITTED
        query_cache_size=0 (1)
        innodb_file_format=Barracuda (2)
        innodb_file_per_table=1
        innodb_large_prefix=1 (2)
        internal_tmp_disk_storage_engine=MyISAM (3)
        default-time-zone='Asia/Tokyo' (4)
        #default-time-zone=+9:00 (5)
      1 MySQL 8.0.1以上では不要です。
      2 MySQL 5.7.7以上では不要です。
      3 MySQL 8.0.16以上では不要です。
      4 Connector/J 8.0以上で必要です。
      タイムゾーンは動作環境に応じて変更してください。
      事前にタイムゾーンデータをインポートしている必要があります。
      5 タイムゾーンのインポートが難しい場合は、こちらを利用してタイムゾーンを設定してください。

      1~5以外の項目については、my.iniを確認し設定されていない場合は追加してください。
      ファイルの修正が完了したら、MySQLを再起動してください。

      iPLAss 3.2.14 以前では mysqld セクションに lower_case_table_names=1 の設定が必要です。
    注意事項
    MySQLのバイナリログを有効にしている場合、ファンクション作成にてエラーが発生します。
    対応として、log_bin_trust_function_creatorsを有効にしてください。
  4. MySQL JDBCドライバのインストール

    1. MySQLの ダウンロードサイト からConnector/J(GA版)をダウンロードします。

      "Platform Independent (Architecture Independent), ZIP Archive"をダウンロード
    2. ダウンロードしたファイルを任意の場所に展開します。

    3. 展開したフォルダにあるJDBCドライバファイル(mysql-connector-j-8.0.33.jar)を前手順でインストールしたTomcatの次の場所へコピーします。

      %CATALINA_HOME%\lib

      ※「CATALINA_HOME」はTomcatをインストールしたディレクトリを指します。

      現時点でTomcatが起動している場合は、JDBCドライバファイルをコピー後にTomcatを再起動してください。
  5. データベースの準備
    iPLAssインストーラがデータベース及びユーザーの作成を行うため準備は不要です。

  6. iPLAssホームディレクトリ(任意)
    ホームディレクトリにはインストーラの設定情報が格納されます。
    環境変数「IPLASS_HOME」に設定されたディレクトリがiPLAssホームディレクトリとなります。
    特に設定がない場合は次のディレクトリがiPLAssホームディレクトリとなります。

    %USERPROFILE%\.iplass
    インストーラをリセットし、再度インストールを実行したい場合には、iPLAssホームディレクトリを削除してください。
    Windows環境で、Tomcatをサービスから起動した場合のホームディレクトリは下記になります。
    C:\Windows\ServiceProfiles\LocalService\.iplass
  7. ログの設定(任意)
    ログ設定ファイルをiPLAssホームディレクトリに配置することによりログの設定を行うことができます。

    設定内容

    以下に、ログをコンソール出力するための設定内容を示します。 こちらを参考にlogback.xmlファイルをホームディレクトリに作成し、適宜カスタマイズしてください。

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration>
    <configuration>
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> (1)
            <encoder>
                <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
            </encoder>
        </appender>
    
        <root level="debug"> (2)
            <appender-ref ref="STDOUT" />
        </root>
    </configuration>
    1 appender要素には、「どの場所に」「どんなレイアウト」で出力するのかを定義します。
    2 appenderを定義しただけではログ出力の際に使用されません。logger要素やroot要素に参照されることで初めて使用されます。
    ログ設定ファイル

    logbackのログ設定ファイルを配置します。ログ設定ファイルは次の順序でロードされます。

    1. logback-test.xmlというファイルを探します。

    2. 見つからなかった場合、今度はlogback.xmlというファイルを探します。

4. iPLAssのインストール

  1. インストーラファイル(iplass.war)の取得

    インストーラファイルが手元にない場合、次のいずれかの方法で取得します。

    1. ダウンロードサイトからiPLAss Installerをダウンロードします。

    2. (Enterprise Editionの場合)Enterprise Edition版のダウンロードサイトからiplass.warを取得します。

  2. Tomcatへのiplass.warのデプロイ

    1. 取得した「iplass.war」をTomcatの次の場所へコピーします。

      %CATALINA_HOME%\webapps

      Tomcatが起動していない場合はWARファイルをコピー後、Tomcatを起動してください。
      Tomcatが既に起動している場合、WARファイルをコピーすると自動的にデプロイが開始されます。

  3. セットアップ画面の表示

    1. Webブラウザに次のURLを入力しセットアップ画面にアクセスします。
      iPLAssセットアップ画面のURLは下記となります。

      http://localhost:8080/iplass

      または

      http://<サーバのホスト名またはIPアドレス>:8080/iplass

      ※Tomcatのポート番号を変更した場合は設定したポート番号を指定してください。

  4. iPLAssセットアップの実行

    1. セットアップ情報の入力

      1. データベースへの接続情報の入力

        iPLAssセットアップ画面から、以下の要領で環境情報を入力します。

        データベース

        MySQL を選択

        DBAユーザー名

        MySQLのDBA権限を持つユーザーのユーザー名(MySQLインストール時に作成したRootユーザー名)

        DBAパスワード

        MySQLのDBA権限を持つユーザーのパスワード(MySQLインストール時に作成したRootユーザーパスワード)

        バイナリデータファイル保存場所

        バイナリデータファイルの保存先ルートディレクトリ
        MySQL及びPostgreSQLの場合、Binary型のデータは標準でファイル形式により外部保存されます。Oracle及びSQLServerの場合は保存場所を設定した場合のみ外部保存されます。

        テーブル自動作成

        新規にセットアップを行う場合は必ずチェックしてください。
        チェックをするとiPLAssで利用するテーブルを作成します。
        既にテーブルが存在する場合、テーブルは再作成されデータは初期化されます。
        再セットアップ等で既存のデータを残す場合はチェックを外してください。

        JDBC URL

        ホスト名、ポート番号を入力すると自動的に設定されます。
        直接編集を行う場合は 編集 をチェックしてください。

        ホスト名

        MySQLをインストールしたホスト名またはIPアドレス

        ポート番号

        3306 (デフォルト)
        ※ポート番号を変更した場合は変更したポート番号を入力してください。

        スキーマ名

        mtdb (変更不可)

        ユーザー名

        新規で作成する任意のMySQLのユーザー名

        パスワード

        新規で作成する任意のMySQLのパスワード

    セットアップに失敗してしまった場合は、iPLAssの再インストールが必要になる場合があります。
    前章で設定したiPLAssのホームディレクトリを削除後、インストール手順をもう一度実施してください。
    1. iPLAss テナント情報の入力

      テナント名

      任意のテナント名 (半角推奨)

      管理者ユーザーID

      任意の管理者ユーザーID

      管理者パスワード

      任意の管理者パスワード
      ※パスワードを表示する場合は「パスワード表示」をチェックします。
      ブラウザがIEの場合は「パスワード表示」のチェックボックスは表示されません。

      管理者のユーザーIDおよびパスワードについて
      ユーザーIDには4文字以上の英数字および - (マイナス) @ _ . (ピリオド)のみ入力可能です。
      パスワードは6文字以上の英数字および次の記号 ~!#\\$^&*+;:?/|{}\\.=_,- のみ入力可能です。

      iPLAssセットアップ画面

      01_iPlassSetup
      1. セットアップの開始
        セットアップ情報を入力後、セットアップ開始ボタンを押下しiPLAssのセットアップを開始します。
        セットアップが正常に完了した場合は「アプリケーションサーバを再起動してください。」のメッセージが表示されます。

        正常完了時のメッセージ

        iplassSetupSuccess
  5. アプリケーションサーバ(Tomcat)の再起動

    1. アプリケーションサーバ(Tomcat)を再起動します。

  6. テナントへのアクセス

    1. Webブラウザに以下のURLを入力しアプリケーションサーバにアクセスします。

      http://localhost:8080/iplass

      または

      http://<サーバのホスト名またはIPアドレス>:8080/iplass

      ※Tomcatのポート番号を変更した場合は設定したポート番号を指定してください。

    2. テナントのログイン画面表示
      初回アクセス時、初期テナントが自動で作成されます。
      作成後、テナントへリダイレクトされログイン画面が表示されます。

      iPLAssログイン画面

      iplassLogin
      次回以降(初期テナント作成後)のアクセス時はリダイレクトされないため、リダイレクト後のURLのメモを取るかブックマークの追加を推奨します。
      これまでの手順に従って作成した場合、ログイン画面のURLは下記の通りです。
      http://<サーバのホスト名またはIPアドレス>:8080/iplass/<テナント名>/gem/
    3. テナントへのログイン
      ユーザーIDにセットアップで入力したテナント情報の管理者ユーザーIDを、パスワードに管理者パスワードをそれぞれ入力しログインボタンを押下します。
      ログイン後、テナントのトップ画面が表示されることを確認します。
      ログインが完了しトップ画面が表示できたら、iPLAssのインストールは完了です。

      iPLAss トップ画面

      iplassTop

5. 動作確認

  1. 用語説明

    基本的な操作方法を理解するため、動作確認を行ってみましょう。
    動作確認前の前提知識として、iPLAssの用語について簡単に説明します。

    GEMモジュール
    (GEM画面)

    主にエンドユーザー向けの画面群。
    ログイン画面やEntityデータの参照/編集機能等のGEM画面があります。 AdminConsoleを利用して定義されたEntity定義情報や画面定義情報を元に画面が生成されます。

    AdminConsole

    システム管理者、開発者向けの画面群。
    開発者はAdminConsoleを利用しながら、Entity定義の作成やEntity操作画面の設計、ActionやCommand等のメタデータの管理を行います。

    メタデータ

    iPLAss上で動作するアプリケーションのデータや振る舞いを定義した設定情報です。
    アプリケーションで扱うデータ定義(後述のEntity)、作成したEntityのCRUD機能を持った汎用データ操作画面に関する定義、パスワードの有効期限、複雑度、アカウントロックといったユーザー認証の方法やポリシーに関する定義、サイドメニューに表示する項目やログイン後のトップ画面に表示する項目に関する定義など、さまざまな種類のメタデータが存在します。

    Entity

    iPLAssでは、管理するデータ定義を「Entity(エンティティ)」と呼びます。
    エンティティは、RDB上でのテーブルと同義のものです。更に、エンティティは「Property(プロパティ)」と呼ばれる属性を持ちます。プロパティは、RDB上でのカラムと同義のものです。また、定義されたエンティティをどのように画面に表示するか(入力フィールドなのか、プルダウンなのか、項目並び順、表示有無など)もメタデータとして設定可能です。

  2. AdminConsoleを起動する

    1. AdminConsoleの起動

      AdminConsoleを起動してみましょう。
      ヘッダー領域のユーザー名(User Admin)をクリックすると、ユーザーメニューが表示されます。
      ユーザーメニュー内の、「管理・設定」をクリックすると、AdminConsoleが起動します。

      AdminConsoleの起動

      startAdminConsole

      AdminConsole トップページ

      iplsassAdminConsole
    2. AdminConsoleについて

      AdminConsole画面の左側には「MetaDataSettings」と「Tools」という2つのメニューグループが表示されています。
      「MetaDataSettings」は各テナント上に定義されたメタデータが、その種類ごとにツリー表示されます。
      各メタデータの追加、編集はこのツリーから行います。
      「Tools」は、開発者向けの管理ツール群です。

      「MetaDataSettings」と「Tools」

      metadataSetting

      ※テナント作成時点でいくつかのメタデータが定義されています。
      「mtp」や「gem」はiPLAssフレームワークとして提供される機能で利用するメタデータ群です。

  3. Entityを定義する

    1. Entityの作成

      ここではサンプルとして、商品を管理する商品マスタEntityを作成します。

      Entityを作成する際は、MetaDataSettingsの「Entity」を選択し、右クリックメニューから、「エンティティを作成する」を押下してください。Entityの作成画面が表示されます。

      「エンティティを作成する」

      CreateEntity01

      Entity作成画面

      CreateEntity02

      Entity作成時の入力要素

      Name

      エンティティの名称です。
      エンティティは「.(ドット)」で階層を表現できます。

      Display Name

      エンティティを表示する際の名称です。
      GEM画面等での表示に使用されます。

      Description

      エンティティの説明です。

      1. 必要なEntityを作成する

        以下の要領でデータを入力し、「Save」ボタンを押下してください。

        商品マスタ

        CreateProductEntity

        入力値サンプル

        Name

        sample.Product

        Display Name

        商品マスタ

        Description

        サンプルの商品マスタ

      2. EntityにPropertyを追加する。

        EntityにPropertyを追加するには、対象Entityをダブルクリックするか、
        対象Entityを選択し、右クリックメニューから「エンティティを開く」を選択します。

        「エンティティを開く」

        setupEntity

        「エンティティを開く」を押下すると、Entityの設定画面が開きます。
        Propertyを追加する際は、Propertiesの「Add」ボタンを押下します。

        「Add」ボタン

        setupProperty

        商品マスタエンティティでPropertyの追加画面を開き、以下のPropertyを定義します。

        「価格」Propertyの追加

        setupProduct01

        サンプル入力値

        Name

        price

        Display Name

        価格

        Type

        Integer

        Required

        チェックを入れる

        「発売日」Propertyの追加

        setupProduct02

        サンプル入力値

        Name

        releaseDate

        Display Name

        発売日

        Type

        Date

        Required

        チェックを入れない

        Entityへの更新を行った場合は「Save」を押下することで更新が反映されます。

        「Save」ボタン

        setupProduct03

        これでEntityへのProperty追加は完了です。

  4. GEM画面から確認する。

    前の手順で作成したEntityが、画面にどう反映されているか確認してみましょう。
    GEM画面で「ホーム」ボタンを押下しリロードを行うと、先ほどの定義をもとにサイドメニューに商品マスタの項目が追加されています。

    GEM画面の確認

    TopPage

    商品マスタを押下すると、作成したEntityの検索画面が表示され、設定したPropertyが検索項目として反映されていることが分かります。

    設定したPropertyの確認

    productMaster

    上記の画面の「新規登録」「検索」などのボタンを利用して商品データの登録、検索、編集、照会を行うことが可能です。
    以下に紹介するのは、各操作を行った際の画面例です。

    新規登録/編集画面

    entryProduct

    検索画面

    searchProduct

    詳細画面

    detailProduct

6. 次のステップ

iPLAssに初めてふれている場合、次に チュートリアル を実施してみてください。