のた犬のうまい猫めし

どら猫が作る、のた犬のための飯、略称、どら飯について語りつつ、各種技術、経済系セミナーに参加した報告、OSSいじってみた等のネタを入れていきます。更新情報はtwitterの@nota_inuにて。

JavaOne 2014 報告会「Javaのコミュニティアップデート」鈴木 雄介氏氏(JUGリーダ)

JavaOne 2014 報告会「Javaのコミュニティアップデート」鈴木 雄介氏氏(JUGリーダ)

 

資料:

http://www.slideshare.net/yusuke/javaone2014

http://www.slideshare.net/yusuke/j1jp2014-architecture

 

 

Javaとコミュニティとはどんな関係なのか。OUGLS参加報告。コミュニティ視点でのJavaOne感想。


●OracleUserGroupLeaderSummit(OUGLS)

 

  • JavaOne直前、Oracle製品ユーザグループのリーダが集まる。MySQL等データベースも。主催はInternationaoOracleUserGroupLeader'sCommunity(IOUC)。二日間。カスタマージャニーマップとか。リージョン打ち合わせとか。二日目はセッション。
  • 地域コミュニティの話し合い(RegionalMeeting)、コミュニティからの報告、ユーザグループの成長(SNS、ブログの更新、どうすれば人が集められるか、スポンサーの集め方、等のグローバルな状況)、ChiefCustomerOfficer(顧客担当役員。いかに顧客の声に興味があるか。「ラリーがやめたけどどうなるのか?」とか質問が出たとか)の話。
  • コミュニティ運営は世界中で苦労。東京はメーリングリストに2000人。(本日の参加者200人。グローバル的には大きい。)
JavaOneの感想
 
  • プライズは無い。(Javaに想いがある人としてはつまらない。おしゃれでトレンドの時代は終わった?)
  • Oracle is not Sun。(Updateが年4回はSunではできない?)
  • コミュニティを通じて顧客の声を聞こうとしている。オープニングビデオに出てくる人の半分はコミュニティの人、エヴァンジェリスト、半分はOracle、とか。
  • EEはコミュニティ重視。コミュニティサーベイ
  • JJUGではJSR371に注力参加予定。(MVC
  • JavaOneではTシャツ投げのイベントがあり、Tシャツがもらえる。JavaEEの親分、RedHatの人(JavaEEに寄与)、エジプトの顧客、ブラジルJUGリーダが実施。顧客、コミュニティが協力して実施しているという意図的な演出か?
  • ●これからのJJUG
  • 11/15 ベルサール西新宿で実施される。JJUG CCC 2014 Fall。
  • 基調講演にSimmon Ritter参戦予定。(エヴァンジェリストの一番偉い人。)
  • フィードバッグは@JJUG、#jjug 。幹事募集中w

アーキテクチャトレンド

 

  • JavaOneアーキテクチャトレンドを紹介。
  • IoT(Internet of Things。)あらゆるものがInternetに接続。あらゆることがInternetを通じて発生する。デバイスが多様化。(PC、タブレットスマホウェアラブル、自動車、Kiosk端末、家電、センサ、カード、RFID、……)。経験の一体化。多様な入り口から同じデータにアクセスする。オムニチャンネル。(買うということに関していろいろな買い方がある。)
  • アプリケーション開発:サービス運営にトレンドがシフト。アプリケーション開発は仕様を決めて開発する、閉じた世界。サービス運営は動的な世界、フィードバック、人が関わりながら動かす、外的要因の影響。店頭で売る人。企画・開發・運用の協力で、Agile、DevOps、Lean。
  • サービス運用のレイヤーを意識する必要がある。Data、Configuration、Code、Runtime、Middleware、OS、Virtualization、Servers、Storage、NetworkingAWSサービスメニューより。AWSはうまくパッケージングされている。どういうところがMiddlewareとして抽象化されているか、とか。)。Codeだけ見ていたのではダメな時代。クラウドになってもスタックが変わるわけではない。(SaaS、PaaS等。)Middlewareに着目。ネットワーク、ロードバランサ、DB、ストレージ、サーチエンジン……。どうアーキテクチャをパターンとして組むか。
  • MicroservicesArchitecture(MSA)。固有のドメインに固有のサービス。サービス同士はAPIとメッセージを介して連携。SOA:モノリシックなアプリケーションのサービス化、アプリの統合。ガバナンス、デザイン、ビジネスアーキテクチャからはじまる。MSAはサービスを小さなサービスによって構成するボトムアップな設計。9つの特徴。Componentization via Services、Organized around Business Capabilities、……。ビジネスのドメインでチーム分け。動的なところまで付き合う。APIとメッセージやりとり、分散ガバナンス、ドメインで特有の技術を取り入れて良い(いろいろな言語が入り混じっても良い)、相手のサービスが死んでいる時の設計、どんどん進化。
  • Reactive(反応的な。)Event-driven、Scalable、Resilient(障害耐性)、Responsive(応答性が高い。どんなに混んでようが返す)。非同期、……
  • OSGi、Play+Akka(POSのクラウドサービス提供がEJBのフロントエンドにakkaとか)。SpringBoot、Dropwizard、RabbitMQ。EoDだけではない監視、障害対応。Closureはこれからでいろいろなことやるのかな雰囲気。StandardJavaには取り入れられていない話。
  • DDD(Domain Driven Design)。BoundedContext。ドメインごとに境界線をつけてそれごとに。データもドメインで管理。変化、コンテキストの境界線を見つけるのが重要。それぞれのドメインに最適な手法を。概念はそういう方向性に向かいつつある。
  • アーキテクチャHTML5(ClientMCV)→(WebSocket/HTTP2.0)→API(Reactive/EDA)→(AMQP)→MessageQueue→(AMQP)→BusinessLogic(Domain)→(JDBC)→Database
  • Docker。コンテナ型仮想化をきばんとしたアプリケ0ション。OSからアプリケーションまでの構成情報をまとめて登録、配布。(前述したレイヤーのうちConfigurationからOSまで) Build,Ship and Run Any App, Anyware@Amazonの人。DockerEngine上にあるコンテナ、DockerFileという設定ファイル。レポジトリにプッシュすると、本番系DockerEngineがRunしてくれる。本番は何もない状態からいっぺんに。差分更新。warファイルをデプロイではなくOSからアプリをそのまま送り込むという考え方。こんごこれが重要になるかも。WindowsServerでもサポートするとか!!!(今はLinux前提。)
  • NoSQL。CAP定理、ACIDをどうやっていくか。MongoDBがJavaOneでは多い? NoSQLでもRDBでもダメでまだ進化していくべき。NoSQLでググると全部考え方が違い、特徴があるので、きちんと調査して使え。
●なぜJava

 

  • Javaはオープン。成熟。安定性+挑戦。後方互換性も頑張っており進化もゆっくり。(JavaSE5は対応しなくなるが。)コミュニティの許容。コミュニティドリブン。OpenJavaは自己責任。

 

●その他
  • データは大量ではなく多様なのがポイント。常に変化する全体にどうアプローチするか。製品を安易にくくらず(NoSQLとか)、手段から始めない。テクノロジは道具。なんのためにこの道具を使うのかを考える。