SlideShare a Scribd company logo
1 of 64
Download to read offline
Spring Boot
+
Doma
+
AngularJS
で作る
ERP(統合基幹業務システム)
JJUG CCC 2014 Fall
2014/11/15
自己紹介
• 名前: 松崎 学
• 福岡に住んでます
• Twitter: matsumana
• blog: http://matsumana.info
• 所属: 株式会社キャム http://cam-net.co.jp/
• 職業: ソフトウェアエンジニア

(プログラマ、ITインフラエンジニア)
今日お話する事
• ERPとは何か?
• 弊社サービスの特徴と、それを支える技術の概要

・アーキテクチャの歴史

・インフラ
• Spring Boot, Doma, AngularJSを選んだ理由と

実際に使ってみた感想
まず始めに
ERPとは何か?
企業全体を経営資源の有効活用の観点から
統合的に管理し、経営の効率化を図るための
手法・概念のこと。
ERPが一般的に扱うものは企業における
製造・物流・販売・調達・人事・財務会計である。
ERPパッケージはこれらの基幹業務に関する
業務活動の情報管理を支援する。
Wikipediaより
http://ja.wikipedia.org/wiki/企業資源計画
基幹システムとは何か?
企業の情報システムのうち、業務内容と直接に関わる販売や
在庫管理、財務などを扱うもの。
あるいは、単に、業務やサービスの中核となる重要なシステム。
IT用語辞典 e-Wordsより
http://e-words.jp/w/E59FBAE5B9B9E7B3BBE382B7E382B9E38386E383A0.html
例えばERPでカバーする
サブシステムには
次のようなものがあります
• 受発注
• 購買債務
• 販売債権
• 製造
• 在庫
• 原価
• 財務会計
• 管理会計
• 人事
• 給与
• 勤怠
• などなど
• サービス(SaaS)として提供

マルチテナントなアプリ

顧客のオンプレミス環境ではなく、

弊社が構築・運用しているインフラ環境(AWS)

でアプリを稼働させている
• インフラ費用は全て弊社負担

インフラ費用増 = 利益減

少ないリソースでリクエストを捌く事が非常に重要
• OSやブラウザのバージョンアップ対応は無償
サービスの特徴
アーキテクチャを
選定する上で重要なポイント
• SaaSなので、インフラ要件はWeb系に近い

(インフラ構成はかなり参考にしています)
• ERPはミッションクリティカルかつ、ライフサイクル
が長い。長い場合は10年間とか使われる

(弊社では同じアプリを10年使い続けるのではなく

定期的に作り直す事にしています)
• 画面の操作性、入力効率、サクサク感
サービスの規模感
• 画面数

約1,000画面
• テーブル数

約750
サービスの歴史
フレームワーク編
• 2007∼ Seasar2 (Teeda + S2Dao)

※現在も稼働中
• 2012∼ Java EE 6 (JSF + JPA)

※現在も稼働中
• 2014∼ Spring Boot + Doma + AngularJS
サービスの歴史
インフラ編
• 2007∼ 国内データセンター
• 2013∼ AWS
インフラの
全体概要図
http://goo.gl/cTexvM
• サーバやミドルウェアは必ず障害が発生する前提で

考えたインフラ構成とアーキテクチャ
• 一部に障害が発生してもサービスが止まらないように

各レイヤーは冗長構成にする
• サービスが止まるような障害の場合でも

出来るだけ早く復旧出来るようにする
ポイント
使用しているソフトウェア
• Webサーバ: Apache 2.2
• APサーバ: Seasar2 → Tomcat 6

Java EE 6 → GlassFish 3.1.2.2

Spring Boot → Jetty9.2.3.v20140905
• DBサーバ: PostgreSQL 9.3
• 監視: Zabbix 2.0

EC2インスタンスのOSリソース監視

APサーバをJMXで監視 (Zabbix Javaゲートウェイ)
• CI,デプロイ: Jenkins
ログ収集はFluentd
• AWS (EC2, S3, Route53, SES, RDS, VPC)
• GitHub
• レスポンスタイム可視化: New Relic
• ログ分析: Google BigQuery
• 通知: HipChat
使用しているサービス
次はアプリのお話
2007年の
サービスローンチ時から
開発を続けてきた
Seasar2製のアプリですが
数年後には色んな問題が
出てきました
• ローンチ当時は、IE6とIE7のみサポート

(開発を開始した2007年にはChromeは存在してない)
• 2009年にリリースされたIE8で互換表示モード登場

互換表示でしか動作しないアプリに

なってしまった・・・
_人人 人人 人人 人人_
> 突然のオワコン感 <
 ̄Y^Y^Y^Y^Y^Y^Y^Y ̄
互換モード以外にもいくつか

問題が出てきた
• 時代遅れ感が出てきたUI

リッチなWebサイトが世の中に増えて

顧客の目が肥えてきた
• 他社システムと連携するため、

REST API提供を求められるようになった
今のアプリを改修するべきか?

それとも作りなおすべきか?
この時点で画面数は
数百になっていた
改修するよりも
作りなおした方が良い
という結論になる
候補にあがったもの
• Java EE 6 (JSF)
• Spring
• Play Framework 1
その時点で
一番良さそうだった
Java EE 6を選択
サポートするブラウザはIE8以上とした
(互換表示モードからの脱却)
Java EE 6で開発と
運用をやってみたけど
• JPAでハマる事が多い
• CDIに@ViewScopedがない

※Java EE7で改善されてます
• PrimeFacesではGridの列固定が出来なかった

※現在のバージョンでは出来ます
• JSFで作った画面が重く感じる

※画面項目数、サーバスペック、クライアントスペック等によるので

あくまでも当社比です
Java EEやPrimeFaces
を使うなら
保守契約を
おすすめします
弊社にはJava EEは
合わないのでは?

(́・ω・`)
という気持ちになってきた
Java EE 6で2つの
サブシステムを作ったが
これ以上増やすのは
やめようという結論になり

次の手を模索する事に
そんなある日

Spring Bootの存在を知る
• JJUG ナイトセミナー 2014/01/21

@makingさんの

「Spring4とSpring Bootで作る

次世代Springアプリケーション」

http://www.slideshare.net/makingx/spring-4spring-boot-spring-jjug-jsug
早速試してみた
• Springで大変だと聞いていたxml設定ファイルや

依存関係の複雑さが解決されているし、

組み込みAPサーバもいい感じ

• 元々、SpringとDropwizardに注目していたので

いいとこ取りな感じがとても良い
いくつか候補をあげて
比較検討
要件を再度整理
• 少ないリソースで、多くのリクエストを捌けて

スケールしやすいアーキテクチャ

(ステートフルなアプリはスケールさせにくいので

ステートレスが良さげ)
• サクサク動く画面にしたい
• UIを改善したい
• モダンブラウザにも対応したい

(顧客からChrome対応の要望がかなり多い)
候補1
• Java EE 7(JSF) + Doma



対応する商用アプリケーションサーバが

未リリースなのでNG

(リリース時期も未定だった)
候補2
• Spring Boot (Spring MVC + Thymeleaf) + Doma



JSFの複合コンポーネント的なものがない

JSPだとカスタムタグがあるが

Spring BootはJSPを推奨していないみたい
候補3
• Spring Boot (Spring MVCでAPI) + Doma

+ Backbone.js



JSFの複合コンポーネント的なものがない

Backbone.jsで構造化は出来るが

生産性がもっと高いものが良い
候補4
• Spring Boot (Spring MVCでAPI) + Doma

+ AngularJS



Directiveがカスタムタグの代替にはなりそう

フロントフレームワークの中では遅い部類だと

言われているが、試してみるとJSFよりサクサク動く

※当社比
そんな経緯で
Spring Boot

+

Doma

+
AngularJS

を採用
開発はLinux上で
やってます
• Windowsで開発し、本番がLinuxだと

それに起因するバグを出してしまう事がある



文字コード、改行コード、パス区切り文字

レポートのレイアウト崩れ(iText, iReport)

など
• 必要な開発ツールのごった煮感が半端なくて、

セットアップが大変なので

チームのメンバーにVirtualBoxとVagrantを

インストールしてもらい、

boxファイルとChefのcookbookを配布



※ホストOSとゲストOSでクリップボードの共有が

おかしいので、ちょっと不便です・・・
プロビジョニングしている
ソフトウェア (1)
• Java8
• Maven
• Node.js
• PostgreSQL 9.3
• Fluentd (td-agent)
プロビジョニングしている
ソフトウェア (2)
• Chromium
• Mozc
• LibreOffice
• oh-my-zsh
• xrdp
Spring Boot, Doma,

AngularJSを
使ってみた感想など
Spring Boot / Spring
• Seasar2とJava EE 6を使ってきたので、

Springのコンテナ機能(DI, トランザクション, AOPなど)
は理解しやすかった
• テストライブラリが充実していて良い感じ
• ユニットテストもJettyも起動が早く快適に開発できる

※当社比
• サーバのリソース消費が少ない

(TomatではなくJettyを選択

早い時期からJava8やWebSocketに対応していた為)
Doma
• SQLでゴリゴリ書きたい派には、とてもオススメ
• 依存ライブラリが無いのも、とてもいい感じ
• 便利機能がいっぱい

・Java8対応

・コンパイル時チェック

・SQLファイル内の変数チェック

・SQLファイルの存在チェック

・ページング (Limit, Offset, 総レコード件数)
他にも沢山あります。詳しくはドキュメントを
http://doma.readthedocs.org/ja/latest/
AngularJS
• 学習コストは確かに高いが、現在は日本語の書籍も

あるので、多少は改善されているのかも
• Directiveにてデザインと動作を共通化した部品が

作成でき便利
• ライブラリはangular-bootstrapだけ使う事にした

(その他で必要なものは自分たちで作る方針にした)
• バージョンアップで後方互換性が保たれない

(弊社の場合はアプリを改修して、バージョンアップ 

に追従していく方針にした)
弊社でのAngularJSの
使い方を少しだけご紹介
• Directiveに画面レイアウト情報とデータを与えて

画面項目を動的に生成

マルチテナントなアプリなので、

顧客ごとのカスタマイズをマスタで行えるようにしています
<hoge-form-grid
layout-src="layout.formLayout"
model-src="model" >
</hoge-form-grid>
<hoge-table-grid-paging
layout-src="layout.tableLayout"
model-src="model" >
</hoge-table-grid-paging>
<hoge-table-grid
layout-src="layout.tableLayout"
model-src= model">
</hoge-table-grid>
モジュール構成 (概要)
• Javaのビルドルーツ: Maven
• フロントエンドのタスクツール: Grunt

maven-grunt-pluginを使ってMavenから起動される

jshint, karma(Jasmine), concat, cssmin, uglifyを実行する
Spring BootやDomaに
関するブログを
いくつか書いてます
• Spring BootでISUCON4予選のJava実装を作った
• Spring Bootで現在捌いているリクエスト数を

取得する
• Spring + Domaで実装したアプリのユニットテスト
• Domaで実行したSQLを取得する
• Spring Boot + Domaで動的データソース切り替え
http://matsumana.info/blog/categories/spring/
Springの資料としては
TERASOLUNAの
ガイドラインが
おすすめ
http://terasolunaorg.github.io/guideline/
Springユーザだけではなく

Java EEユーザにとっても
参考になると思います
AngularJSは業務システムに
使えるのか?
• 品質的には業務で使っても問題ないと思う
• 画面モック(素のHTML)を元にアプリ作成可能
• AngularJSに限った事ではないが、

現在流行っているフロントフレームワークが

5年後、10年後も互換性を保った状態で流行っている
とは考えにくい

「動かなくなったらフロントだけ作りなおせば良い」

という意見はあると思うが、フロントフレームワーク
を使わなければ、発生しない不要なコストなのかも
フロントフレームワーク
を採用する場合に
考えてもらいたい事
• そのシステムは何年間くらい使われるのか?

(ソフトウェアの償却期間は、3年もしくは5年です)
• フレームワークのバージョンアップに追従する予算は
確保出来るのか?
次のような場合は
Java EE(JSF)を
選択した方が
良いのかも
(個人的な意見です)
• 保守サポートが必要な場合
• フロントフレームワークのバージョンアップに伴う

改修の予算が確保できない場合
弊社の今後
• Spring Boot + Doma + AngularJSは

弊社にはあっているので今後も使い続けるつもり



AngularJSで業務システム作っている方、

ぜひ情報交換させてください!
まとめ
• 標準技術だから。流行っているから。ではなく

きちんと検討・検証して自分達にあうものを

選びましょう
事例の一つとして
何かのお役に立てば
幸いです
ありがとうございました!

More Related Content

What's hot

さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みTakeshi Ogawa
 
What's new in Spring Batch 5
What's new in Spring Batch 5What's new in Spring Batch 5
What's new in Spring Batch 5ikeyat
 
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割Recruit Lifestyle Co., Ltd.
 
Springを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイントSpringを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイント土岐 孝平
 
Spring超入門-Springと出会ってから1年半-
Spring超入門-Springと出会ってから1年半-Spring超入門-Springと出会ってから1年半-
Spring超入門-Springと出会ってから1年半-Ryosuke Uchitate
 
初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー
初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー
初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービューMasatoshi Tada
 
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本Takahiro YAMADA
 
今さら聞けないDiとspring
今さら聞けないDiとspring今さら聞けないDiとspring
今さら聞けないDiとspring土岐 孝平
 
Open Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere LibertyOpen Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere LibertyTakakiyo Tanaka
 
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界Y Watanabe
 
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきことこれからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと土岐 孝平
 
PostgreSQL Unconference #5 ICU Collation
PostgreSQL Unconference #5 ICU CollationPostgreSQL Unconference #5 ICU Collation
PostgreSQL Unconference #5 ICU CollationNoriyoshi Shinoda
 
社内Java8勉強会 ラムダ式とストリームAPI
社内Java8勉強会 ラムダ式とストリームAPI社内Java8勉強会 ラムダ式とストリームAPI
社内Java8勉強会 ラムダ式とストリームAPIAkihiro Ikezoe
 
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニングJVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング佑哉 廣岡
 
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...NTT DATA Technology & Innovation
 
バッチは地味だが役に立つ
バッチは地味だが役に立つバッチは地味だが役に立つ
バッチは地味だが役に立つapkiban
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みChihiro Ito
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugMasatoshi Tada
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -onozaty
 
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き土岐 孝平
 

What's hot (20)

さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
 
What's new in Spring Batch 5
What's new in Spring Batch 5What's new in Spring Batch 5
What's new in Spring Batch 5
 
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
 
Springを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイントSpringを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイント
 
Spring超入門-Springと出会ってから1年半-
Spring超入門-Springと出会ってから1年半-Spring超入門-Springと出会ってから1年半-
Spring超入門-Springと出会ってから1年半-
 
初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー
初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー
初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー
 
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
 
今さら聞けないDiとspring
今さら聞けないDiとspring今さら聞けないDiとspring
今さら聞けないDiとspring
 
Open Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere LibertyOpen Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere Liberty
 
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
 
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきことこれからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
 
PostgreSQL Unconference #5 ICU Collation
PostgreSQL Unconference #5 ICU CollationPostgreSQL Unconference #5 ICU Collation
PostgreSQL Unconference #5 ICU Collation
 
社内Java8勉強会 ラムダ式とストリームAPI
社内Java8勉強会 ラムダ式とストリームAPI社内Java8勉強会 ラムダ式とストリームAPI
社内Java8勉強会 ラムダ式とストリームAPI
 
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニングJVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング
 
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
 
バッチは地味だが役に立つ
バッチは地味だが役に立つバッチは地味だが役に立つ
バッチは地味だが役に立つ
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
 
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
 

Viewers also liked

JJUG CCC 2014 fall Javaが見るニュータイプの夢
JJUG CCC 2014 fall Javaが見るニュータイプの夢JJUG CCC 2014 fall Javaが見るニュータイプの夢
JJUG CCC 2014 fall Javaが見るニュータイプの夢なおき きしだ
 
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 FallJavaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 FallYusuke Suzuki
 
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57Toshiaki Maki
 
Spring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfk
Spring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfkSpring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfk
Spring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfk学 松崎
 
福岡Ruby会議01 20121201 LT
福岡Ruby会議01 20121201 LT福岡Ruby会議01 20121201 LT
福岡Ruby会議01 20121201 LT学 松崎
 
OSC福岡2012 LT 20121208
OSC福岡2012 LT 20121208OSC福岡2012 LT 20121208
OSC福岡2012 LT 20121208学 松崎
 
クラウド・SaaS型 統合基幹業務システム 「CAM MACS」を支える PostgreSQL ~雲に乗ったゾウ~
クラウド・SaaS型 統合基幹業務システム 「CAM MACS」を支える PostgreSQL ~雲に乗ったゾウ~クラウド・SaaS型 統合基幹業務システム 「CAM MACS」を支える PostgreSQL ~雲に乗ったゾウ~
クラウド・SaaS型 統合基幹業務システム 「CAM MACS」を支える PostgreSQL ~雲に乗ったゾウ~学 松崎
 
fukinfra Vol3 LT 20120629
fukinfra Vol3 LT 20120629fukinfra Vol3 LT 20120629
fukinfra Vol3 LT 20120629学 松崎
 
Fukuokaphp vol12 talk_20140225
Fukuokaphp vol12 talk_20140225Fukuokaphp vol12 talk_20140225
Fukuokaphp vol12 talk_20140225学 松崎
 
Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)
Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)
Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)学 松崎
 
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2学 松崎
 

Viewers also liked (11)

JJUG CCC 2014 fall Javaが見るニュータイプの夢
JJUG CCC 2014 fall Javaが見るニュータイプの夢JJUG CCC 2014 fall Javaが見るニュータイプの夢
JJUG CCC 2014 fall Javaが見るニュータイプの夢
 
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 FallJavaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
 
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
 
Spring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfk
Spring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfkSpring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfk
Spring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfk
 
福岡Ruby会議01 20121201 LT
福岡Ruby会議01 20121201 LT福岡Ruby会議01 20121201 LT
福岡Ruby会議01 20121201 LT
 
OSC福岡2012 LT 20121208
OSC福岡2012 LT 20121208OSC福岡2012 LT 20121208
OSC福岡2012 LT 20121208
 
クラウド・SaaS型 統合基幹業務システム 「CAM MACS」を支える PostgreSQL ~雲に乗ったゾウ~
クラウド・SaaS型 統合基幹業務システム 「CAM MACS」を支える PostgreSQL ~雲に乗ったゾウ~クラウド・SaaS型 統合基幹業務システム 「CAM MACS」を支える PostgreSQL ~雲に乗ったゾウ~
クラウド・SaaS型 統合基幹業務システム 「CAM MACS」を支える PostgreSQL ~雲に乗ったゾウ~
 
fukinfra Vol3 LT 20120629
fukinfra Vol3 LT 20120629fukinfra Vol3 LT 20120629
fukinfra Vol3 LT 20120629
 
Fukuokaphp vol12 talk_20140225
Fukuokaphp vol12 talk_20140225Fukuokaphp vol12 talk_20140225
Fukuokaphp vol12 talk_20140225
 
Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)
Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)
Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)
 
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
 

Similar to Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12

How to develop a huge Single Page Application
How to develop a huge Single Page ApplicationHow to develop a huge Single Page Application
How to develop a huge Single Page ApplicationNaoki Yamada
 
スケジュール遅延が当たり前な状況を少し良くしたいチームがその未来のためにScrumに”再”挑戦した話
スケジュール遅延が当たり前な状況を少し良くしたいチームがその未来のためにScrumに”再”挑戦した話スケジュール遅延が当たり前な状況を少し良くしたいチームがその未来のためにScrumに”再”挑戦した話
スケジュール遅延が当たり前な状況を少し良くしたいチームがその未来のためにScrumに”再”挑戦した話Rakuten Commerce Tech (Rakuten Group, Inc.)
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱Koichi ITO
 
最近のSpringFramework2013 #jjug #jsug #SpringFramework
最近のSpringFramework2013 #jjug #jsug #SpringFramework最近のSpringFramework2013 #jjug #jsug #SpringFramework
最近のSpringFramework2013 #jjug #jsug #SpringFrameworkToshiaki Maki
 
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発Naoki Umehara
 
Spring知っておきたい
Spring知っておきたいSpring知っておきたい
Spring知っておきたいYuichi Hasegawa
 
OutSystems Workflow Builder
OutSystems Workflow BuilderOutSystems Workflow Builder
OutSystems Workflow BuilderTetsuo Ajima
 
Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!Hasegawa Yusuke
 
Jaws festa-2014-cdp-03
Jaws festa-2014-cdp-03Jaws festa-2014-cdp-03
Jaws festa-2014-cdp-03宗 大栗
 
業務システムで使うSpring Dynamic Modules
業務システムで使うSpring Dynamic Modules業務システムで使うSpring Dynamic Modules
業務システムで使うSpring Dynamic ModulesHiroki Kondo
 
Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例 Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例 OSSラボ株式会社
 
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~normalian
 
XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論
XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論
XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論賢次 海老原
 
Spath for enterprise
Spath for enterpriseSpath for enterprise
Spath for enterpriseKoichiro Sumi
 
Cloud garage使って ECサイトの構築
Cloud garage使って ECサイトの構築Cloud garage使って ECサイトの構築
Cloud garage使って ECサイトの構築毅 佐藤
 
【HTML5ゲーム開発環境勉強会 】PlayCanvasビルトインコンポーネント ディープダイブ第一弾【物理エンジン】(2018/12/11講演)
【HTML5ゲーム開発環境勉強会 】PlayCanvasビルトインコンポーネント ディープダイブ第一弾【物理エンジン】(2018/12/11講演)【HTML5ゲーム開発環境勉強会 】PlayCanvasビルトインコンポーネント ディープダイブ第一弾【物理エンジン】(2018/12/11講演)
【HTML5ゲーム開発環境勉強会 】PlayCanvasビルトインコンポーネント ディープダイブ第一弾【物理エンジン】(2018/12/11講演)PlayCanvas運営事務局
 
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃Teruo Adachi
 

Similar to Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12 (20)

How to develop a huge Single Page Application
How to develop a huge Single Page ApplicationHow to develop a huge Single Page Application
How to develop a huge Single Page Application
 
スケジュール遅延が当たり前な状況を少し良くしたいチームがその未来のためにScrumに”再”挑戦した話
スケジュール遅延が当たり前な状況を少し良くしたいチームがその未来のためにScrumに”再”挑戦した話スケジュール遅延が当たり前な状況を少し良くしたいチームがその未来のためにScrumに”再”挑戦した話
スケジュール遅延が当たり前な状況を少し良くしたいチームがその未来のためにScrumに”再”挑戦した話
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
 
Com camp2014
Com camp2014Com camp2014
Com camp2014
 
最近のSpringFramework2013 #jjug #jsug #SpringFramework
最近のSpringFramework2013 #jjug #jsug #SpringFramework最近のSpringFramework2013 #jjug #jsug #SpringFramework
最近のSpringFramework2013 #jjug #jsug #SpringFramework
 
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
 
Spring知っておきたい
Spring知っておきたいSpring知っておきたい
Spring知っておきたい
 
OutSystems Workflow Builder
OutSystems Workflow BuilderOutSystems Workflow Builder
OutSystems Workflow Builder
 
Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!
 
Jaws festa-2014-cdp-03
Jaws festa-2014-cdp-03Jaws festa-2014-cdp-03
Jaws festa-2014-cdp-03
 
業務システムで使うSpring Dynamic Modules
業務システムで使うSpring Dynamic Modules業務システムで使うSpring Dynamic Modules
業務システムで使うSpring Dynamic Modules
 
Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例 Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例
 
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
 
XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論
XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論
XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論
 
Spath for enterprise
Spath for enterpriseSpath for enterprise
Spath for enterprise
 
Java frameworkの昔と今
Java frameworkの昔と今Java frameworkの昔と今
Java frameworkの昔と今
 
Cloud garage使って ECサイトの構築
Cloud garage使って ECサイトの構築Cloud garage使って ECサイトの構築
Cloud garage使って ECサイトの構築
 
【HTML5ゲーム開発環境勉強会 】PlayCanvasビルトインコンポーネント ディープダイブ第一弾【物理エンジン】(2018/12/11講演)
【HTML5ゲーム開発環境勉強会 】PlayCanvasビルトインコンポーネント ディープダイブ第一弾【物理エンジン】(2018/12/11講演)【HTML5ゲーム開発環境勉強会 】PlayCanvasビルトインコンポーネント ディープダイブ第一弾【物理エンジン】(2018/12/11講演)
【HTML5ゲーム開発環境勉強会 】PlayCanvasビルトインコンポーネント ディープダイブ第一弾【物理エンジン】(2018/12/11講演)
 
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
 
Roo
RooRoo
Roo
 

Recently uploaded

Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 

Recently uploaded (8)

Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 

Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12