Java Day Tokyo 2015 メモ

(Qiita:Teamにあげそこなったので)

基調講演

Java EE

ゴールドマン・サックス

  • テクノロジー部
  • 自分たちで作る、決済システムとか
  • 2000年ごろからやってるらし、JCP Executive Committeeだったりする
  • 世界でJavaエンジニア3000人 テクノロジー部は15%
  • ヒープ190Gとかコードキャッシュが限界超えるとか
  • OpenJDK
    • ソース、チューニング、セキュリティのため
    • トラブルシューティング、リサーチ
      • JVMTI
      • 圧縮OOP
  • GS Collections

Nashorn

  • ナスホーンまたはナズホーン
  • Rhinoのおきかえ
  • ECMAScript5.1
  • 相互呼び出し可
  • jjsコマンド
  • functionオブジェクト渡してlambda expression

  • 8u20

    • セキュリティ強化
    • JIT/JDK強化
    • const as var (v8向けのコード対応)
    • no-java
    • no-syntax-extentions (-scripting時はfalse)
    • sourceUrl対応
    • クラスキャッシュ対応 => evalを逐次行うのに比べて高速化
  • 8u40

    • コンパイル時の楽観的型推論
    • --optimistic-types
    • 間違ってたらフォールバック
    • コードキャッシュ
    • 型推論結果のキャッシュ
    • Nashorn class filter
    • 任意クラスを参照不可にする
    • ECMAScript6

      • const
      • let (lexical scope)
    • Server Side Scripting

    • avatorはclose
    • ウォームアップ改善
    • parser api jdk9 ea b55から使える
      • AST出すデモ
      • flight recorder

エンタープライズアーキテクチャ

  • システムのわけかたと組み合わせ方
  • 空間的、時間的バランス
  • 利害関係者の関心、将来の変化
  • システムの構造とプロセスの決定
  • 要素への分解と組立の方法
  • さらにリソースとスケジュールを入れるとWBS
  • エンタープライズ
  • 利害が多い、連携が多く複雑、へんかしづらい、現状とルールが大切
  • プロジェクトマネージメントに先立つ構造とプロセス
  • 全てfixするのではなく、選択肢を残す決定も

選択 - バランスをとる - ITサービス運営、品質、技術トレンド - ITサービス運営=webっぽい、運用 - リーンスタートアップとか言われた - 満足を得るための持続的な改善、UXっぽい話 - この運営モデル分かりやすい - 継続的な活動を前提とした効率性 - 利用されて評価される

品質 - 多面的、バランスを - 経産省の品質メトリクスセット

  • 性能特性、キャパプラはスモールスタートでフィッティングさせてく
  • 互換性、コネクティビティ、一般的な仕組みを使うこと
  • 共有化、プラットフォーム化
  • プラットフォーム、レイヤー化
  • saas, paas, iaas, ミドルウェアスタック=baas

  • 固有化、マイクロサービス

    • サービスが独立した構造とプロセスを持ち、APIで連携
    • それぞれ独自のライフサイクルを持ち、個別のドメインに従う
    • OSレイヤの上にプラットフォーム管理レイヤを。
    • ミドルウェアスタック以降はデプロイメントに従って構築される。dockerとか。
    • マイクロサービスによる個別の構造とプロセスを企業の中で許容できるか。

実践 - ECサイト, フロントの購買システムはアジャイルに、受注管理はウォーターフォールで、などのドメイン分割 - 完璧な選択はできない、観点を持って考え、利害関係者で合意を

覚悟 - 正解がないからこその覚悟 - 最小公倍数じゃなくては最大公約数 - 全員の意見を合わせるんじゃなくて、全員の我慢を得る - 意見に基づいてアーキテクトが覚悟を持って判断 - 銀の弾丸はないが、そうだと思ったら撃ち抜く、銀色にする覚悟を - 妥協はできないが諦めを。判断できないならもっと考える。あきらめたらきちんと未来へ託す。 - アーキテクチャはチームで考える

HotSpot