Loading
ITの風景
ラ・マンチャ通信
お問い合わせ
 
 
  論考/提言/元外資系SEとしての視点
中島丈夫のITへの見果てぬ夢
ITの技術動向、業界動向などについて鳥瞰します。過去・現在・未来をさまよう見果てぬ夢を追います。
多分に主観的ですが、その分本音で書きたいと思っています。40年間SEというIT道(?)を歩んできた小生の引き出しには多彩な素材が眠っていますが、問題は適切に思い出せるかどうかです。かなりのスピードで呆けが進行していますので。。。
テーマや記述が行ったり来たり、くどくなるのをお許しください。
小生が特にお伝えしたいのが、お客様とともにシステム造りをするSEの観点から見たIT技術の論考、そして外資系の技術者として海外研究者/技術者との交流をベースにした多様な視点です。偉そうな態度に見えるかもしれませんが、あるいは取るに足らない論議だと思うかもしれませんが、日本のIT論議に一番欠けていた視点だと昔から危惧していました。



2011年は言語系の議論が活発化する年

- クラウド時代のJavaの行方-6

2011年01月25日記述


 昨年はいろんな出来事がありました。
一番大きいのはいろんな行き違いが顕在化し、それがさらに大きなもめ事に発展していったことです。
中国との尖閣列島に端を発した軋轢は、私たち日本の防衛観を一変させてしまいました。
IT に於いても、Java を巡るOracle とオープンソースのASF (Apache Software Foundation) の衝突が、永年くすぶり続けて来たJava のオープンソース化論争に改めて大きな火をつけました。

 Java のオープンソース化論争は、Javaオープンソース・コミュニティ、Apache Harmonyが要求する互換性テストパッケージ、TCK (Java Test Compatibility Kit )を、Sunが手渡さなかったのが遠因ですが、Sun を買収したOracle がそれまでのオープン化の態度を一変させ、より以上の閉鎖の処置に出たのが原因です。
互換性を保障するお墨付きの発行をOtacle (Sun) がこれからも独占し続ける以上、如何なるソフトウェア・パッケージも自由に市場に出回ることが出来ないわけです。
これは、技術革新を重視するオープンソース系のForkの考え方と、"Write Once, Run Everywhere "の厳しい互換性維持を主張するSunのイデオロギー戦争ともいえる衝突です。
結果的にJava 全体の技術革新が大きく後退し、多くの技術的課題が顕在化したまま放置されてきました。
そしてさらに、Oracle エリソンの商業主義が追い打ちをかけることになりました。

Java のクラウド対応での先陣争い

 一方で、IT 業界ではクラウド・コンピューティングの新たなモデルが勃興してきました。
異論続出の末に、結局プライベート・クラウドの主張が受け入れられ、大きな位置を占めるようになりました。
それを受ける形で、企業系システムにおいても、愈々ダウンサイジング以来の決定的なプラットフォーム / インフラの革新が起こることになりそうです。
そして、この新しいプラットフォーム / インフラにおいて、企業システムの根幹にまで浸透したJava の技術的な課題が一気に噴出しようとしているわけです。

 Java の技術的な課題は、Java の言語面での問題というよりは、そのプラットフォーム属性であるJSE、JEEの課題として認識されてきました。もっと単純に言ってしまえばJVM (Java Virtual Machine)の課題です。
とにかくJavaの現状は、クラウド・サイズにも、組み込み型のユビキタスなサイズにもフィットしません。
リソースを喰い過ぎるわけです。
メモリーの消費量は酷いものです。VM間でのデータ・シェアも貧困だし、Hadoopのようなビッグ・データ処理にも弱い。とにかく並列処理ができない。マルチコアがダメ。マルチテナントも資源消費量や隔離性でダメ。Scriptも弱い。

 ということで、この課題解決と企業ユーザーの取り込みを狙って、その先鞭をつける形でSalesforce.com はVMware と提携し、Java対応”VMforce”の提供を昨年4月28日付けで発表しました。
vCloudでSpringSource-Tomcatをクラウド化するわけですね。
Amazon もこの1月19日、TomcatベースのPaaSである "AWS Elastic Beanstalk" を発表しました。
 マイクロソフトのAzureは元々は対グーグルや対アマゾンが目的だったのでしょうが、eCloud研究会の掲示板にも書きましたように、一時、Azureのビジョンとして, "programming model agnostic" を語っていました。
小生の勝手な邪推では、この機会に眼の上のタンコブのJava開発環境をゴッソリ頂こうと思っている。
ま、ストレートには不可能ですから、徐々に取りこんでしまおうと、考えているように見えます。

 一方で、自身の戦略として強く肝いりしていた Apache Harmony を捨て、Oracle(Sun) の官制オープンコミュニティであるOpenJDKに変節したIBMは、自身の行動をreverse-Forkとして正当化しています。
クラウドでもJEEのリーダーシップを発揮したいIBMに残された時間は無く、Oracle からの誘いに容易に転んでしまったように見えます。
先頭を切って走っていたIBMのクラウド攻勢がこの一年すっかり鳴りを潜めていますが、Java の課題をもろに受けるWebSphereが全体スケジュールの足を引っ張っていたのでは、と考えられます。
Apache Harmony からOpenJDKにそのRun Time環境を切り替えたことにより、早晩、全貌を表すことになるのではないかと考えられます。
勿論、 ”IBMは雲よりも箱が好き”で書きましたように、zEnterpriseのビジネスを優先したこともあるでしょう。

(下に続きます)
 
 
 
 
 
 
  
 

Javaに於けるメモリー領域の膨大な堆積


・積み重ねが増大の一方である
・ここ数年で500MBから2-3GB以上に増大
・必ずしもユーザー数や機能拡張によるものではない
・驚くべき常識
 -数百ユーザーをサポートするのに1GB メモリーが必要
 -ユーザーあたり、500K セッション・ステートを保持
 -単純なドキュメントの索引に2MB必要
 -Webヒットあたり100KBの一時オブジェクトを作成
 -スケーラビリティ、低電力化、性能要件でさらに事態が悪化





 
 

                           クラウドにおけるJavaプラットフォームの課題


 
 

本質は言語の将来性

  Java は、言語としてPHP、Python、Rubyなどの動的スクリプト言語に生産性で後れをとり、ビッグ・データ処理や並列処理能力でHadoopのMapReduceや来るべきDNS (Domain Specific Language)の後塵を拝しています。またクライアント環境はbrowser一色になっています。

 Apache Harmony を捨て、Oracle(Sun)のOpenJDKに変節したIBMの本件の責任者の一人であるBob Sutor、IBM VP, Open Systems and Linux 、は、自身のブログに、ApacheCon 2010 keynote、November 5, 2010、での ”Data, Problems, and Languages” というプレゼン・ピッチを張り付けています。
丁度、IBM のApacheへの裏切りの真っ最中でのキーノートですが、彼はこのピッチで、(OpenJDKでの主たる目的である) JVMなどは実は大きな問題ではなく、言語性が鍵なのだ、という趣旨を述べているように、小生には見えます。言い訳のようでもあります。

以下が彼の結論のピッチです。
- Add features to solve problems, not just add features.
- Programming Language Design: A Problem Solving Approach
- One language does not fit all and never will.
- People are terrified of being stuck with huge libraries of source code written in now abandoned languages.
- Java is not going away and will remain critical for enterprises for many decades to come.
- “It’s the JVM, stupid.”
- Programming languages will be divided between languages that compile down to Java bytecodes and those that don’t.
- We’ll see a lot more languages in the future.


(さらに下に続きます)
  
 
  
 
 
 

APL、それは APL よりも遥かに豊か

 このフレーズは小生がKenneth E. Iverson のAPL(A Programming Language) にぞっこんになり、プログラムを書きまくっていたころにAPL特集の寄稿論文に付けた題名です。
Bob Sutor の履歴にも、彼がAPLにのめり込んでいたような記述がありますが、APL は妙に人を引き付ける言語でした。
APL はIverson がIBM S/360のシステム記述に使った言語として有名ですが、その後タイムシェアリングのエンドユーザー言語として、日本でも広く使われました。
記号言語ということで、キーボードも特殊なものが必須で、数学体系に似たオペレータ(演算子)を駆使したプログラミング・スタイルは到底エンドユーザーに使いこなせるとは思えなかったのですが結構使われました。
女性の企画部門の方などが使いこなしておられたわけです。
集計したり平均したりのセッションを、記号の作用素をデータに対してぶつけていくスタイルは斬新でした。
インタープリターのスタック・マシンで構成され、WorkSpaceという作業空間で自由なコンピュテーションを楽しめたわけです。APL はプラットフォーム一体型の言語系として、最初の実環境を提供しました。
VM/370上にAPL の仮想計算機が実装された姿は、現在のクラウド・モデルと非常に良く似ています。
しかしマイクロソフトのPCツールがPCの浸透とともに大きく普及するに従い、APL を知る人々も殆どいなくなってしまいました。
 一方で最近では、金融機関に普及するCEP(Complex Event Processing) や膨大なインフラ処理が必要となるスマート・シティ、スマート・プラネットなどでのストリーム・データ処理で、これによく似たプログラミング・モデルが出現しています。ストリーム・コンピューティングです。
IBM のSPADE & Eclipse IDE は、膨大なデータにオペレータ(演算子)をぶつけていくプロセスがAPLによく似ています。

複雑系に傾斜する新世界では、人間とIT の共生言語系の開発が必須

  昨年はいろんな出来事がありました。
一番大きいのはいろんな行き違いが顕在化し、それが大きなもめ事に発展していったことです。
中国との尖閣列島に端を発した軋轢などに代表されるように、グローバル化による輻輳したお互いの関係で、国内外の政治や経済状況は急速に ill-structured になっているように見えます。
各所で旧い交友関係が切れていき、結局、意思疎通の手段の再構築が必須のものとなりつつあります。
コミュニケーション系の構造の、再構築が必須です。
この状況を解く一つのツールとなるIT にとっては、より人間系の要素を強化した、融合した形でのコミュニケーション系の設計が大変重要になってきています。
そして結局、このような複雑系でのIT の利活用で重要なのは、IT パワーを如何に最大限引き出せるか、それを人間系が如何に容易に利活用できるか、になります。
簡単に言えば、それは新しい時代の言語系であり、そのIT的な特徴はデータ操作における並列性の実現とエンドユーザー自身による”プログラミング”の容易さ、になると考えられます。

今年年初のブログで、Trsut の実現を最大のテーマとして掲げ、さらにその実現のための構造を気の流れ
で表現した小生の構想は、決して絵空事ではないと考えています。



APL記号のタイプ・ボール
 


ストリーム・コンピューティングの抽象構成図
 
 
 
 
 
 
 
 
 
 
 
 
 
 








  グローバル化社会におけるコミュニケーション・モデル