本文檔取自IBM Websphere的幫助文檔
此方案集由名為
Plants by WebSphere
的在線零售商設(shè)計(jì)。
Plants by WebSphere
使用
WebSphere Application Server
中的
Web service
支持改進(jìn)與其供應(yīng)商的通信。描述
Web service
支持的更高級(jí)方案僅在
WebSphere Application Server
的特定版本中可用。請(qǐng)查詢您的產(chǎn)品文檔以確認(rèn)您的版本支持什么。
您可以把
Plants by WebSphere
看作在
WebSphere
樣本收藏夾中可用的樣本應(yīng)用程序。這些方案彼此關(guān)系不大。它們描述這個(gè)虛構(gòu)的在線零售商如何能使用多種
Web service
技術(shù),其中有些技術(shù)超出了樣本當(dāng)前演示的范圍。
Web service
是中間件。您可使用
Web service
把應(yīng)用程序連接在一起,不論每個(gè)應(yīng)用程序是如何實(shí)施的或位于何處。例如,
Web service
可把零售商連接到批發(fā)供應(yīng)商。中間件并不算新。在
Web service
中新的是此連接基于開放標(biāo)準(zhǔn)和
Web
技術(shù)。
Web service
在與因特網(wǎng)類似的抽象級(jí)別操作,并且它們可使用任何可啟用
Web
的操作系統(tǒng)、硬件平臺(tái)或編程語言。
Plants by WebSphere
的店面出售植物和園藝用品。在客戶訂購商品時(shí),站點(diǎn)檢查其存貨數(shù)據(jù)庫中的商品可用性。方案顯示存貨系統(tǒng)如何能在各階段中成長(zhǎng),使用各種
Web service
技術(shù)改進(jìn)其能力。
如樣本收藏夾中所示,
Plants by WebSphere
應(yīng)用程序已經(jīng)具有
Web service
能力。請(qǐng)參閱下面獲取該在線零售商在采用
Web service
技術(shù)之前可能如何運(yùn)營(yíng)的描述。已經(jīng)引入了關(guān)鍵
Web service
組件。要確定對(duì)于您已購買的
WebSphere Application Server
版本有哪些組件可用,請(qǐng)查詢每個(gè)版本的文檔。
-
對(duì)供應(yīng)商的靜態(tài)查詢
在此方案中,該園藝零售商把現(xiàn)有
Web
應(yīng)用程序轉(zhuǎn)為
Web service
,用于檢查其主要批發(fā)園藝供應(yīng)商的存貨。
-
對(duì)供應(yīng)商的動(dòng)態(tài)查詢
在此方案中,該園藝零售商使用
Web service
執(zhí)行對(duì)幾個(gè)批發(fā)供應(yīng)商的存貨搜索。
在此方案中,該園藝零售商使其
Web service
可供需要服務(wù)的其他人使用。
目前,這些方案提供描述而不是逐步說明。要獲得
Web service
編碼的經(jīng)驗(yàn),請(qǐng)參閱
WebSphere
樣本收藏夾。它為構(gòu)建、配置和運(yùn)行
Plants by WebSphere
樣本應(yīng)用程序和其他應(yīng)用程序提供詳細(xì)的說明。
在
Web service
之前
假設(shè)
Plants by WebSphere
店面不使用
Web service
。該園藝零售商建立了一個(gè)令人印象深刻的因特網(wǎng)店面使客戶能購買和訂購商品。為確定是否可供給用戶訂單,
Web
應(yīng)用程序依靠
Enterprise bean
查詢
Plants by WebSphere
存貨數(shù)據(jù)庫。如果貨棧中有該商品,則站點(diǎn)向客戶確認(rèn)訂單。
如果客戶訂購的商品缺貨,則站點(diǎn)通知客戶該商品缺貨,并建議客戶同意讓商品延期交貨。之后,在客戶離開
Plants by WebSphere
站點(diǎn)很久以后,站點(diǎn)管理員或存貨管理員可能會(huì)向供應(yīng)商打電話或發(fā)傳真以獲取更多存貨。

引入
Web service
Web service
可以給予
Plants by WebSphere
讓缺貨的商品裝運(yùn)到其倉庫或直接到其客戶的自動(dòng)化方法。如果能足夠快地聯(lián)系到供應(yīng)商,
Plants by WebSphere
就不需要通知其客戶商品缺貨。如果減少自己的存貨是期望的業(yè)務(wù)行動(dòng),
Plants by WebSphere
就可以開始這么干。
Web service
在以下核心技術(shù)上構(gòu)建:
XML
解決數(shù)據(jù)獨(dú)立性的問題。您可使用它描述數(shù)據(jù),還可把該數(shù)據(jù)映射進(jìn)或映射出任何應(yīng)用程序或編程語言。
要使其應(yīng)用程序交換信息(如商品價(jià)格和可用性),
Plants by WebSphere
及其供應(yīng)商將把數(shù)據(jù)放入雙方都同意的一組
XML
標(biāo)記中。
要獲取更多的信息,請(qǐng)參閱
www.w3.org
上的
XML
規(guī)范
。
使用此基于
XML
的語言來創(chuàng)建底層應(yīng)用程序的描述。它是這個(gè)有關(guān)通過充當(dāng)?shù)讓討?yīng)用程序和其他啟用
Web
的應(yīng)用程序之間的接口,使應(yīng)用程序變成
Web service
的描述。
Plants by WebSphere
有一個(gè)能查詢供應(yīng)商存貨的應(yīng)用程序。為了啟用通過因特網(wǎng)與供應(yīng)商的通信,該公司把應(yīng)用程序轉(zhuǎn)為
Web service
。
要獲取更多的信息,請(qǐng)參閱
www.w3.org
上的
WSDL
規(guī)范
-
SOAP
(簡(jiǎn)單對(duì)象訪問協(xié)議)
SOAP
是
Web
的核心通信協(xié)議,大多數(shù)
Web service
都使用此協(xié)議互相談話。
SOAP
是用于
Web service
請(qǐng)求的
XML
格式。根據(jù)
SOAP
規(guī)格,
SOAP
是
“
一個(gè)用于在分散的、分布式環(huán)境中的信息交換的輕量級(jí)協(xié)議
”
。它是三個(gè)部分組成的基于
XML
協(xié)議;一個(gè)定義描述消息中有什么和如何處理它的框架的包絡(luò),一組用于表達(dá)應(yīng)用程序定義的數(shù)據(jù)類型的編碼規(guī)則,以及一個(gè)用于表示遠(yuǎn)程過程調(diào)用和響應(yīng)的約定。
SOAP
可潛在地與其他多種協(xié)議組合使用;但是,此文檔中定義的唯一綁定描述的是如何把
SOAP
與
HTTP
和
HTTP
擴(kuò)展框架組合使用。
因?yàn)樗鼈儗?duì)于
Plants by WebSphere
內(nèi)部網(wǎng)是外部的,所以與其供應(yīng)商的通信將利用
HTTP
上的
SOAP
。在公司內(nèi)部網(wǎng)中操作的
Web service
可使用其他傳輸,如本地
Java
綁定。下面描述的
Web service
調(diào)用框架(
WSIF
)組件可幫助
Plants by WebSphere
應(yīng)用程序動(dòng)態(tài)地為給定情形選擇優(yōu)化傳輸機(jī)制。
要獲取更多的信息,請(qǐng)參閱
www.w3.org
上的
SOAP
規(guī)范
。
Web service for J2EE
也稱為
JSR-109
,定義
J2EE
應(yīng)用程序如何創(chuàng)建和訪問
Web service
。
實(shí)施
Web service
應(yīng)用程序
描述如何實(shí)施到現(xiàn)有應(yīng)用程序的
Web service
接口,然后在應(yīng)用程序服務(wù)器中部署您的
Web service
。
-
Java API for Remote Procedure Calls
JAX-RPC
也稱為
JSR-101
,它定義
Java
應(yīng)用程序如何訪問
Web service
。
WebSphere
產(chǎn)品線提供這些附加組件以幫助您從
Web service
得到最多好處。方案更詳細(xì)地描述了
Plants by WebSphere
如何使用每個(gè)組件。
WS-Security
(
Web service
安全性)
WebSphere Application Server
的
Web service
安全性是基于
Web service
安全性(
WS-Security
)規(guī)范中包括的標(biāo)準(zhǔn),它處理如何為
Web service
環(huán)境中交換的消息提供保護(hù)。它定義了保護(hù)消息完整性和機(jī)密性的核心工具,并提供了把安全性相關(guān)聲稱與消息關(guān)聯(lián)的機(jī)制。
Web service
安全性是一個(gè)消息層標(biāo)準(zhǔn),它基于通過
XML
數(shù)字簽名的安全
SOAP
消息、通過
XML
加密的機(jī)密性和通過安全性令牌的憑證傳播。
要獲取更多信息,請(qǐng)參閱
保護(hù)基于
WS-Security
的
V5.x
應(yīng)用程序的
Web service
。
?
?
Web service
方案:對(duì)供應(yīng)商的靜態(tài)查詢
在此方案中,在線供應(yīng)零售商把應(yīng)用程序轉(zhuǎn)為
Web service
,用于檢查其主要供應(yīng)商的存貨。
Plants by WebSphere
是出售植物和園藝用品的因特網(wǎng)店面。該公司意識(shí)到可使用
Web service
編程接口
“
打包
”
其現(xiàn)有的
Web
應(yīng)用程序。例如,可把
BackOrderStock
會(huì)話
bean
轉(zhuǎn)為
SOAP Web service
客戶機(jī),該客戶機(jī)與位于供應(yīng)商處的供應(yīng)商
Web service
應(yīng)用程序交互。明確地說,可把
BackOrderStock
會(huì)話
bean
功能轉(zhuǎn)為
J2EE
客戶機(jī)和
JAX-RPC
客戶機(jī)的
Web service
。這兩個(gè)客戶機(jī)是
Web service
客戶機(jī)的
J2EE
和
Java
標(biāo)準(zhǔn)。
如何處理已脫銷的商品
當(dāng)客戶在
Plants by WebSphere
站點(diǎn)上根據(jù)
Plants by WebSphere
存貨訂購不可用的商品時(shí),發(fā)生以下事件:
1.??????
Plants by WebSphere
檢查它自己的存貨。
Web
站點(diǎn)使用的應(yīng)用程序檢查
Plants by WebSphere
存貨數(shù)據(jù)庫。它發(fā)現(xiàn)該商品不在庫存中。
2.??????
Plants by WebSphere
使用
Web service
檢查供應(yīng)商存貨。
應(yīng)用程序調(diào)用
SOAP
客戶機(jī),后者與供應(yīng)商站點(diǎn)上的
SOAP
服務(wù)器通信以確定供應(yīng)商的庫存中是否有該商品。供應(yīng)商數(shù)據(jù)被發(fā)送到
Plants by WebSphere
。
3.??????
Plants by WebSphere
獲取或未獲取已脫銷的商品。
如果供應(yīng)商表明庫存中有該商品,則
Plants by WebSphere
使用的應(yīng)用程序確定是否代表客戶訂購該商品。數(shù)據(jù)的交換可能包括檢查價(jià)格閾值,在此閾值以上
Plants by WebSphere
將不訂購該批發(fā)商品。它可能還包括決策信息,如供應(yīng)商將需要多長(zhǎng)時(shí)間來傳遞該商品,或制造商計(jì)劃停止生產(chǎn)該商品的日期。
4.??????
Plants by WebSphere
盡可能快地把結(jié)果通知其客戶。
如果能足夠快地聯(lián)系到供應(yīng)商,
Plants by WebSphere
就不需要通知其客戶有關(guān)可用性問題。它只要確認(rèn)該商品可用即可,就好像該商品在
Plants by WebSphere
的庫存中一樣。如果供應(yīng)商存貨暫時(shí)缺少該商品,或
Plants by WebSphere
決定不從供應(yīng)商哪里訂購該商品,
Plants by WebSphere
將向客戶發(fā)出相應(yīng)的響應(yīng)。
請(qǐng)參閱樣本收藏夾以獲取
GreenhouseByWebSphere
應(yīng)用程序的詳細(xì)信息,它是使用
Message Driven Beans
(
MDB
)、無狀態(tài)會(huì)話
bean
和
Java
消息服務(wù)的企業(yè)到企業(yè)(
B2B
)的應(yīng)用程序。
在此方案中使用的
Web service
技術(shù)
此方案使用以下
Web service
技術(shù)。
XML
(可擴(kuò)展標(biāo)記語言)
XML
用于標(biāo)準(zhǔn)化
Plants by WebSphere
與其供應(yīng)商之間的數(shù)據(jù)交換。
Web service for J2EE
Web service for J2EE
也稱為
JSR-109
,它定義
J2EE
應(yīng)用程序如何創(chuàng)建和訪問
Web service
。
遠(yuǎn)程過程調(diào)用的
Java API
JAX-RPC
也稱為
JSR-101
,它定義
Java
應(yīng)用程序如何訪問
Web service
。
WSDL
(
Web service
描述語言)
通過擔(dān)當(dāng)?shù)讓討?yīng)用程序和其他啟用
Web
的應(yīng)用程序之間的接口,
WSDL
把現(xiàn)有應(yīng)用程序轉(zhuǎn)為
Web service
。
SOAP
(簡(jiǎn)單對(duì)象訪問協(xié)議)
SOAP
是
Web service
通過因特網(wǎng)和供應(yīng)商通信的協(xié)議。
?
?
Web service
方案:對(duì)供應(yīng)商的動(dòng)態(tài)查詢
此文檔描述在線園藝供應(yīng)零售商使用
Web service
對(duì)幾個(gè)批發(fā)供應(yīng)商的存貨執(zhí)行搜索的方案。
在
“
對(duì)供應(yīng)商的靜態(tài)查詢
”
方案中,
Plants by WebSphere IT
人員分別與每個(gè)供應(yīng)商建立連接,并在供應(yīng)商來去時(shí)進(jìn)行更改。同時(shí)查詢多個(gè)供應(yīng)商會(huì)是很方便的,甚至不必提供特定供應(yīng)商的列表來查詢。而且,
Plants by WebSphere
管理器將希望能根據(jù)最低批發(fā)價(jià)格或最快可用性等標(biāo)準(zhǔn)快速銷售。
在
“
對(duì)供應(yīng)商的動(dòng)態(tài)查詢
”
方案中,有幾個(gè)植物和園藝供應(yīng)商已把
Web service
發(fā)布到
Universal Description, Discovery, and Integration
(
UDDI
)注冊(cè)表。供應(yīng)商創(chuàng)建使用標(biāo)準(zhǔn)接口的存貨
Web service
。他們把他們的
Web service
發(fā)布到集中式注冊(cè)表。
Plant Wholesalers Association
可能已經(jīng)建立了注冊(cè)表。或者一家小因特網(wǎng)公司在發(fā)現(xiàn)供應(yīng)商和零售商都愿意為方便服務(wù)而每月支付一筆小費(fèi)用后,可能已經(jīng)建立了買方
-
賣方站點(diǎn)。
如何處理已脫銷的商品
當(dāng)客戶在
Plants by WebSphere
站點(diǎn)上根據(jù)
Plants by WebSphere
存貨訂購不可用的商品時(shí),發(fā)生以下事件。
1.??????
供應(yīng)商就為了這種情況預(yù)先把他們的
Web service
發(fā)布到
UDDI Registry
。
他們用這種方法通知查詢的零售商(如
Plants by WebSphere
)可以檢查他們的存貨。
2.??????
Plants by WebSphere
檢查它自己的存貨。
Web
站點(diǎn)使用的應(yīng)用程序檢查
Plants by WebSphere
存貨數(shù)據(jù)庫。它發(fā)現(xiàn)該商品不在庫存中。
3.??????
Plants by WebSphere
使用
UDDI4J
客戶機(jī)查詢
UDDI Registry
以獲取可檢查其存貨的供應(yīng)商。
Plants by WebSphere
可調(diào)用
Web service
,該服務(wù)查詢
UDDI Registry
以獲取供應(yīng)商。接著,調(diào)用每個(gè)供應(yīng)商的站點(diǎn)上的
Web service
。管理員會(huì)得到可從其獲取請(qǐng)求的商品的供應(yīng)商列表,可能還包括價(jià)格和可用性數(shù)據(jù)。
4.??????
Plants by WebSphere
使用
Web service
檢查供應(yīng)商存貨。
應(yīng)用程序調(diào)用
J2EE
客戶機(jī)或
JAX-RPC
客戶機(jī)的
Web service
,后者與供應(yīng)商站點(diǎn)上的
SOAP
服務(wù)器通信以確定供應(yīng)商的庫存中是否有該商品。供應(yīng)商數(shù)據(jù)被發(fā)送到
Plants by WebSphere
。
5.??????
Plants by WebSphere
獲取或未獲取已脫銷的商品。
如果供應(yīng)商表明庫存中有該商品,則
Plants by WebSphere
使用的應(yīng)用程序確定是否代表客戶訂購該商品。數(shù)據(jù)的交換可能包括檢查價(jià)格閾值,在此閾值以上
Plants by WebSphere
將不訂購該批發(fā)商品。它可能還包括決策信息,如供應(yīng)商將需要多長(zhǎng)時(shí)間來傳遞該商品,或制造商計(jì)劃停止生產(chǎn)該商品的日期。
6.??????
Plants by WebSphere
盡可能快地把結(jié)果通知其客戶。
如果能足夠快地聯(lián)系到供應(yīng)商,
Plants by WebSphere
就不需要通知其客戶有關(guān)可用性問題。它只要確認(rèn)該商品可用即可,就好像該商品在
Plants by WebSphere
的庫存中一樣。如果供應(yīng)商存貨暫時(shí)缺少該商品,或
Plants by WebSphere
決定不從供應(yīng)商哪里訂購該商品,
Plants by WebSphere
將向客戶發(fā)出相應(yīng)的響應(yīng)。
在此方案中使用的
Web service
技術(shù)
此方案使用以下
Web service
技術(shù)。
XML
(可擴(kuò)展標(biāo)記語言)
XML
用于標(biāo)準(zhǔn)化
Plants by WebSphere
與其供應(yīng)商之間的數(shù)據(jù)交換。
Web service for J2EE
Web service for J2EE
也稱為
JSR-109
,它定義
J2EE
應(yīng)用程序如何創(chuàng)建和訪問
Web service
。
遠(yuǎn)程過程調(diào)用的
Java API
JAX-RPC
也稱為
JSR-101
,它定義
Java
應(yīng)用程序如何訪問
Web service
。
WSDL
(
Web service
描述語言)
通過擔(dān)當(dāng)?shù)讓討?yīng)用程序和其他啟用
Web
的應(yīng)用程序之間的接口,
WSDL
把現(xiàn)有應(yīng)用程序轉(zhuǎn)為
Web service
。
SOAP
(簡(jiǎn)單對(duì)象訪問協(xié)議)
SOAP
是
Web service
通過因特網(wǎng)和供應(yīng)商通信的協(xié)議。
Universal Description, Discovery and Integration
(
UDDI
)注冊(cè)表
通過把其
Web service
發(fā)布到
UDDI
,供應(yīng)商使它們可供
Plants by WebSphere
和其他零售商發(fā)現(xiàn)和重用。這節(jié)約了開發(fā)時(shí)間、精力和成本,并幫助最小化在
Plants by WebSphere
和需要聯(lián)系供應(yīng)商以獲取存貨數(shù)據(jù)的其他各種零售商處維護(hù)同一應(yīng)用程序的幾個(gè)不同實(shí)施的需求。
WebSphere Application Server
的特殊版本提供可在內(nèi)部網(wǎng)環(huán)境中使用的專用
UDDI Registry
。
?
?
Web service
方案:交叉供應(yīng)商查詢
此文檔描述在線園藝供應(yīng)零售商使用
Web service
將其存貨系統(tǒng)與其他零售商的存貨系統(tǒng)集成的方案。主因特網(wǎng)店面還可使用
Web service
代表它自身或其他零售商來檢查供應(yīng)商存貨。
Plants by WebSphere
的市場(chǎng)營(yíng)銷人員憑借市場(chǎng)數(shù)據(jù)確認(rèn)人們喜歡在購買植物和園藝用品時(shí)再購買其他貨物,如園藝書刊。為了增加
Plants by WebSphere
的可視性,該公司對(duì)各種其他商家站點(diǎn)做了安排,以包括
Plants by WebSphere
存貨作為那些站點(diǎn)自己存貨的一部分。
在一個(gè)站點(diǎn)上,使用了
Web service
和其他技術(shù)把關(guān)于
Plants by WebSphere
商品的數(shù)據(jù)插入與其余站點(diǎn)的外觀匹配的
Web
頁面。當(dāng)客戶在非
Plants by WebSphere
的站點(diǎn)上訂購
Plants by WebSphere
商品時(shí),第二個(gè)站點(diǎn)依靠
Plants by WebSphere
存貨
Web service
來確定該商品是在庫存中,并按需要查詢供應(yīng)商。
第二個(gè)站點(diǎn)不必實(shí)施它自己的
Web service
來執(zhí)行與
Plants by WebSphere
所開發(fā)的服務(wù)相同的功能。第二個(gè)站點(diǎn)可能要通過創(chuàng)建自己的
Web service
來實(shí)施復(fù)雜的功能。
如何處理已脫銷的商品
當(dāng)客戶從轉(zhuǎn)售
Plants by WebSphere
的商品的某個(gè)站點(diǎn)上訂購商品時(shí),發(fā)生以下事件。
1.??????
Plants by WebSphere
預(yù)先將其
Web service
發(fā)布到公用
UDDI Registry
。
其他零售商通過此方式了解從
Plants by WebSphere
可用的存貨
Web service
。在此方案中,
Plants by WebSphere
將使
Web service
能檢查它自己的存貨以及供應(yīng)商的存貨。
2.??????
經(jīng)銷商檢查
Plants by WebSphere
存貨。
Web
站點(diǎn)使用的應(yīng)用程序檢查
Plants by WebSphere
存貨數(shù)據(jù)庫。它發(fā)現(xiàn)該商品不在庫存中。
3.??????
經(jīng)銷商查詢它可檢查其存貨的供應(yīng)商的
UDDI Registry
。
4.??????
經(jīng)銷商使用
Web service
檢查供應(yīng)商存貨。
應(yīng)用程序調(diào)用
J2EE
或
JAX-RPC SOAP
客戶機(jī)的
Web service
,后者與供應(yīng)商站點(diǎn)上的
SOAP
服務(wù)器通信以確定供應(yīng)商的庫存中是否有該商品。供應(yīng)商數(shù)據(jù)被發(fā)送到經(jīng)銷商。
5.??????
經(jīng)銷商獲取或未獲取已脫銷的商品。
6.??????
經(jīng)銷商盡可能快地把結(jié)果通知其客戶。
在此方案中使用的
Web service
技術(shù)
此方案使用以下
Web service
技術(shù)。
XML
(可擴(kuò)展標(biāo)記語言)
XML
用于標(biāo)準(zhǔn)化
Plants by WebSphere
與其供應(yīng)商之間的數(shù)據(jù)交換。
WSDL
(
Web service
描述語言)
通過擔(dān)當(dāng)?shù)讓討?yīng)用程序和其他啟用
Web
的應(yīng)用程序之間的接口,
WSDL
把現(xiàn)有應(yīng)用程序轉(zhuǎn)為
Web service
。
SOAP
(簡(jiǎn)單對(duì)象訪問協(xié)議)
SOAP
是
Web service
通過因特網(wǎng)和供應(yīng)商通信的協(xié)議。
?
?
?
?