top / index / prev / next / target / source

2005-09-20 diary: Open Source Way 2005申し込み , blancoSOAP早期アクセス版リリース

いがぴょんの日記 日記形式でつづる いがぴょんコラム ウェブページです。

old-v2

Open Source Way 2005申し込み , blancoSOAP早期アクセス版リリース

Open Source Way 2005を申し込みました。初日の10/06だけ参加します。 , 具象化SAX (ConcreteSAX) 実装ができあがったので、blancoSOAPの早期アクセス版をリリースします。

Open Source Way 2005: 10/06を参加します

Open Source Way 2005の初日(10/06)を申し込みました。

blanco Frameworkでオープンソースに携わっているため、オープンソースに関する各種関連情報を取得するのが目的です。

blanco Framework: blancoSOAP早期アクセス版リリース

blancoSOAPの早期アクセス版をリリースします。Eclipseプラグインの形態において配布します。

具象化SAX (ConcreteSAX ) の実装例を示すのが主たる狙いです。私自身が 具象化SAXの実装を熱望しているので、この早期アクセス版を今すぐ使い始める予定です。具象化SAX (ConcreteSAX ) を利用すると、非常に高速な XML入出力を実現することが出来ます。具象化SAX (ConcreteSAX )が提供するのは、SAXへの最低限の具象化Javaソースコードとなります。具象化SAX (ConcreteSAX )を利用することにより、安全で高速な XML入出力が可能になるのです。特に SAXベースのXML書きだしは一般の方にはあまり知られていないので残念であると私は考えているので具象化SAX (ConcreteSAX ) JavaソースコードによってSAXベースのXML書きだし機能が広く一般に知られるようになることを期待しています。

というのも、私は DOMによるXML入出力は非常に危険なものであると判断しているからです。DOMによるXML入出力は XMLデータが膨大である場合に実行時メモリエラーが発生するリスクが急増します。実行時メモリエラーが発生しないまでも、DOMツリーが成長してきたときの性能劣化は、私には受け入れられないことが多いのです。(.NETのDOMはツリーが成長してきたときも比較的性能劣化を発生させずに動作するのですけれどもね…。現時点のJavaにおける一般的なDOM実装は、ツリーが成長したときの性能劣化やメモリ効率の悪さは目に余るところがあるものと考えています)

今回のリリースは早期アクセス版の位置づけとなっています。とりあえずドキュメントなどは一切ついていません。XMLマニアの方とか SAX熟練者の方が早期アクセスを行うことを念頭に置いています。一方熟練したSAXエンジニアは ここであげるような 具象化SAX (ConcreteSAX ) と類似した実装をツールを利用するかしないかに関わらず一般的なコーディングとして実施しているものと考えます。ほとんどの人は SAXの charactersイベントの集約処理ロジックを、業務ロジックと同じメソッド内には書きたがらないでしょうから…。※困ったことに、Java言語でどろどろのXML入出力プログラムを書いているプロのXML屋のほとんどは DOMではなく SAXを利用している現実があります。性能+メモリ消費量の都合から、JavaではDOMが業務プログラムにおいて利用不可能である局面が多いのです。ところが困ったことに世間のXML入門記事は DOMベースで書かれている場合が多いように感じられます (苦笑)

2005.09.21追記 blancoSOAPの 具象化SAX (ConcreteSAX)について、0.0.8リリースにおいて

これで私自身が ConcreteSAXを より簡便に利用することが出来るようになりました。

blanco Framework: blancoSOAPの今後の方針

具象化SAX (ConcreteSAX )の実装ができあがったので、次は リバースSAXの具象化SAX (ConcreteSAX )版に手を染めるのか、あるいは本丸である 超軽量SOAP実装の実現か、いずれかがターゲットになってくるのでしょう。ただし、今週はいろいろ予定があるので、あまり進捗できない可能性が高いです。とりあえず超軽量SOAP実装のレベル1 (SOAP実装を生ConcreteSAXベースで実現するもの) に関しては、そんなに稼働はかからない見通しなので、そこから手を付けるのも妥当であるように考えられます。

2005.09.21追記 とりあえず POJO生成コードの共通化を先行して実施する必要が出てきたので、blancoSOAPに POJO生成の仕組みを追加することを最優先とすることになりました。


この日記について