IAJapan Top IAjapan Java研究部会 TOP
最終更新日:2000-11-09
------

IAJ JavaTM部会 第1回 岡山セミナー レポート
「JavaとXMLによるBtoB ECサイトの構築」

中野氏 講師:中野明彦氏(日立ソフトウェアエンジニアリング株式会社)
[資料(PPT: 112KB)]
 最初のセッションを担当するのは、中野 明彦氏である。中野氏は、雑誌 Java World に EJB や EC サイト構築事例等の記事を執筆されている方である。 今回は、中野氏が開発に携わった「Assam Commerce Server」という EC サイトを構築するためのパッケージ製品を題材に話を進めていった。

 この製品は、EC サイトの構築するためのもので、いわゆる BtoC 向けの機能と BtoB 向けの両方の機能を持った、すべて Java で書かれたシステムである。 BtoB 向けの機能としては、米 Ariba 社のシステムとの接続機能を用意しているとのことである。 米 Ariba 社のシステムは、現在ホットな話題となっているマーケットプレイスを実現するためのシステムである。

 氏はこの製品の特徴について「様々なプラットフォーム上で動作する」と語った。 幅広いプラットフォームに対応できるという点は、プラットフォーム非依存である Java の面目躍如といったところであろう。

 続いて中野氏は、「Assam Commerce Server」で行ったプラットフォームの差異を吸収するための仕組みについて簡単に説明した。この中で氏は「差異を吸収するべき主な点は、 Servlet API、DB 製品による SQL の違い、アプリケーション・サーバーによる DB コネクションのプーリングを使用するための API の違いである」 と述べ、それらの差異を吸収するために採用した設計について説明した。 やはり、Java を利用したからといって、自動的にポータビリティが得られるわけではなく、それなりの工夫は絶対に必要になってくるようだ。 このあたりは貴重なノウハウだと思われるので、今回のセミナーのような場を通じて共有される必要があると強く感じた。
 また、この中の DB 製品の差異を吸収する設計の説明の中で中野氏は「EJB の Container Managed Persistence を使った Entity Bean を使用することも考えた。 しかし、このシステムの開発を開始した当初に、あるアプリケーションサーバー製品で実験して見たところ性能が非常に悪かったため、利用を断念した。 ただ、最近ではまた事情が変わってきていると思う。」とも述べた。 EJB の目玉の一つである CMP Entity Bean が以前は性能上の問題を抱えていたという点は非常に興味深い話である。

 次に中野氏は BtoB 機能を実装した時に苦労した点として、 「JSP にロジックが含まれてしまっていて、JSP を修正することが本当に大変だった。 ロジックが含まれている JSP は非常にメンテナンスがやりづらい。」と語った。 JSP の役割としてよく語られていることに、ビジネスロジックとプレゼンテーションの分離を行うということがある。 しかし、現実問題として完全にロジックを JSP からなくすことは難しいようである。 そのため、JavaSoft も JSP にロジックを埋め込むための仕組みを用意しているのではないだろうか。 現実的な解として、どこまでロジックとプレゼンテーションを分離するのがよいのかはまだまだ議論の余地がありそうである。

 中野氏は、今後の予定として以下の点を挙げ、話を締めくくった。

  • EJB コンポーネント化の再検討
  • BtoB インタフェースの汎用化(Ariba 社以外のシステムとの接続)
Q: 国内で稼動している EC サイトはどのような言語で実装されているのか。
その中で、Java で実装されているサイトはどのようなポジションにあるのか。
今後はどのような方向に進むのか。
モバイル機器向けの EC サイトではどのようになっていくのか。

A: 実感としては Java で実装されているサイトが増えてきていると思うが、 まだまだ ASP(Active Server Pages) や CGI で実装されているサイトも多いと思う。 ただ、それらの比率については把握していない。 Java は ASP や CGI で構築したシステムと比較して、メンテナンス性に優れているので 今後は Java で実装するサイトが増えていくのではないかと思う。 モバイル機器向けでも、サーバー側で実装する処理としては、大きな違いはないと思う。

Q:Servlet では状態の維持はどのように行っているのか。

A:Servlet API で状態をメモリ中に保持するための仕組みが用意されている。

レポータ: 中村正弘


  • 日本インターネット協会 Java 部会についてのお問い合わせは java-info@iaj.or.jp まで
  • このサイトに問題があった場合は webmaster@java-conf.gr.jpまでご連絡ください
  • ※Sun, Sun Microsystemsは米国およびその他の国における米国Sun Microsystems, Inc.の商標または登録商標です。 Javaおよびその他のJavaを含む標章は、米国Sun Microsystems, Inc.の商標であり、同社のJavaブランドの技術を使用した製品を指します
  • 日本インターネット協会 Java 部会は、米国 Sun Microsystems, Inc. とは独立の団体です。
Copyright (C) 1996-2000 日本インターネット協会 All rights reserved.