2012年9月11日火曜日

Java EE 仕様策定における問題点について(妄想)


食後の眠気を堪えられず、集中力が切れる時間帯にGoogle+を徘徊していたら、Kazunori Satoさんの次のようなポストがありました。自らの理解を確かめるように、文章に起こしてみたいと思います。
"分散システムはそれでなくても複雑で、ましてクラウドのような大規模分散システムは常軌を逸した世界。それが実現できているのは開発と運用を一体化しているから" 私もそう思います!
そのポストにあるリンク先を見ると、(続き)とあったので原点ポストを見てみると

以下のニュースが引用されていました。
Oracle が Java EE 7 計画からクラウドサポートを削除


次のポストが、
とありました。疑問が生じたので、以降のツイートも参照してみました。


その疑問を解消するために、まず、こういう解釈で間違いでなければ、同意できるというものを挙げてみます。

解釈1:クラウドサービスの開発と運用は一体でなければ難しい

これは、完全に同意できる解釈なのですが、おそらく違うと思われます。
サービスの開発と、技術開発というのは別物という理解の下、伊藤教授はツイートされているように見受けられます。

ちなみに上記での言葉について意味合いを示しておきます。
サービスの開発:例えばGmailやGoogle Calendarといったサービス自体の開発
技術開発:サービスを実装するために必要となる技術要素の開発、例えばフレームワークなどの開発。

解釈2:クラウドサービスの提供に必要となる技術開発は、運用を行う母体(一般的には企業)は同一でなければ技術開発のスピードは促進されない

これも、完全に同意できる解釈です。
伊藤教授は、これを仰りたいのではないかと、当初も、今現在も感じております。

しかし、そうだとすると、その技術開発とJava EE 7の仕様策定計画から、ある仕様が外れたこととのリンクが難しく思いました。

これも想像ですが、

現時点ベンダーに依存したクラウドサポート仕様が、Java EEの仕様に組み込まれることで標準仕様となることが望ましいという前提があるとします。その上で伊藤教授の主張が、
「Java EE 7の仕様策定が計画から遅れ、結果的にクラウドサポート仕様が落ちてしまいそうな状況に陥っている原因が、運用を知らない(運用を担っていない)人が仕様策定を行なっているからだ。」

というものだと想定すると、この主張には疑問が残ります。
その疑問というのは、

『「ある機能を担う人と、リンクする別の機能を担う人は、一体であるべき」という主張が正しいとして、はたしてどれだけのケースにおいてその人が同一人物なのでしょうか。』

というものです。

一般的にこの【一体】と言われた時、人は個人ではなく法人を指していると思われます。組織として一体となれという主張です。

Java EE 7の仕様策定のチーム運営に対する理解が間違っていれば別ですが、基本的には外部からの仕様化に対するリクエストをベースに仕様策定に望んでいると思っています。
オープンなチームとして機能しているはずで、Javaの技術者コミュニティーとして一体となっているのではないのでしょうか。

もし、上記の理解が正しければ問題点は次のいずれか、もしくは複数要因となると思います。

  1. サービスの開発や運用に従事しているJava技術者のコミュニティーに対するコミットメントが足りない
  2. Java EEの仕様策定チームが、コミュニティーとしての機能を十分に果たしていない
  3. Java EEの仕様策定チームが、最新の実装に対する理解が拙い


個人的な想像でしかないですが、上記1の要因が強いのではないかと懸念しています。
Javaはもう枯れた言語と言っていいレベルに達していると思います。すると、技術者もコミュニティーへのコミットメントが下がり、利用する側の立場が強い、もしくはその立場しか持たない人が多数になることは仕方のないことだと思います。

これはコミュニティーを盛り上げるしか、対策が思いつかないのですが、今後も暫くの間、Javaは重要な言語で在り続けると思っているので、なんとか頑張ってもらいたいものです。

0 件のコメント:

コメントを投稿