はじめに
Amazon Web Serviceを利用した蔵書管理システムの開発を通して、以下の技術の利用方法を紹介します。
- Amazon Web Service
- Apache Mavenと各種Plugin
- JAXBによるXML Data→Java Objectへの変換
- Spring Framework、HibernateによるDAOの開発
- Web ServiceとDAOを統合したFacadeの開発
- BarracudaMVCによるWeb Applicationの開発
この回では、以下のテーマを紹介します。
- Amazon Web Serviceの登録ID(Subscription ID)の取得
- Mavenによる開発環境の構築
- Amazon Web Serviceへのアクセス
なお、Amazon Web ServiceやMavenに関する情報は、「参考資料」で紹介しています。
対象読者
- 中級レベルのJava開発者
- Eclipseでなく、あえてMavenを使っている開発者
- 常に、開発環境の自動化を追求している開発者
必要な環境
- Java SE Development Kit 6
- Apache Maven 2
Amazon Web Serviceの登録ID(Subscription ID)の取得
Amazon Web Serviceを利用するためには、登録ID(Subscription ID)を取得することが必要です。登録サイトは英語ですが、登録は無料です。登録IDは、以下のサイトで必要事項(Mailアドレスなど)を入力して取得します。
Mavenによる開発環境の構築
Maven Archetype Pluginでベースとなるプロジェクトを作成します。
$ mvn \ ← (1) archetype:create \ -DgroupId=bookrack.webservice \ -DartifactId=bookrack-webservice
- 実際は1行です。
作成されたプロジェクトの構成は、次のとおりです。
+ bookrack-webservice + pom.xml + src/main/java/bookrack/webservice/App.java + src/test/java/bookrack/webservice/AppTest.java
設定ファイルの編集、追加
pom.xmlの編集
必要なPackageと、Maven Surefire Pluginの設定を追加します。
<project> ... <dependencies> ... <dependency> ← (1) <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1</version> </dependency> <dependency> ← (2) <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1-rc1</version> </dependency> </dependencies> <build> <plugins> <plugin> ← (3) <artifactId>maven-surefire-plugin</artifactId> <configuration> <disableXmlReport>true</disableXmlReport> <useFile>false</useFile> </configuration> </plugin> </plugins> </build> </project>
- Jakarta commons logging
- Jakarta commons HTTP Client
- Maven Surefire Plugin
commons-logging.propertiesの追加
org.apache.commons.logging.Log =\ org.apache.commons.logging.impl.SimpleLog ← (1)
- Jakarta commons loggingのSimpleLog実装を利用します。
simplelog.propertiesの追加
org.apache.commons.logging.simplelog.showdatetime = true
org.apache.commons.logging.simplelog.log.bookrack.webservice = trace ← (1)
- Packageごとのロギングレベルを指定します。