Transcript Maven入門

2014年8月30日
@オープンソース・ワークショップ
1.
2.
3.
4.
5.
はじめに [5min]
お知らせ [5min]
特別編 [50min]
オープンプロジェクト [60min]
モクモク会 [60min]
2
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
1.
2.
3.
4.
5.
はじめに
お知らせ
特別編
オープンプロジェクト
モクモク会
3
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
本勉強会では、Open Source ERPの導入支援として、基礎となる体系的な情報整理とその共有を目指
します。コミュニティ参加者には本勉強会の知識をベースとして、より高次の理解に取り組んで頂き、
知り得た内容を、コミュニティに共有頂く、といった”お互いに教えあう場”となればと考えています。
理解度
実利用に求められる
知識に対して、体系的
な整理が行われてい
ない
領域
理解度
以前の課題
勉強会の目標
4
連続勉強会により、
体系的な情報整理
⇒勉強会の知識を基礎と
して、より高次の知見へ展
開
領域
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
勉強会参加者の興味対象は、人によって異なるため、必ずしも参加者全員の知的欲求を満たせると
は限りません。
当活動はボランティアベースであるため、Bさん、Cさんの興味対象であるがAさんの興味対象外の事
柄については、Aさんに期待するのではなく、各自で取り組んでみましょう。
Cさんの興味
Aさんの興味
Bさんの興味
5
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
1.
2.
3.
4.
5.
はじめに
お知らせ
特別編
オープンプロジェクト
モクモク会
6
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
• Odoo 8 dev, Bitnamiからリリース
– http://blog.bitnami.com/2014/08/waiting-for-openerp-8-odooopenerp-8.html
7
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
• iDempiere Wiki更新
– iDempiere Workshop 2014
– http://wiki.idempiere.org/wen/index.php?title=IDempiere_Workshop_2014&oldid=5735
• ADempiere Wiki更新
– None
8
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
• Video Tutorial for iDempiere from Jan Thieleman
– https://www.youtube.com/user/evenosconsulting
• Open Discussion about iDempiere Foundation
– https://groups.google.com/forum/?hl=ja#!topic/idempiere/Ht33vkCJs
0E
• Facebookの紹介文を変更 (対象にOdooを追加)
9
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
1. はじめに
2. お知らせ
3. 特別編
1.
2.
3.
4.
5.
Lightening Talk
ERPにおける棚卸評価手法
Libero MFGの紹介
Maven入門
Selenium Web Driver入門
4. オープンプロジェクト
5. モクモク会
10
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
1. はじめに
2. お知らせ
3. 特別編
1.
2.
3.
4.
5.
Lightening Talk
ERPにおける棚卸評価手法
Libero MFGの紹介
Maven入門
Selenium Web Driver入門
4. オープンプロジェクト
5. モクモク会
11
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
US-GAAPでは、棚卸評価手法には大きく以下のように、6つのアプローチから構成されていますが、
Chuck Boeckngの投稿によれば、ADempiere / iDempiereを含む一般的なERPシステムでは、Perpetual
Inventory Systemが用いられているとのことです。
以後にPeriodicとPerpetualの違いを示し、Perpetual を用いることのメリットを示します。
Periodic Inventory
System
Perpetual
Inventory System
FIFO
-
○
LIFO
-
○
Average Cost
-
○
http://www.chuckboecking.com/blog/bid/329233/Why-Choose-AverageInvoice-in-a-Perpetual-Accounting-System-or-ERP
12
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
前提として、期首に4,000個@$5.5の在庫があり、期中に以下取引があったとします。
仕入
Date
Units
Unit Cost
Total Cost
Jan. 17
1,000
$6.00
$6,000
Mar. 22
3,000
7.00
21,000
Oct. 15
3,000
7.5
22,500
Totals
7,000
Date
49,500
売上
Units
Jan. 10
2,000
Apr. 15
1,500
Nov.20
3,000
Total
6,500
13
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
Periodic FIFOでの仕入と売り上げのマッチングおよび、売上原価、期末在庫を示します。
なお、LIFOは、売上対象と期末在庫が逆になった状態です。
Date
Units
Unit Cost
Beg. Inv.
4,000
$5.5
Jan. 17
1,000
6.0
Mar. 22
1,500
7.0
Mar. 22
1,500
7.0
Oct. 15
3,000
7.5
Total
11,000
6,500個の売り上げ
4,500個の期末在庫
14
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
期首在庫(4,000 units @ 5.50)
$22,000
Plus: 仕入 (7,000 units @ various prices)
49,500
仕入原価 (11,000 units)
71,500
Less: 期末在庫 (determined below)
(33,000)
売上原価 (6,500 units)
$38,500
Date
Units
Unit Cost
Total Cost
Mar. 22
1,500
$7.00
$10,500
Oct. 15
3,000
7.50
22,500
Total
4,500
33,000
15
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
日付
仕入
Beg. Inv
4,[email protected]
Jan. 10
販売
残高
4,[email protected]
2,[email protected]
2,[email protected]
Jan. 17
1,[email protected]
2,[email protected]
1,[email protected]
Mar. 22
3,[email protected]
2,[email protected]
1,[email protected]
3,[email protected]
Apr. 15
Oct. 15
Nov. 20
1,[email protected]
3,[email protected]
[email protected]
1,[email protected]
3,[email protected]
[email protected]
1,[email protected]
3,[email protected]
3,[email protected]
[email protected]
1,[email protected]
1,[email protected]
16
1,[email protected]
3,[email protected]
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
Perpetualを用いるか、Periodicを用いるかについての、Chuck Boeckingの見解を以下に示します。
• 古いWMSおよび、会計システムはデータ連携されていなか
ったため、periodic inventory systemが用いられ、average cost
が利用されてきた。
• それに対して、ERPでは、perpetual inventory systemが採用さ
れており、average costを用いる理由はない
– average costを採用すると、在庫を全部売り払った際、残高が0となら
ない? (丸め誤差の影響?)
17
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
<Perpetual、特に標準原価を用いる場合のメリット>
• 標準原価を利用することにより、売上原価が推測可能となる
。
• 標準原価を利用することにより、付随費用(輸送費等)が自動
計上される。
<どのようなときにPeriodic Average Costを用いるべきか>
• 仕入価格の変動が大きく、BSよりもPLの精度を優先させたい
とき (在庫よりも粗利を精度よく出したいとき)
18
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
以下疑問が個人的に残っており、継続調査が必要。
• Inventoryデータに仕入原価の情報も記録されているのか。
• 会計ルールを変更した場合(retrospective)、どのようにデータ
を修正するべきか。
• Average Costを採用した場合の計算差異はどのようにしょり
するべきなのか。
19
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
1. はじめに
2. お知らせ
3. 特別編
1.
2.
3.
4.
5.
Lightening Talk
ERPにおける棚卸評価手法
Libero MFGの紹介
Maven入門
Selenium Web Driver入門
4. オープンプロジェクト
5. モクモク会
20
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
1. はじめに
2. お知らせ
3. 特別編
1.
2.
3.
4.
5.
Lightening Talk
ERPにおける棚卸評価手法
Libero MFGの紹介
Maven入門
Selenium Web Driver入門
4. オープンプロジェクト
5. モクモク会
21
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
1. Maven入門
1.
2.
3.
4.
Mavenとは
Mavenのインストール
Mavenの実行
注意点
22
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
<概要>
• Javaのライブラリ依存関係を解決し、コンパイル、テスト、
Javadoc生成、デプロイまで行ってくれるツール
• Apache License 2.0
<推奨される理由>
• Antよりも設定が楽
• 最近のEclipseに標準搭載
• デプロイのみならず、Tomcat等のサービス起動も可能
23
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
Mavenが行う大きな流れとしては以下が挙げられます。
(詳細は、mavenの挙動を制御する、pom.xmlの記述により変更されます)
①依存ライブラリのダウン
ロード
Maven
repo
②コンパイル
(local repoにリンク)
local
repo
workspace
③テスト
④デプロイ
Windowsの場合
C:\Users\<ユーザー名>\.m2\repository
target
24
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
Mavenの実行には、コマンドラインからの実行と、Eclipseプラグインからの実行の2つが挙げられます
。
<コマンドライン実行>
1. ファイルのダウンロード
– http://maven.apache.org/download.cgi
2. パス設定
25
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
Eclipseプラグインとしては、q4eが利用できます。Kepler以降では標準で搭載されていますが、それ以
前のeclipseでも以下手順でセットアップできます。
<Eclipse実行 (最近のeclipseには標準搭載)>
1. Help -> Install new software
2. Addをクリック
3. Nameに任意の名称を記入し、locationに以下を設定の上、
OK
1. http://q4e.googlecode.com/svn/trunk/updatesite-iam/
⇒インストールが行われる
26
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
1. プロジェクト作成
$ mvn archetype:create –DgroupId=<Group ID> -DartifactId=<Artifact ID>
-DinteractiveMode=false –DarchetypeArtifactId=<Archetype>
2. Pom.xmlの編集
3. テストの実行
4. ビルド
27
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
コマンドラインからは、以下手順でmavenプロジェクトを作成できます。
$ mvn
archetype:create
–DgroupId=<Group ID>
-DartifactId=<Artifact ID>
-DinteractiveMode=false
–DarchetypeArtifactId=<Archetype>
<Group ID>
Javaパッケージ名 (例: com.xxx.xxx.xxx)
<Artifact ID>
Javaプロジェクト名
<Archetype>
プロジェクトタイプ (maven-archetype-simple等)
http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
28
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
eclipseからは、以下手順でmavenプロジェクトを作成できます。
1. New -> Otherを選択
1.
Maven -> Maven project
2. プロジェクト形態にこだわりがない場合は、Create a simple
projectを選択し、next
3. Group ID, Artifact IDを入力の上、finish
29
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
Simpleプロジェクトを選択した場合は、以下のようなpom.xmlが自動生成される。
必要に応じて、依存ライブラリやpluginを指定する。(Selenium Web Driverの利用には以下が必要)
<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>test</groupId>
<artifactId>test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
<dependencies>
</project>
30
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
以下手順でテストを実行できます。
これにより、testフォルダに格納されたテストコードがビルドされ、実行されます。
※実行ファイルのビルドおよび、デプロイには個々のケースに
応じて、pom.xmlを編集する必要があり、ここでは説明を割愛し
ます。
<コマンドライン>
$ mvn test
<Eclipse>
プロジェクトを右クリックし、run As -> maven test
31
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
<メリット>
• ライブラリ管理の依存関係解決が簡単
• デプロイの他、tomcatの起動など、様々な処理との連携が可能
<デメリット>
• デプロイの要件によっては、Pluginを自作する必要があり、それが
手間? (スクリプティングの簡便性からgradleが注目されている)
• Maven testでテストケースが実行されない場合がある。(そういう仕
様なのか、オペミスなのか、バグなのかは不明)
32
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
1. はじめに
2. お知らせ
3. 特別編
1.
2.
3.
4.
5.
Lightening Talk
ERPにおける棚卸評価手法
Libero MFGの紹介
Maven入門
Selenium Web Driver入門
4. オープンプロジェクト
5. モクモク会
33
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
Selenium Web Driver入門
1.
2.
3.
4.
Selenium Web Driverの位置づけ
コード生成手順
実行手順
注意点
34
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
Selenium2は、以下のモジュールから構成される。
(初代Seleniumから変更が発生してます)
モジュール
機能
Selenium IDE
Firefoxのアドオンとして動作し、画面操作を記録し、スク
リプトとして保存。アサーションによる検証内容を定義で
きる。
Selenium WebDriver
プログラム言語からのClient APIコールを受けて、ブラウ
ザのドライバを介して、ブラウザでの処理を実行するもの。
対応言語としては、Python, Ruby, Java, C#。
Selenium RCの後継
Selenium Grid
リモートマシン上 (WebDriverノード) でのテスト実行を実
現するためのサーバーモジュール
35
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
テストコードから、Selenium Web DriverのAPIをコールすることに
より、Webブラウザが動作し、アプリケーションのテストを行うこ
とができます。
そして、そのテストコードはSelenium IDEのテストケースから、
自動生成することが可能です。
Webアプリケーション
Webブラウザ
Selenium Web Driver
Test Code
(Java, .Net, Ruby Python)
Selenium IDE
コード生成
36
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
Selenium Web Driverでテストを実行する際、いくつか事前準備が必要となります。
1. 開発環境 (JDK, Eclipse等) の用意
2. Selenium IDEでのテストケース生成
3. Selenium, Junitライブラリのダウンロード
–
ここでは前節でしめしたmavenによるセットアップを利用
4. Web Driverのダウンロード
– FirefoxおよびSafari
– Chrome
• https://code.google.com/p/selenium/wiki/ChromeDriver
• ドライバファイルにパスを通す
– IE
• http://docs.seleniumhq.org/download/
• ドライバファイルにパスを通す
37
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
Selenium IDEで生成したテストケースからのテストコード生成手順を以下に示します。
なお、ここではJavaを対象とします。
1. Selenium IDEで、テストコード生成対象のテストケースを開く
2. オプション -> 設定を選択
3. Enable experimental featureをチェック
1.
オプション -> フォーマットから、各開発言語のメニューが表示されるよう
になる
4. オプション -> フォーマット -> 変換先開発言語を選択
1.
ウィンドウ内に選択した言語でのコードが表示される。
5. Eclipseのプロジェクトにコードをコピー&ペースト、クラス名を修正
38
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
1. Eclipse上のファイルを選択し、Junitを実行
39
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
<メリット>
• Selenium IDEでのテストケース作成には限界があるため、そ
れを補うためには、Web Driverによるテストコード生成・編集
が必要。
– 例:
• AJAX等により、ブラウザ上の右クリックが制限されている場合
• DBに格納されたリストデータをexpected resultとして利用したいなどの反復的処理
<デメリット>
• linkTextには、空白を含む文字列が認識されないため、xpath
に編集が必要など、Selenium IDEでは動くが、Web Driverで
は動かない場合がある。
40
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
1.
2.
3.
4.
はじめに
お知らせ
特別編
オープンプロジェクト
1.
Odooの紹介
5. モクモク会
41
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
42
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
1.
2.
3.
4.
5.
はじめに
お知らせ
特別編
オープンプロジェクト
モクモク会
43
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.
著作権
本書の記載内容は、著作権の対象となっています。
本書の内容の全部または一部について、私的使用または引用等著作権法上認められた行為として、適
宜の方法により出所を明示することにより、引用・転載複製を行うことができます。
免責事項
本書に記載されている情報の正確さについては万全を期しておりますが、利用者が本書の情報を用い
て行う一切の行為について、何ら責任を負うものではありません。
その他
本書は、予告なしに内容を変更またはSourceForge.jpからの公開の取りやめを行う場合がありますが、あ
らかじめご了承ください。
本書の記載内容に関するお問い合わせ先
Open Source ERP Users Group
http://www.oss-erp.jp/
44
Copyright © 2013 Open Source ERP Users Group
All Rights Reserved.