JJUG CCC 2016 Fallにいってきました

JJUG CCC 2016 Fall】

JJUG CCC 2016 Fallに参加してきました。
人生二度目のJJUG CCCです。

今回も自分が見たセッションについて書きなぐっています。

【Prepare fo Java9: Java 9 に備えよう】

[登壇者様]:Yuji Kubotaさん(@sugarlife

Java9の新機能、非互換の箇所、ツールについてのお話でした。

Jigsawは「複雑な依存性の解決」「公開制限の制御」というのが大きなテーマかなと感じました。
Java9を導入する場合はビルドツールも合わせてバージョンアップとのことだったので
導入するときは注意しないといけないなと。

JShell使えばJMXから情報を引き出すこともできるようになるとのことらしい。
単純に開発だけかなと思っていたので、
そういう形式のライブラリは増えていくかもしれないなと感じました。

非互換性とツールというところではセッションの中でも
いくつかあったのでJava9を導入するときはJEPをチェックする必要がありそうです。

Java9が出てから色々と試したり調べたりするのが楽しみです。

Java EE - What's Next?】

[登壇者様]:Anill Gaurさん

これからのJava EEはどの方向を向いているかといった感じのセッションでした。

モバイルファースト、クラウドネイティブ、MSA、データストアの多様化があり、
Java EEもそれに追随していきたいという印象を受けました。
現状、そういったキーワードで検索すると検索結果が多すぎるので
解決方法(ソリューション)を標準として提供していくということっぽいです。

個人的にはKVSの共通インターフェイスとか
CDIでサービス自体をインジェクションとかできるようになると面白いなぁと。

Java EE8は2016年末、Java EE9は2017年末までのロードマップになっているそうです。

英語通訳のセッションだったのですが、
ネイティブの英語を理解するにはまだまだ英語力が足りないですね・・・

【Event Driven Microservices With Spring Cloud Stream】

[登壇者様]:槙 俊明さん(@making

Spring Cloud Streamはイベント通知でやりとりすためのライブラリといった感じでしょうか。
セッションを聞くと「Spring強い」という印象です。

Spring Cloud自体がおそらくマイクロサービスアーキテクチャに焦点を当てていて、
Spring Cloud Streamはイベント通知の部分を受け持っているという感じでしょうか。

スケーラビリティ、耐障害性、処理のトレーサビリティ、エラーハンドリングなど
サービスを運用する上で必要なことはほとんどサポートしている印象を受けます。

Spring強い。

【Spring CloudでDD的なマイクロサービスを作ってみる】

[登壇者様]:椎葉 光行さん(@bufferings

業務でDDDを運用して困ったこと/アドバイスと今後考えていることについて
お話しされていたセッションでした。

  • 境界づけられたコンテキスト細かく分けていくといい
  • ユビキタス言語は会話、Model、Codeで同じ言葉を使おう
  • Domainモデルについてはアノテーションなし

といったアドバイスについては「やはりそうなんだなぁ」と思う内容でした。

今後に関してはDDDでスケーラブルに設計するにはどうしていこうというところに
悩みを持ってい流のかなという印象を受けました。
イベントソーシングとかCQRS、マイクロサービスといったキーワードが出ていたので。

ドメイン駆動設計とScala〜既存プロジェクトへの適用〜】

[登壇者様]:角谷 文康さん(@FScoward

カオスな状態のソースをどうやってドメイン駆動設計を適用するかというのを
Scalaのコードでお話しされていたセッションでした。

登壇者の方もまだ適用し始めたばかりで、
これから漸進していくとのことでしたがDDDの基本に忠実な形で適用していっているという印象でした。

仮に私が関わっているサービスについてDDDを適用しと思うと
同じような箇所でつまづいていくのだろうなと感じました。

【Spring Cloudアプリケーションの開発にDockerを活用し、Kubernetes上にデプロイするまで】

[登壇者様]:村田 賢一郎さん(@muraken720

ローカル環境/本番環境のKubernetesにデプロイする方法についてのセッションでした。

Spring CLIを入れると非常に楽と話していた通り、
デモではDockerfileを触ることなくDockerコンテナのデプロイにされていました。

minikube/Fabric8などの関連ツールを使ってローカルのKubernetesにデプロイするというデモもあり、
私から見たところ簡単にローカルで構築できている印象でした。
今回のセッションではあまり降られなかったですが、Logging/Metric/Jenkins Pipelineの機能もあるとのこと

Dockerコンテナを使った環境は気になっていたので、
私も触ってみようかなという気持ちになりました。

【Payara Microの設計と実装】

[登壇者様]:蓮沼 賢志さん(@khasunuma

Payara Microがどういう仕組みで動いているのかとどのようなクラス群があるのかというお話でした。

普段は単純にAPサーバの起動コマンドのみを実行するくらいしかしていなかったので、
内部の処理は特に何も知らなかったのですが、
蓮沼さんのセッションではすごい細かいところまで説明されていました。

個人的に驚いたのはMavenリポジトリからwarを参照して起動できるということでした。
Dockerコンテナで起動となるとかなり有効な機能なのでは?

UberJAR/Payara Micro API周りは個人的に面白そうだなぁと思う部分でした。

まとめ

今回で3回目の参加となりました。
私が見たセッションではクラウドでのスケーラブルなアプリの構築というのが多く語られていたように感じます。
Spring/Java EEがそちらに向かっているのだなぁと思います。