Download presentation
Presentation is loading. Please wait.
Published byあやか おうじ Modified 約 8 年前
1
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. Java と XML による BtoB EC サイトの 構築 日立ソフトウェアエンジニアリング(株) インターネットビジネス推進部 中野 明彦
2
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 2 はじめに 弊社(日立ソフト)のご紹介 – 横浜に本社 – 携帯端末からメインフレームまでのソフトウェア 開発 「インターネットビジネス推進部」にて取り組んで いること –Java (特に最近はサーバサイドに注力) – パッケージ開発 – システム・インテグレード
3
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 3 アジェンダ Assam Commerce Server ( ACS) の概要 ACS の BtoC 機能 ACS のフレームワーク・アーキテクチャ ACS の BtoB 機能
4
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 4 Assam Commerce Server ( ACS) の概要
5
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 5 ACS とは EC サイト構築用のパッケージ・ソフト – 弊社 EC サイト「 @Buy24-Software 」がベース http://www.abuy24.com/soft ビジネスモデル –BtoC モデル・・・商品陳列型販売サイト –BtoB モデル・・・インターネット調達システムと の連動 テクノロジ –J2EE ( Servlet 、 JSP 、 JavaBeans 、 XML) - α –Web アプリケーション・サーバ
6
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 6 サポートするプラットフォーム WebSphere WindowsNTSolarisHP-UXAIX WebLogic DB2Oracle Assam Commerce Server
7
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 7 ACS の BtoC 機能 フロントエンド機能 – 商品カタログ – ショッピング・カート – 商品購入(決済機能) – 会員機能 など バックエンド機能 – 商品管理 – オーダー管理 – 会員管理 など
8
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 8 BtoC 機能のデモ
9
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 9 ACS のフレームワーク・アーキテクチャ
10
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 10 Servlet-JSP-JavaBeans の役割分担 DataSource > JSP > JavaBeans > Servlet > JavaBeans
11
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 11 ServletAPI の差異の吸収 Servlet のバージョンの違いによる API の非互換性 アプリケーション・サーバによりサポートされる ServletAPI のバージョンが異なる –WebSphere3.0 ⇒ ServletAPI 2.1 –WebLogic5.1 ⇒ ServletAPI 2.2 抽象クラス( CommandContext )を用意 –ACS が規定する ServletAPI のインタフェースを定義
12
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 12 CommandContext 抽象クラス > CommandContext + > getInstance(ServletContext, HttpServletRequest, HttpServletResponse) :CommandContext + getSession():HttpSession + invalidateSession() + setAttributeToSession(String, Obejct, boolean):boolean + getAttributeFromSession(String):Object + setAttributeToRequest(String, Object) + getAttributeFromRequest(String):Object + getParameterValue(String):String + getParameterValues(String):String[] + forward(String) + include(String) HttpServletRequest ( from javax.servlet ) HttpServletResponse ( from javax.servlet ) ServletContext ( from javax.servlet ) uses CommandContextForAPI20CommandContextForAPI21CommandContextForAPI22
13
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 13 CommandContext の使用例 Public class LoginServlet { public void service(HttpServletRequest request, HttpServletResponse response) { CommandContext cmdCtx = CommandContext.getInstance( getServletConfig().getServletContext(), request, response ); String userID = cmdCtx.getParameterValue( “USER_ID” ); String password = cmdCtx.getParameterValue( “PASSWORD” ); : cmdCtx.setAttributeToSession( “USER_ID”, userID, true ); cmdCtx.forward( “welcome.jsp” ); }
14
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 14 Entity オブジェクト 独自の永続化オブジェクト –O-R マッピングを実現 – データソースの存在を Command オブジェクトに意 識させない – データソース間の相違( SQL の方言)を吸収 EJB ( EntityBean )ではない ;) –ACS 開発開始時(昨年半ば)に評価 – 時機尚早と判断 機能的・性能的制限から
15
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 15 Entity インタフェースと Persister 抽象クラ ス > Entity + validate() + update() + remove() > Persister + update(Entity) + insert(Entity) + remove(Entity) + query(String):Entity + queries(String):Vector # getSQLForInsert(Entity):Vector # getSQLForUpdate(Entity):Vector # getSQLForDelete(Entity):Vector # getSQLForSingleQuery(String):Vector # getSQLForMultipleQuery(String):Vector ConcreteEntity + > getInstance(String):ConcreateEntity + > getInstances(String):Vector ConcretePersister + > getInstance():ConcreatePersister *1 uses
16
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 16 Entity の使用例 ・・・ CustomerEntity customer = new CustomerEntity(); customer.setName( “ 中村 ” ); customer.setAddress( “ 横浜市 ” ); customer.setPhoneNumber( “045-123-4567” ); customer.validate(); customer.update(); 名前: 住所: 電話:
17
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 17 AP サーバ固有 API の差異の吸収 Web アプリケーション・サーバの代表的な機能 – コンテナの実装エンジン( Servlet 、 JSP 、 EJB ) – 各種リソースの Pooling 機能 – クラスタリング(フェールオーバ、ロードバラン ス) – 既存システムへのコネクター など データベース・コネクションの Pooling 機能 –JDBC2.0 で「データソース」として標準化 – 現状の AP サーバは未準拠のものも多い 抽象クラス( PersisterConnector )用意し、固有 API の差異を吸収
18
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 18 PersistConnector 抽象クラス > PersisterConnector + > getInstance():PersisterConnector + begin():boolean + commit() + rollback() + query(String):RecordSet + insert(String):int + update(String):int + delete(String):int WLSPoolConnectorGenericJDBCConnectorWASPoolConnector
19
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 19 PersistConnector の使用例 public abstract class ItemPersister extends Persister { ・・・ public Entity query(String id) { PersisterConnector connector = PersisterConnector.getInstance(); try { connector.begin(); Vector aVector = getSQLForSingleQuery(id); String sql = (String)aVector.elementAt(0); RecordSet aRecordSet = connector.query(sql); target = (Item)createInstance(aRecordSet); } catch(Exception e) { connector.rollback(); } connector.commit(); return target; }
20
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 20 ACS の BtoB 機能
21
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 21 BtoB の定義 企業間の電子商取引 – 従来から EDI (電子データ交換)システムや CALS (生産・運用・調達支援統合システム)として存 在 – 情報や取引関係は closed であった ACS がねらう BtoB とは – インターネット上で open な情報の共有と取引関係 の確立を実現するもの eg. インターネット調達、マーケットプレイス
22
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 22 何故 XML なのか? 従来の BtoB ( EDI )との比較 EDIXML スキーマ データ形式 ツール/ライブラリ 使用言語 シンタックス・ルールが 難解 固定長バイナリや CSV フォーマットで表現 不足している ツール/ライブラリに 制限される シンプル(すぎる?) テキストフォーマット 標準規格 API に従ったものが 無償で提供 Unicode に対応するため 使用言語を制限しない 利点はいろいろあるが・・・
23
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 23 何故 XML なのか?( cnt’d ) 標準技術として認知されたことが一番の理由(だと 思う) –TCP/IP とか HTTP とかと同じ(デファクトの強 み) –EDIFACT や ANSI X.12 は対照的な例 Java との相性がよいこと –XML ドキュメントを解析・生成するためのライブ ラリ(パーサ)が既に数多く提供されている –eg. Sun Project X ( JAXP )、 IBM XML Parser for Java Apache Xeres Java Parser
24
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 24 Ariba Buyer との連携 Ariba Buyer (v7.0) – インターネット調達アプリケーション Ariba Commerce Service Network ( ACSN ) –Buyer と Supplier の間のネットワーク・ハブ Ariba Buyer 買い手側企業 売り手側企業 Ariba 社 Supplier ( ACS ) Ariba Commerce Service Network
25
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 25 c XML commerce eXtensible Markup Language(cXML) –Ariba 社を含む複数のベンダーにより策定 –XML.ORG(http://www.xml.org) のスキーマ・リポジト リに登録 資材調達に係るデータの静的および動的な側面を定め る – 静的な面: 商品カタログ、見積もり、発注データ など – 動的な面: ローカル・カタログ機能、 インターネット・カタログ(パンチアウ ト)機能
26
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 26 ローカル・カタログ機能 Ariba BuyerACSNSupplier Index cXML/HTTP ACSN に ログインする カタログを 作成する Index cXML/HTTP ACSN に ログインする カタログを Upload する Index cXML/HTTP カタログを Download する カタログを インポートする Index cXML/HTTP Buyer 管理者 Supplier 管理者
27
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 27 Index ドキュメント 0000002-T ABC001 4660 Sample 商品 001 Sample 商品 001 の詳細説明 EA 55555555 7 ABC002
28
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 28 インターネット・カタログ(パンチアウ ト)機能 Ariba BuyerACSNSupplier HTML/HTTP PunchOutSetupRequest cXML/HTTP PunchOutSetupRespone cXML/HTTP HTML/HTTP :::: 「注文」ボタンの押下 PunchOutOrderMessage HTML/HTTP 商品の選択・追加 PunchOutSetupRequest cXML/HTTP HTML/HTTP PunchOutSetupRespone cXML/HTTP Supplier の選択 Supplier の URI に遷移 PunchOutOrderMessage HTML/HTTP Buyer 利用者
29
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 29 パンチアウト機能の利点 アイテム数が多く増加する商品(本、 CD 、ソフト ウェア)を電子カタログ化するコストを削減できる。 コンフィギュレーションが必要となる商品(コン ピュータ・ハードウェア)の見積もりに対応できる。 価格やメニューが変化しやすい商品(サービス)の 見積もりに対応できる。 顧客に応じてパーソナライズしたコンテンツを提供 できる。例えば、商品の仕切りや購入金額の上限な ど。
30
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 30 パンチアウトで使用される XML ドキュメ ント 説明 PunchOutSetupRequest PunchOutSetupResponse PunchOutOrderMessage Buyer 利用者の認証情報やカート情報が含まれる。 「 create 」「 edit 」「 inspect 」のオペレーション・タイプがある。 PunchOutSetupRequest に対する応答ドキュメント。 Buyer によって表示される ACS 側の画面の URI が含まれる 本ドキュメントには、見積もりデータとして、商品コードや 数量、集計金額などが含まれる。 c XML ドキュメント 作成 「 create 」 編集 「 edit 」 承認完了 検査 「 inspect 」 提出
31
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 31 PunchOutSetupRequest ドキュメント AN00000001-T 0000002-T sysadmin@ariba.com XXXXXXXX B2B Buyer 7.0 123456789 https://an.ariba.com/punchout?ansessionid=123456789
32
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 32 PunchOutSetupResponse ドキュメント <cXML payloadID="20000929121955383.1962378.297240000@202.32.87.104" timestamp="2000-09-29T12:19:55+09:00" xml:lang="ja" version="1.1.008"> http://www.abuy24.com/servlet/Default StartPage として以下の URI を応答する。 – 「 create 」の場合: ACS のトップページの URI – 「 edit 」「 inspect 」の場合: ACS のカート画面の URI
33
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 33 PunchOutOrderMessage ドキュメント <cXML payloadID="20000904170039238.1962458.1176968516@202.32.87.104" timestamp="2000-09-04T17:00:39+09:00" xml:lang="ja" version="1.1.009"> ・・・ 123456789 5393 ASI0360 4660 Sample 商品 001 Sample 商品 001 の詳細説明 EA 55555555
34
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 34 パンチアウト機能の実装 LaunchListenerServlet ① SAX API を用いた PunchOutSetupRequest の解析 ②ユーザの認証( ACS へのログイン処理) ③「 edit 」「 inspect 」の場合、カート・オブジェクトを再構築 ④遷移先 URI を決定 ⑤ DOM API により PunchOutSetupResponse を生成 CreateOrderMessageCommand ① DOM API により、 HTTP セッション・オブジェクト中のカー ト・オブジェクトから XML ドキュメントを生成 ②生成した XML ドキュメントを HttpRequest オブジェクトに格 納 既存 JSP ページの修正 – カート画面の JSP ページ など
35
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 35 パンチアウト機能のデモ
36
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 36 今後の予定 EJB コンポーネント化を再検討 – 独自 Entity オブジェクト ⇒ EntityBean 化 –Command オブジェクト ⇒ SessionBean 化? ACS の BtoB インタフェースの汎用化と Ariba 以外のプ ロトコルへの対応 –Commerce One, Inc. –Oracle Internet Procurement 、 Oracle Exchange
37
C Hitachi Software Engineering Co.,Ltd. 2000. All Rights Reserved. 37 ご参考資料 インターネットビジネス推進部のホームページ –http://e-biz.hitachi-sk.co.jp ACS 製品情報 –http://e-biz.hitachi-sk.co.jp/sub/frm_sol.html 関連記事 –IDG ジャパン JavaWORLD 2000 年 3 月号:「 EC サイト構築事例に見る Web アプリケー ション開発手法」 2000 年 11 月号:「加速する EC 、進化する J2EE 」 Part2 ~ 4 2000 年 4 月号より連載: 「部下には聞けない “Java 入門 ” 」
Similar presentations
© 2025 slidesplayer.net Inc.
All rights reserved.