470 likes | 913 Views
Open Source ERP Users Group 第 16 回勉強会. 2014 年 8 月 30 日 @ オープンソース・ワークショップ. 目次. はじめに [5min] お知らせ [5min] 特別編 [50min] オープンプロジェクト [60min] モクモク会 [60min]. 目次. はじめに お知らせ 特別編 オープンプロジェクト モクモク会. はじめに ( 勉強会の目的 ).
E N D
Open Source ERP Users Group第16回勉強会 2014年8月30日 @オープンソース・ワークショップ
目次 • はじめに [5min] • お知らせ [5min] • 特別編 [50min] • オープンプロジェクト [60min] • モクモク会 [60min]
目次 • はじめに • お知らせ • 特別編 • オープンプロジェクト • モクモク会
はじめに(勉強会の目的) 本勉強会では、Open Source ERPの導入支援として、基礎となる体系的な情報整理とその共有を目指します。コミュニティ参加者には本勉強会の知識をベースとして、より高次の理解に取り組んで頂き、知り得た内容を、コミュニティに共有頂く、といった”お互いに教えあう場”となればと考えています。 理解度 実利用に求められる知識に対して、体系的な整理が行われていない 領域 以前の課題 理解度 連続勉強会により、 体系的な情報整理 ⇒勉強会の知識を基礎として、より高次の知見へ展開 領域 勉強会の目標
はじめに(勉強会の注意点) 勉強会参加者の興味対象は、人によって異なるため、必ずしも参加者全員の知的欲求を満たせるとは限りません。 当活動はボランティアベースであるため、Bさん、Cさんの興味対象であるがAさんの興味対象外の事柄については、Aさんに期待するのではなく、各自で取り組んでみましょう。 Cさんの興味 Aさんの興味 Bさんの興味
目次 • はじめに • お知らせ • 特別編 • オープンプロジェクト • モクモク会
お知らせ(リリース情報) • Odoo 8 dev, Bitnamiからリリース • http://blog.bitnami.com/2014/08/waiting-for-openerp-8-odoo-openerp-8.html
お知らせ(ADempiere/iDempiere Wiki更新) • iDempiere Wiki更新 • iDempiere Workshop 2014 • http://wiki.idempiere.org/w-en/index.php?title=IDempiere_Workshop_2014&oldid=5735 • ADempiere Wiki更新 • None
お知らせ(その他) • Open Discussion about iDempiere Foundation • https://groups.google.com/forum/?hl=ja#!topic/idempiere/Ht33vkCJs0E • Video Tutorial for iDempiere from Jan Thieleman • https://www.youtube.com/user/evenosconsulting • Video on trial connection of Arduino to Odoo • https://www.odoo.com/groups/community-59/community-8928359?mode=thread&date_begin=&date_end= • Facebookの紹介文を変更 (対象にOdooを追加)
目次 • はじめに • お知らせ • 特別編 • Lightening Talk • ERPにおける棚卸評価手法 • Libero MFGの紹介 • Maven入門 • Selenium Web Driver入門 • オープンプロジェクト • モクモク会
目次 • はじめに • お知らせ • 特別編 • Lightening Talk • ERPにおける棚卸評価手法 • Libero MFGの紹介 • Maven入門 • Selenium Web Driver入門 • オープンプロジェクト • モクモク会
ERPにおける棚卸評価手法 US-GAAPでは、棚卸評価手法には大きく以下のように、6つのアプローチから構成されていますが、Chuck Boeckngの投稿によれば、ADempiere / iDempiereを含む一般的なERPシステムでは、Perpetual Inventory Systemが用いられているとのことです。 以後にPeriodicとPerpetualの違いを示し、Perpetual を用いることのメリットを示します。 http://www.chuckboecking.com/blog/bid/329233/Why-Choose-Average-Invoice-in-a-Perpetual-Accounting-System-or-ERP
ERPにおける棚卸評価手法(前提条件) 前提として、期首に4,000個@$5.5の在庫があり、期中に以下取引があったとします。 仕入 売上
ERPにおける棚卸評価手法(Periodic FIFO) Periodic FIFOでの仕入と売り上げのマッチングおよび、売上原価、期末在庫を示します。 なお、LIFOは、売上対象と期末在庫が逆になった状態です。 6,500個の売り上げ 4,500個の期末在庫
ERPにおける棚卸評価手法(Chuck Boeckingの見解) Perpetualを用いるか、Periodicを用いるかについての、Chuck Boeckingの見解を以下に示します。 • 古いWMSおよび、会計システムはデータ連携されていなかったため、periodic inventory systemが用いられ、average costが利用されてきた。 • それに対して、ERPでは、perpetual inventory systemが採用されており、average costを用いる理由はない • average costを採用すると、在庫を全部売り払った際、残高が0とならない? (丸め誤差の影響?)
ERPにおける棚卸評価手法(Chuck Boeckingの見解) <Perpetual、特に標準原価を用いる場合のメリット> • 標準原価を利用することにより、売上原価が推測可能となる。 • 標準原価を利用することにより、付随費用(輸送費等)が自動計上される。 <どのようなときにPeriodic Average Costを用いるべきか> • 仕入価格の変動が大きく、BSよりもPLの精度を優先させたいとき (在庫よりも粗利を精度よく出したいとき)
ERPにおける棚卸評価手法(今後の課題) 以下疑問が個人的に残っており、継続調査が必要。 • Inventoryデータに仕入原価の情報も記録されているのか。 • 会計ルールを変更した場合(retrospective)、どのようにデータを修正するべきか。 • Average Costを採用した場合の計算差異はどのようにしょりするべきなのか。
目次 • はじめに • お知らせ • 特別編 • Lightening Talk • ERPにおける棚卸評価手法 • Libero MFGの紹介 • Maven入門 • Selenium Web Driver入門 • オープンプロジェクト • モクモク会
目次 • はじめに • お知らせ • 特別編 • Lightening Talk • ERPにおける棚卸評価手法 • Libero MFGの紹介 • Maven入門 • Selenium Web Driver入門 • オープンプロジェクト • モクモク会
目次 • Maven入門 • Mavenとは • Mavenのインストール • Mavenの実行 • 注意点
Maven入門(Mavenとは) <概要> • Javaのライブラリ依存関係を解決し、コンパイル、テスト、Javadoc生成、デプロイまで行ってくれるツール • Apache License 2.0 <推奨される理由> • Antよりも設定が楽 • 最近のEclipseに標準搭載 • デプロイのみならず、Tomcat等のサービス起動も可能
Maven入門(Mavenとは) Mavenが行う大きな流れとしては以下が挙げられます。 (詳細は、mavenの挙動を制御する、pom.xmlの記述により変更されます) ②コンパイル (local repoにリンク) ①依存ライブラリのダウンロード Maven repo local repo workspace ③テスト Windowsの場合 C:\Users\<ユーザー名>\.m2\repository ④デプロイ target
Maven入門(Mavenのインストール) Mavenの実行には、コマンドラインからの実行と、Eclipseプラグインからの実行の2つが挙げられます。 <コマンドライン実行> • ファイルのダウンロード • http://maven.apache.org/download.cgi • パス設定
Maven入門(Mavenのインストール) Eclipseプラグインとしては、q4eが利用できます。Kepler以降では標準で搭載されていますが、それ以前のeclipseでも以下手順でセットアップできます。 <Eclipse実行 (最近のeclipseには標準搭載)> • Help -> Install new software • Addをクリック • Nameに任意の名称を記入し、locationに以下を設定の上、OK • http://q4e.googlecode.com/svn/trunk/updatesite-iam/ ⇒インストールが行われる
Maven入門(Mavenの実行) • プロジェクト作成 $ mvn archetype:create –DgroupId=<Group ID> -DartifactId=<Artifact ID> -DinteractiveMode=false –DarchetypeArtifactId=<Archetype> • Pom.xmlの編集 • テストの実行 • ビルド
Maven入門(Mavenの実行/プロジェクト作成) コマンドラインからは、以下手順で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
Maven入門(Mavenの実行/プロジェクト作成) eclipseからは、以下手順でmavenプロジェクトを作成できます。 • New -> Otherを選択 • Maven -> Maven project • プロジェクト形態にこだわりがない場合は、Create a simple projectを選択し、next • Group ID, Artifact IDを入力の上、finish
Maven入門(Mavenの実行/pom.xmlの編集) 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>
Maven入門(Mavenの実行/テストの実行) 以下手順でテストを実行できます。 これにより、testフォルダに格納されたテストコードがビルドされ、実行されます。 ※実行ファイルのビルドおよび、デプロイには個々のケースに応じて、pom.xmlを編集する必要があり、ここでは説明を割愛します。 <コマンドライン> $ mvn test <Eclipse> プロジェクトを右クリックし、run As -> maven test
Maven入門(Mavenのメリット・デメリット) <メリット> • ライブラリ管理の依存関係解決が簡単 • デプロイの他、tomcatの起動など、様々な処理との連携が可能 <デメリット> • デプロイの要件によっては、Pluginを自作する必要があり、それが手間? (スクリプティングの簡便性からgradleが注目されている) • Maven testでテストケースが実行されない場合がある。(そういう仕様なのか、オペミスなのか、バグなのかは不明)
目次 • はじめに • お知らせ • 特別編 • Lightening Talk • ERPにおける棚卸評価手法 • Libero MFGの紹介 • Maven入門 • Selenium Web Driver入門 • オープンプロジェクト • モクモク会
目次 Selenium Web Driver入門 • Selenium Web Driverの位置づけ • コード生成手順 • 実行手順 • 注意点
Selenium Web Driver入門(Selenium Web Driverの位置づけ) Selenium2は、以下のモジュールから構成される。 (初代Seleniumから変更が発生してます)
Selenium Web Driver入門(Selenium Web Driverの位置づけ) テストコードから、Selenium Web DriverのAPIをコールすることにより、Webブラウザが動作し、アプリケーションのテストを行うことができます。 そして、そのテストコードはSelenium IDEのテストケースから、自動生成することが可能です。 Webアプリケーション Webブラウザ Selenium Web Driver Selenium IDE Test Code (Java, .Net, Ruby Python) コード生成
Selenium Web Driver入門(テストコード生成手順) Selenium Web Driverでテストを実行する際、いくつか事前準備が必要となります。 • 開発環境 (JDK, Eclipse等) の用意 • Selenium IDEでのテストケース生成 • Selenium, Junitライブラリのダウンロード • ここでは前節でしめしたmavenによるセットアップを利用 • Web Driverのダウンロード • FirefoxおよびSafari • Chrome • https://code.google.com/p/selenium/wiki/ChromeDriver • ドライバファイルにパスを通す • IE • http://docs.seleniumhq.org/download/ • ドライバファイルにパスを通す
Selenium Web Driver入門(テストコード生成手順) Selenium IDEで生成したテストケースからのテストコード生成手順を以下に示します。 なお、ここではJavaを対象とします。 • Selenium IDEで、テストコード生成対象のテストケースを開く • オプション -> 設定を選択 • Enable experimental featureをチェック • オプション -> フォーマットから、各開発言語のメニューが表示されるようになる • オプション -> フォーマット -> 変換先開発言語を選択 • ウィンドウ内に選択した言語でのコードが表示される。 • Eclipseのプロジェクトにコードをコピー&ペースト、クラス名を修正
Selenium Web Driver入門(Selenium Web Driverテスト実行) • Eclipse上のファイルを選択し、Junitを実行
Selenium Web Driver入門(Selenium Web Driverのメリット・デメリット) <メリット> • Selenium IDEでのテストケース作成には限界があるため、それを補うためには、Web Driverによるテストコード生成・編集が必要。 • 例: • AJAX等により、ブラウザ上の右クリックが制限されている場合 • DBに格納されたリストデータをexpected resultとして利用したいなどの反復的処理 <デメリット> • linkTextには、空白を含む文字列が認識されないため、xpathに編集が必要など、Selenium IDEでは動くが、Web Driverでは動かない場合がある。
目次 • はじめに • お知らせ • 特別編 • オープンプロジェクト • Odooの紹介 • モクモク会
オープンプロジェクト(Odooとは) <概要> • Pythonで実装されたSOAベースのオープンソースERP(AGPL) • 200万人のユーザーがおり、500社のパートナー。 • DBにはPostgreSQLを利用 • Git Hubからソース公開 (Gitを利用) • Launchpadで翻訳定義を管理 • 2014年5月にOpen ERPから名称変更 • クラウドサービスは$15/user/month (2人の利用までは無料) • 利用モジュール単位で課金
オープンプロジェクト(Odooとは) 主に以下の6つのアプリケーションから構成される。
オープンプロジェクト(Odooとは) • Setting Up OpenERP • Starting Your First Company • Exploring Customer Relationship Management in OpenERP • Purchasing with OpenERP • Making Goods with Manufacturing Resource Planning • Configuring Accounting and Finance • Implementing the Human Resources Application • Understanding Project Management • Creating Advanced Searches and Dashboards • Customizing OpenERP for Your Business • Understanding Workflows • Modifying Documents and Reports • Discovering Custom OpenERP Modules • Integrating Warehouse and Inventory Management Practices
オープンプロジェクト(Odooのアーキテクチャ) • Multi-tenant 3tier architecture • PostgreSQL • OpenERP Server • Server ORM • Server Web • Module • Client • MVCモデル • https://doc.odoo.com/trunk/server/02_architecture/
目次 • はじめに • お知らせ • 特別編 • オープンプロジェクト • モクモク会
著作権・免責事項 著作権 本書の記載内容は、著作権の対象となっています。 本書の内容の全部または一部について、私的使用または引用等著作権法上認められた行為として、適宜の方法により出所を明示することにより、引用・転載複製を行うことができます。 免責事項 本書に記載されている情報の正確さについては万全を期しておりますが、利用者が本書の情報を用いて行う一切の行為について、何ら責任を負うものではありません。 その他 本書は、予告なしに内容を変更またはSourceForge.jpからの公開の取りやめを行う場合がありますが、あらかじめご了承ください。 本書の記載内容に関するお問い合わせ先 Open Source ERP Users Group http://www.oss-erp.jp/