Suche senden
Hochladen
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
•
40 gefällt mir
•
19,005 views
学 松崎
Folgen
2014/11/15 JJUG CCC 2014 Fall
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 64
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
Springを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイント
土岐 孝平
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
GraphQL入門 (AWS AppSync)
GraphQL入門 (AWS AppSync)
Amazon Web Services Japan
今さら聞けないDiとspring
今さら聞けないDiとspring
土岐 孝平
Empfohlen
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
Springを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイント
土岐 孝平
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
GraphQL入門 (AWS AppSync)
GraphQL入門 (AWS AppSync)
Amazon Web Services Japan
今さら聞けないDiとspring
今さら聞けないDiとspring
土岐 孝平
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
Masatoshi Tada
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
infinite_loop
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
Mavenの真実とウソ
Mavenの真実とウソ
Yoshitaka Kawashima
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
NTT DATA Technology & Innovation
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
日本マイクロソフト株式会社
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
Serverless時代のJavaについて
Serverless時代のJavaについて
Amazon Web Services Japan
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
Google Cloud Platform - Japan
Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念
Shinya Mori (@mosuke5)
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
NTT DATA Technology & Innovation
JJUG CCC 2014 fall Javaが見るニュータイプの夢
JJUG CCC 2014 fall Javaが見るニュータイプの夢
なおき きしだ
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Yusuke Suzuki
Weitere ähnliche Inhalte
Was ist angesagt?
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
Masatoshi Tada
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
infinite_loop
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
Mavenの真実とウソ
Mavenの真実とウソ
Yoshitaka Kawashima
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
NTT DATA Technology & Innovation
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
日本マイクロソフト株式会社
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
Serverless時代のJavaについて
Serverless時代のJavaについて
Amazon Web Services Japan
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
Google Cloud Platform - Japan
Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念
Shinya Mori (@mosuke5)
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
NTT DATA Technology & Innovation
Was ist angesagt?
(20)
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
DockerとPodmanの比較
DockerとPodmanの比較
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
Mavenの真実とウソ
Mavenの真実とウソ
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Serverless時代のJavaについて
Serverless時代のJavaについて
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
Andere mochten auch
JJUG CCC 2014 fall Javaが見るニュータイプの夢
JJUG CCC 2014 fall Javaが見るニュータイプの夢
なおき きしだ
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Yusuke Suzuki
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
Toshiaki Maki
Spring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfk
Spring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfk
学 松崎
福岡Ruby会議01 20121201 LT
福岡Ruby会議01 20121201 LT
学 松崎
OSC福岡2012 LT 20121208
OSC福岡2012 LT 20121208
学 松崎
クラウド・SaaS型 統合基幹業務システム 「CAM MACS」を支える PostgreSQL ~雲に乗ったゾウ~
クラウド・SaaS型 統合基幹業務システム 「CAM MACS」を支える PostgreSQL ~雲に乗ったゾウ~
学 松崎
fukinfra Vol3 LT 20120629
fukinfra Vol3 LT 20120629
学 松崎
Fukuokaphp vol12 talk_20140225
Fukuokaphp vol12 talk_20140225
学 松崎
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.2
学 松崎
Andere mochten auch
(11)
JJUG CCC 2014 fall Javaが見るニュータイプの夢
JJUG CCC 2014 fall Javaが見るニュータイプの夢
Javaエンジニアのためのアーキテクト講座-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_r57
Spring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfk
Spring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfk
福岡Ruby会議01 20121201 LT
福岡Ruby会議01 20121201 LT
OSC福岡2012 LT 20121208
OSC福岡2012 LT 20121208
クラウド・SaaS型 統合基幹業務システム 「CAM MACS」を支える PostgreSQL ~雲に乗ったゾウ~
クラウド・SaaS型 統合基幹業務システム 「CAM MACS」を支える PostgreSQL ~雲に乗ったゾウ~
fukinfra Vol3 LT 20120629
fukinfra Vol3 LT 20120629
Fukuokaphp vol12 talk_20140225
Fukuokaphp vol12 talk_20140225
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.2
Ähnlich wie Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
How to develop a huge Single Page Application
How to develop a huge Single Page Application
Naoki Yamada
スケジュール遅延が当たり前な状況を少し良くしたいチームがその未来のためにScrumに”再”挑戦した話
スケジュール遅延が当たり前な状況を少し良くしたいチームがその未来のためにScrumに”再”挑戦した話
Rakuten Commerce Tech (Rakuten Group, Inc.)
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
Koichi ITO
Com camp2014
Com camp2014
彰 村地
最近のSpringFramework2013 #jjug #jsug #SpringFramework
最近のSpringFramework2013 #jjug #jsug #SpringFramework
Toshiaki Maki
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Naoki Umehara
Spring知っておきたい
Spring知っておきたい
Yuichi Hasegawa
OutSystems Workflow Builder
OutSystems Workflow Builder
Tetsuo Ajima
Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!
Hasegawa Yusuke
Jaws festa-2014-cdp-03
Jaws festa-2014-cdp-03
宗 大栗
業務システムで使うSpring Dynamic Modules
業務システムで使うSpring Dynamic Modules
Hiroki Kondo
Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例
OSSラボ株式会社
プログラミング生放送第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技術概論
賢次 海老原
Spath for enterprise
Spath for enterprise
Koichiro Sumi
Java frameworkの昔と今
Java frameworkの昔と今
Tomoteru Sannomiya
Cloud garage使って ECサイトの構築
Cloud garage使って ECサイトの構築
毅 佐藤
【HTML5ゲーム開発環境勉強会 】PlayCanvasビルトインコンポーネント ディープダイブ第一弾【物理エンジン】(2018/12/11講演)
【HTML5ゲーム開発環境勉強会 】PlayCanvasビルトインコンポーネント ディープダイブ第一弾【物理エンジン】(2018/12/11講演)
PlayCanvas運営事務局
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
Teruo Adachi
Roo
Roo
terahide
Ähnlich wie 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 Application
スケジュール遅延が当たり前な状況を少し良くしたいチームがその未来のためにScrumに”再”挑戦した話
スケジュール遅延が当たり前な状況を少し良くしたいチームがその未来のためにScrumに”再”挑戦した話
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
Com camp2014
Com camp2014
最近のSpringFramework2013 #jjug #jsug #SpringFramework
最近のSpringFramework2013 #jjug #jsug #SpringFramework
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Spring知っておきたい
Spring知っておきたい
OutSystems Workflow Builder
OutSystems Workflow Builder
Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!
Jaws festa-2014-cdp-03
Jaws festa-2014-cdp-03
業務システムで使うSpring Dynamic Modules
業務システムで使うSpring Dynamic Modules
Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例
プログラミング生放送第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技術概論
Spath for enterprise
Spath for enterprise
Java frameworkの昔と今
Java frameworkの昔と今
Cloud garage使って ECサイトの構築
Cloud garage使って ECサイトの構築
【HTML5ゲーム開発環境勉強会 】PlayCanvasビルトインコンポーネント ディープダイブ第一弾【物理エンジン】(2018/12/11講演)
【HTML5ゲーム開発環境勉強会 】PlayCanvasビルトインコンポーネント ディープダイブ第一弾【物理エンジン】(2018/12/11講演)
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
Roo
Roo
Kürzlich hochgeladen
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
Kürzlich hochgeladen
(9)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
1.
Spring Boot + Doma + AngularJS で作る ERP(統合基幹業務システム) JJUG CCC
2014 Fall 2014/11/15
2.
自己紹介 • 名前: 松崎
学 • 福岡に住んでます • Twitter: matsumana • blog: http://matsumana.info • 所属: 株式会社キャム http://cam-net.co.jp/ • 職業: ソフトウェアエンジニア (プログラマ、ITインフラエンジニア)
3.
今日お話する事 • ERPとは何か? • 弊社サービスの特徴と、それを支える技術の概要 ・アーキテクチャの歴史 ・インフラ •
Spring Boot, Doma, AngularJSを選んだ理由と 実際に使ってみた感想
4.
まず始めに
5.
ERPとは何か? 企業全体を経営資源の有効活用の観点から 統合的に管理し、経営の効率化を図るための 手法・概念のこと。 ERPが一般的に扱うものは企業における 製造・物流・販売・調達・人事・財務会計である。 ERPパッケージはこれらの基幹業務に関する 業務活動の情報管理を支援する。 Wikipediaより http://ja.wikipedia.org/wiki/企業資源計画
6.
基幹システムとは何か? 企業の情報システムのうち、業務内容と直接に関わる販売や 在庫管理、財務などを扱うもの。 あるいは、単に、業務やサービスの中核となる重要なシステム。 IT用語辞典 e-Wordsより http://e-words.jp/w/E59FBAE5B9B9E7B3BBE382B7E382B9E38386E383A0.html
7.
例えばERPでカバーする サブシステムには 次のようなものがあります
8.
• 受発注 • 購買債務 •
販売債権 • 製造 • 在庫 • 原価 • 財務会計 • 管理会計
9.
• 人事 • 給与 •
勤怠 • などなど
10.
• サービス(SaaS)として提供 マルチテナントなアプリ 顧客のオンプレミス環境ではなく、 弊社が構築・運用しているインフラ環境(AWS) でアプリを稼働させている • インフラ費用は全て弊社負担 インフラ費用増
= 利益減 少ないリソースでリクエストを捌く事が非常に重要 • OSやブラウザのバージョンアップ対応は無償 サービスの特徴
11.
アーキテクチャを 選定する上で重要なポイント • SaaSなので、インフラ要件はWeb系に近い (インフラ構成はかなり参考にしています) • ERPはミッションクリティカルかつ、ライフサイクル が長い。長い場合は10年間とか使われる (弊社では同じアプリを10年使い続けるのではなく 定期的に作り直す事にしています) •
画面の操作性、入力効率、サクサク感
12.
サービスの規模感 • 画面数 約1,000画面 • テーブル数 約750
13.
サービスの歴史 フレームワーク編 • 2007∼ Seasar2
(Teeda + S2Dao) ※現在も稼働中 • 2012∼ Java EE 6 (JSF + JPA) ※現在も稼働中 • 2014∼ Spring Boot + Doma + AngularJS
14.
サービスの歴史 インフラ編 • 2007∼ 国内データセンター •
2013∼ AWS
15.
インフラの 全体概要図
16.
http://goo.gl/cTexvM
17.
• サーバやミドルウェアは必ず障害が発生する前提で 考えたインフラ構成とアーキテクチャ • 一部に障害が発生してもサービスが止まらないように 各レイヤーは冗長構成にする •
サービスが止まるような障害の場合でも 出来るだけ早く復旧出来るようにする ポイント
18.
使用しているソフトウェア • 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
19.
ログ収集はFluentd
20.
• AWS (EC2,
S3, Route53, SES, RDS, VPC) • GitHub • レスポンスタイム可視化: New Relic • ログ分析: Google BigQuery • 通知: HipChat 使用しているサービス
21.
次はアプリのお話
22.
2007年の サービスローンチ時から 開発を続けてきた Seasar2製のアプリですが 数年後には色んな問題が 出てきました
23.
• ローンチ当時は、IE6とIE7のみサポート (開発を開始した2007年にはChromeは存在してない) • 2009年にリリースされたIE8で互換表示モード登場 互換表示でしか動作しないアプリに なってしまった・・・ _人人
人人 人人 人人_ > 突然のオワコン感 <  ̄Y^Y^Y^Y^Y^Y^Y^Y ̄
24.
互換モード以外にもいくつか 問題が出てきた • 時代遅れ感が出てきたUI リッチなWebサイトが世の中に増えて 顧客の目が肥えてきた • 他社システムと連携するため、 REST
API提供を求められるようになった
25.
今のアプリを改修するべきか? それとも作りなおすべきか?
26.
この時点で画面数は 数百になっていた 改修するよりも 作りなおした方が良い という結論になる
27.
候補にあがったもの • Java EE
6 (JSF) • Spring • Play Framework 1
28.
その時点で 一番良さそうだった Java EE 6を選択 サポートするブラウザはIE8以上とした (互換表示モードからの脱却)
29.
Java EE 6で開発と 運用をやってみたけど •
JPAでハマる事が多い • CDIに@ViewScopedがない ※Java EE7で改善されてます • PrimeFacesではGridの列固定が出来なかった ※現在のバージョンでは出来ます • JSFで作った画面が重く感じる ※画面項目数、サーバスペック、クライアントスペック等によるので あくまでも当社比です
30.
Java EEやPrimeFaces を使うなら 保守契約を おすすめします
31.
弊社にはJava EEは 合わないのでは? (́・ω・`) という気持ちになってきた
32.
Java EE 6で2つの サブシステムを作ったが これ以上増やすのは やめようという結論になり 次の手を模索する事に
33.
そんなある日 Spring Bootの存在を知る • JJUG
ナイトセミナー 2014/01/21 @makingさんの 「Spring4とSpring Bootで作る 次世代Springアプリケーション」 http://www.slideshare.net/makingx/spring-4spring-boot-spring-jjug-jsug
34.
早速試してみた • Springで大変だと聞いていたxml設定ファイルや 依存関係の複雑さが解決されているし、 組み込みAPサーバもいい感じ • 元々、SpringとDropwizardに注目していたので いいとこ取りな感じがとても良い
35.
いくつか候補をあげて 比較検討
36.
要件を再度整理 • 少ないリソースで、多くのリクエストを捌けて スケールしやすいアーキテクチャ (ステートフルなアプリはスケールさせにくいので ステートレスが良さげ) • サクサク動く画面にしたい •
UIを改善したい • モダンブラウザにも対応したい (顧客からChrome対応の要望がかなり多い)
37.
候補1 • Java EE
7(JSF) + Doma 対応する商用アプリケーションサーバが 未リリースなのでNG (リリース時期も未定だった)
38.
候補2 • Spring Boot
(Spring MVC + Thymeleaf) + Doma JSFの複合コンポーネント的なものがない JSPだとカスタムタグがあるが Spring BootはJSPを推奨していないみたい
39.
候補3 • Spring Boot
(Spring MVCでAPI) + Doma + Backbone.js JSFの複合コンポーネント的なものがない Backbone.jsで構造化は出来るが 生産性がもっと高いものが良い
40.
候補4 • Spring Boot
(Spring MVCでAPI) + Doma + AngularJS Directiveがカスタムタグの代替にはなりそう フロントフレームワークの中では遅い部類だと 言われているが、試してみるとJSFよりサクサク動く ※当社比
41.
そんな経緯で Spring Boot + Doma + AngularJS を採用
42.
開発はLinux上で やってます
43.
• Windowsで開発し、本番がLinuxだと それに起因するバグを出してしまう事がある 文字コード、改行コード、パス区切り文字 レポートのレイアウト崩れ(iText, iReport) など
44.
• 必要な開発ツールのごった煮感が半端なくて、 セットアップが大変なので チームのメンバーにVirtualBoxとVagrantを インストールしてもらい、 boxファイルとChefのcookbookを配布 ※ホストOSとゲストOSでクリップボードの共有が おかしいので、ちょっと不便です・・・
45.
プロビジョニングしている ソフトウェア (1) • Java8 •
Maven • Node.js • PostgreSQL 9.3 • Fluentd (td-agent)
46.
プロビジョニングしている ソフトウェア (2) • Chromium •
Mozc • LibreOffice • oh-my-zsh • xrdp
47.
Spring Boot, Doma, AngularJSを 使ってみた感想など
48.
Spring Boot /
Spring • Seasar2とJava EE 6を使ってきたので、 Springのコンテナ機能(DI, トランザクション, AOPなど) は理解しやすかった • テストライブラリが充実していて良い感じ • ユニットテストもJettyも起動が早く快適に開発できる ※当社比 • サーバのリソース消費が少ない (TomatではなくJettyを選択 早い時期からJava8やWebSocketに対応していた為)
49.
Doma • SQLでゴリゴリ書きたい派には、とてもオススメ • 依存ライブラリが無いのも、とてもいい感じ •
便利機能がいっぱい ・Java8対応 ・コンパイル時チェック ・SQLファイル内の変数チェック ・SQLファイルの存在チェック ・ページング (Limit, Offset, 総レコード件数) 他にも沢山あります。詳しくはドキュメントを http://doma.readthedocs.org/ja/latest/
50.
AngularJS • 学習コストは確かに高いが、現在は日本語の書籍も あるので、多少は改善されているのかも • Directiveにてデザインと動作を共通化した部品が 作成でき便利 •
ライブラリはangular-bootstrapだけ使う事にした (その他で必要なものは自分たちで作る方針にした) • バージョンアップで後方互換性が保たれない (弊社の場合はアプリを改修して、バージョンアップ に追従していく方針にした)
51.
弊社でのAngularJSの 使い方を少しだけご紹介 • Directiveに画面レイアウト情報とデータを与えて 画面項目を動的に生成 マルチテナントなアプリなので、 顧客ごとのカスタマイズをマスタで行えるようにしています
52.
<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>
53.
モジュール構成 (概要) • Javaのビルドルーツ:
Maven • フロントエンドのタスクツール: Grunt maven-grunt-pluginを使ってMavenから起動される jshint, karma(Jasmine), concat, cssmin, uglifyを実行する
54.
Spring BootやDomaに 関するブログを いくつか書いてます
55.
• Spring BootでISUCON4予選のJava実装を作った •
Spring Bootで現在捌いているリクエスト数を 取得する • Spring + Domaで実装したアプリのユニットテスト • Domaで実行したSQLを取得する • Spring Boot + Domaで動的データソース切り替え http://matsumana.info/blog/categories/spring/
56.
Springの資料としては TERASOLUNAの ガイドラインが おすすめ http://terasolunaorg.github.io/guideline/
57.
Springユーザだけではなく Java EEユーザにとっても 参考になると思います
58.
AngularJSは業務システムに 使えるのか? • 品質的には業務で使っても問題ないと思う • 画面モック(素のHTML)を元にアプリ作成可能 •
AngularJSに限った事ではないが、 現在流行っているフロントフレームワークが 5年後、10年後も互換性を保った状態で流行っている とは考えにくい 「動かなくなったらフロントだけ作りなおせば良い」 という意見はあると思うが、フロントフレームワーク を使わなければ、発生しない不要なコストなのかも
59.
フロントフレームワーク を採用する場合に 考えてもらいたい事 • そのシステムは何年間くらい使われるのか? (ソフトウェアの償却期間は、3年もしくは5年です) • フレームワークのバージョンアップに追従する予算は 確保出来るのか?
60.
次のような場合は Java EE(JSF)を 選択した方が 良いのかも (個人的な意見です)
61.
• 保守サポートが必要な場合 • フロントフレームワークのバージョンアップに伴う 改修の予算が確保できない場合
62.
弊社の今後 • Spring Boot
+ Doma + AngularJSは 弊社にはあっているので今後も使い続けるつもり AngularJSで業務システム作っている方、 ぜひ情報交換させてください!
63.
まとめ • 標準技術だから。流行っているから。ではなく きちんと検討・検証して自分達にあうものを 選びましょう
64.
事例の一つとして 何かのお役に立てば 幸いです ありがとうございました!
Jetzt herunterladen