intra-mart e Builder for Accel Platform アプリケーション開発ガイド 第12版 2015-12-01

e Builder での開発の流れ

概要

本項では e Builder を利用した際に、アプリケーションを開発する流れについて説明します。

開発の流れ

e Builder が提供する機能は、アプリケーション開発における「製造」から「単体テスト」工程を支援します。
具体的には、Accel Platform に組込みができる「ユーザモジュール」を作成する機能から構成されます。
開発者が e Builder を利用する一連の流れは以下となります。
  1. ユーザモジュールを作成するための「モジュール・プロジェクト」を作成します。
  2. モジュール・プロジェクトに対して各開発モデルを選択してプログラムを開発します。
  3. 開発の完了後、ユーザモジュールとしてIMMエクスポート(immファイルの出力)を行います。
モジュール開発の流れ
作成されたユーザモジュールは、結合試験のフェーズにおいてim-Jugglingでwarを作成する際に設定を行います。
  1. Jugglingプロジェクト内にあるjuggling.imをim-juggling Editorで開きます。

  2. 「ユーザモジュール」タブを選択し、右上にある「+」のアイコンをクリックし、出力したimmファイルを選択します。

  3. ユーザモジュールを設定後、必要に応じてユーザモジュールに対する依存モジュールを設定し、エラーメッセージが表示されないようにします。

    ユーザモジュールの配置例

    コラム

    ユーザモジュールがSAStruts + S2JDBC フレームワーク開発を利用している場合、
    Jugglingプロジェクト内のclasses/convention.dicon等各diconファイルを適切に設定しておいてください。
上記の操作でwarにユーザモジュールを含めるための設定は完了です。
最終的にwarファイルを作成する方法に関しては「intra-mart Accel Platform / セットアップガイド」の
WARファイルの作成」を参照してください。

モジュール・プロジェクトの構成

e Builder で作成するモジュール・プロジェクトの構成は以下のようになっています。
下の画像は作成後のモジュール・プロジェクトをパッケージ・エクスプローラーで表示した場合の図です。
モジュール・プロジェクト展開図
開発者は作成したアプリケーションのリソースを以下の場所に配置して、モジュール・プロジェクトを開発していきます。
モジュール・プロジェクトでは各用途に対して、パーティショニングの利用を以下の想定しています。
パーティショニング 説明
main そのモジュールの主たるコードやリソースを配置します。
test テストを行うためのコード・リソースを配置します。
また、モジュール・プロジェクトでは各パーティショニングに対して、それぞれコードやリソースを配置するためのディレクトリを用意してあります。
各ディレクトリに対して、細かいプログラムコードやリソースを以下の表に沿って配置を行っていきます。
ディレクトリ 想定用途 対象例 war展開後の配置場所
generated 自動生成されたJavaファイルを格納します。 *.java WEB-INF/libのjarファイル内
java Javaファイルを格納します。 *.java WEB-INF/libのjarファイル内
resource Javaファイル以外でプログラム中に利用するファイルを格納します。 *.properties、*.xml WEB-INF/libのjarファイル内
conf モジュールの動作を制御する設定ファイルを格納します。 *.properties、*.xml WEB-INF/conf配下
jssp スクリプト開発用のソースを格納します。 *.html、*.js WEB-INF/jssp配下
plugin プラグインとして利用する設定ファイルを格納します。 *.properties、*.xml WEB-INF/plugin配下
public Webコンテンツで静的コンテンツを格納します。 (補足1) *.html、*.css、*.swf 等 WARを展開したフォルダ配下
schema 設定ファイルに関するXMLスキーマファイルを格納します。 *.xsd WEB-INF/schema配下
storage/public StorageのPublicStorageにて管理されるファイルを格納します。 *.* storageに格納する全ファイル %ストレージのパス%/storage/public配下
storage/system StorageのSystemStorageにて管理されるファイルを格納します。 *.* storageに格納する全ファイル %ストレージのパス%/storage/system配下
webapp Webコンテンツで動的コンテンツを格納します。 *.jsp、WEB-INF/に配置するファイル diconファイル等 WARを展開したフォルダ配下

(補足1) Juglingビルドウィザードで、「静的ファイル出力」を行った場合に出力対象になるディレクトリです。


コラム

  • サードパーティのライブラリを利用したい場合、src/main/webappの配下に
    「WEB-INF/lib」という階層でフォルダを作成し、そこにライブラリを配置してください。
    その後、プロジェクトのビルドを行った後、プロジェクトを一度クローズして開きなおすことによって
    配置したライブラリがクラスパスに通されます。
  • e Builder プロジェクトでは、Storageのフォルダは、PublicStorageとSystemStorageをサポートします。
    Storageの仕様については、各フレームワークのプログラミングガイドの「Storage」を参照してください。
  • e Builder で作成されたプロジェクトには、ユーザ定義モジュールを作成するために必要な2つのファイルを配置しています。
    もしこれらのファイルがなくなった場合、e Builderで支援する機能の動作に影響を及ぼします。
    下記のリンクにはそれぞれのファイルがなくなった場合の対処方法について記述しています。

.ebuilder-export.xml

プロジェクトから .ebuilder-export.xml を削除してしまった場合、以下の手順で復旧してください。
また、このファイルの有無の確認はナビゲーター・ビューで表示することによって確認できます。
  1. プロジェクト直下に「 .ebuilder-export.xml 」を作成してください。

  2. 以下のフォーマットの記述を .ebuilder-export.xml にコピーしてください。

    <?xml version="1.0" encoding="UTF-8" standalone="no"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    
    	<groupId>${group_id}</groupId>
    	<artifactId>${artifact_id}</artifactId>
    	<packaging>im_module</packaging>
    	<version>${version}</version>
    
    	<properties>
    		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    	</properties>
    
    	<build>
    		<plugins>
    			<!-- configure for lifecycle -->
    			<plugin>
    				<groupId>jp.co.intra_mart.maven</groupId>
    				<artifactId>lifecycle-plugin</artifactId>
    				<version>1.0.0</version>
    				<extensions>true</extensions>
    			</plugin>
    			<!-- configure for adding generated source folder -->
    			<plugin>
    				<groupId>org.codehaus.mojo</groupId>
    				<artifactId>build-helper-maven-plugin</artifactId>
    				<version>1.7</version>
    				<executions>
    					<execution>
    						<id>add-source</id>
    						<phase>generate-sources</phase>
    						<goals>
    							<goal>add-source</goal>
    						</goals>
    						<configuration>
    							<sources>
    								<source>${basedir}/src/main/generated</source>
    							</sources>
    						</configuration>
    					</execution>
    					<execution>
    						<id>add-test-source</id>
    						<phase>generate-sources</phase>
    						<goals>
    							<goal>add-test-source</goal>
    						</goals>
    						<configuration>
    							<sources>
    								<source>${basedir}/src/test/generated</source>
    							</sources>
    						</configuration>
    					</execution>
    				</executions>
    			</plugin>
    			<!-- configure for compiler -->
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-compiler-plugin</artifactId>
    				<version>3.1</version>
    				<configuration>
    					<source>1.7</source>
    					<target>1.7</target>
    					<encoding>${project.reporting.outputEncoding}</encoding>
    					<useIncrementalCompilation>false</useIncrementalCompilation>
    				</configuration>
    			</plugin>
    			<!-- configure maven-jar-plugin version for mac -->
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-jar-plugin</artifactId>
    				<version>2.4</version>
    			</plugin>
    			<plugin>
    				<groupId>jp.co.intra_mart.maven</groupId>
    				<artifactId>sample-build-plugin</artifactId>
    				<version>1.0.0</version>
    				<dependencies>
    					<dependency>
    						<groupId>org.apache.maven.plugins</groupId>
    						<artifactId>maven-jar-plugin</artifactId>
    						<version>2.4</version>
    					</dependency>
    				</dependencies>
    			</plugin>
    			<plugin>
    				<groupId>jp.co.intra_mart.maven</groupId>
    				<artifactId>archiver-plugin</artifactId>
    				<version>1.0.0</version>
    				<dependencies>
    					<dependency>
    					<groupId>org.apache.maven.plugins</groupId>
    					<artifactId>maven-jar-plugin</artifactId>
    					<version>2.4</version>
    				</dependency>
    				</dependencies>
    			</plugin>
    		</plugins>
    	</build>
    
    </project>
    
  3. 以下の文字列を、プロジェクト作成時に入力した内容に合わせて記述を行ってください。

${group_id} プロジェクトのグループID
${artifact_id} プロジェクトのショートモジュールID(プロジェクト名)
${version} プロジェクトのバージョン番号