免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
用DataStage 進(jìn)行數(shù)據(jù)整合,第 3 部分: 實時數(shù)據(jù)...
本系列的第 1 部分和第 2 部分詳細(xì)介紹了如何利用 DataStage 開發(fā) ETL Job。 在本文中,我們將引入 RTI Job 的概念,并詳細(xì)講述如何利用 DataStage 開發(fā) RTI Job 并將 RTI Job 發(fā)布成 Web Service 以供其他應(yīng)用程序調(diào)用。

本文主要包含以下幾部分內(nèi)容:

1. RTI Job特性介紹

2. 開發(fā)一個RTI Job

3. 將RTI Job發(fā)布成Web Service

4. 利用Java客戶端調(diào)用發(fā)布好的Web Service

RTI Job特性介紹

RTI Job是 ETL Job的一種特殊形式,它可以被發(fā)布成RTI 服務(wù)(RTI Service),RTI服務(wù)分成三種,分別是Web service,EJB和JMS。在本文中我們只介紹如何發(fā)布成Web service。正是因為RTI Job可以以服務(wù)的形式被發(fā)布出來,這就使得企業(yè)數(shù)據(jù)整合和企業(yè)的面向服務(wù)的架構(gòu)(SOA)無縫的整合在了一起。下面我們通過圖一來看一下RTI Job被發(fā)布成RTI服務(wù)后整個應(yīng)用程序的架構(gòu)。


圖一:RTI 架構(gòu)

從這張圖中,我們可以清楚地看出RTI的架構(gòu),首先開發(fā)好的RTI Job的實例運(yùn)行在DataStage Server上,這些RTI Job以RTI Service的形式發(fā)布在RTI Server上。RTI Server和DataStage Server之間通過RTI Agent進(jìn)行通信。其實RTI Server本身也是作為一個Web應(yīng)用程序運(yùn)行在Web應(yīng)用程序服務(wù)器上的,可以是IBM Websphere 應(yīng)用程序服務(wù)器或者BEA WebLogic應(yīng)用程序服務(wù)器等。RTI Server和DataStage Server可以不放在同一臺機(jī)器上,但是RTI Agent和DataStage Server必須放在同一臺機(jī)器上面。這樣,在RTI Server上部署好的Web Service就可以被各種客戶端來調(diào)用,比如Java, dot NET等。

RTI Job的種類

RTI Job分成三種,第一種和普通的ETL Job沒什么區(qū)別,既不含有RTI輸入組件(RTI Input Stage)也不含有RTI 輸出組件(RTI Output Stage)。第二種只含有RTI輸出組件,第三種既含有RTI 輸入組件又含有RTI輸出組件。下面我們分別來介紹一下這三種類型的RTI Job

1. 既不含RTI輸入組件也不含RTI輸出組件

前面提到,這種RTI Job和普通的ETL Job沒有什么區(qū)別,那么它怎么同調(diào)用它的客戶端進(jìn)行交互呢,這分兩種情況,第一種情況是客戶端只是希望調(diào)用一個ETL Job來執(zhí)行數(shù)據(jù)的抽取,轉(zhuǎn)換和加載的工作,不需要對該ETL Job有輸入也無需從該ETL Job中得到輸出。第二種情況是通過對該ETL Job設(shè)置參數(shù)來獲得從客戶端的輸入,在這種情況下,該ETL Job有輸入但沒有輸出。大家注意到,在這兩種情況下,客戶端都不能從該ETL Job中獲得返回值,也就是說該ETL Job沒有輸出。為什么會這樣呢,因為RTI Job若想有輸出,那么它必須含有RTI 輸出組件。圖2顯示了這種既不含RTI輸入組件也不含RTI輸出組件的RTI Job的一個例子。


圖2:RTI Job示例1

2. 只含有RTI輸出組件

這種RTI Job含有RTI輸出組件但不含有RTI輸入組件,這種RTI Job能通過RTI輸出組件向調(diào)用它的客戶端返回需要的值,可以是一個整型數(shù)據(jù),一個結(jié)構(gòu)化的數(shù)據(jù)或者一個結(jié)構(gòu)化的數(shù)組,具體返回什么,可以在部署成Web Service的過程中設(shè)置,這會在文章的第三部分進(jìn)行介紹。當(dāng)然,這種類型的RIT Job也是通過設(shè)置Job的參數(shù)來接收從客戶端傳過來的參數(shù)的。圖3顯示了一個只含有RTI輸出組件的一個例子。


圖3:RTI Job示例2

3. 既含RTI輸入組件又含RTI輸出組件

這種RTI Job既能通過RTI輸入組件接受從客戶端傳過來的參數(shù),又能通過RTI輸出組件來向客戶端返回結(jié)果。這種RTI Job與前兩種RTI Job的另外一個不同點是,當(dāng)這種RTI Job編譯后,會產(chǎn)生一個或者多個實例一直運(yùn)行,這些事例會維持著和數(shù)據(jù)庫的連接,因此當(dāng)客戶端進(jìn)行調(diào)用的時候,相應(yīng)速度就會非常快,而前面兩種RTI Job的響應(yīng)速度則相對會比較慢一些。圖4是一個既含RTI輸入組件又含RTI輸出組件的RTI Job的例子。


圖4:RTI Job示例3

在介紹了各種不同的RTI Job之后,我們接下來進(jìn)入如何開發(fā)一個RTI Job的階段。





回頁首


開發(fā)一個RTI Job

在這一部分中,我們將詳細(xì)講解如何開發(fā)一個既含RTI輸入組件又含RTI輸出組件的RTI Job。首先我們來介紹一下我們即將開發(fā)的RTI Job的功能:我們的數(shù)據(jù)庫系統(tǒng)中預(yù)先建立了一張表,表明為Student,這張表由兩個字段,分別是ID和Name,我們即將開發(fā)的RTI Job就是通過接受從客戶端傳進(jìn)來的ID來查找對應(yīng)的Name,然后將查詢結(jié)果返回到客戶端去。

1. 打開DataStage Designer, 系統(tǒng)會自動彈出一個創(chuàng)建新的DataStage Job的對話框來,如圖5所示,選擇Server Job,然后單擊OK按鈕;


圖5:新建Server Job

2. 這時候系統(tǒng)創(chuàng)建的Server Job如圖6所示, 這時候這個Server Job上還沒有放任何DataStage組件,注意我們現(xiàn)在還沒有保存這個Server Job,單擊左上角的保存按鈕或者直接用Ctrl+S對Server Job進(jìn)行保存;


圖6:創(chuàng)建的Server Job

3. 如圖7所示,在彈出的保存對話框中,輸入Server Job的名稱以及要保存的路徑,在我們的例子中,我們以RTIJob為Server Job的名稱,保存在文件夾RTISample中;


圖7:保存Server Job

4. 保存好后,我們把需要的DataStage的組件從左邊的組件面板拖入到右邊的設(shè)計器中,如圖8所示,我們需要一個RTI 輸入組件,一個RTI輸出組件,一個Transformer組件和一個DB2 UDB組件。選擇好組件后,按照圖8所示的邏輯進(jìn)行連接,并分別為每個組件賦上一個有意義的名字;


圖8:選擇需要的組件

5. 在各個組件都準(zhǔn)備好之后,我們需要對每個組件的屬性進(jìn)行設(shè)置。由于對屬性進(jìn)行設(shè)置的時候需要用到我們之前提到的Student表的表結(jié)構(gòu),我們首先需要從數(shù)據(jù)庫中導(dǎo)入Student表的表結(jié)構(gòu),我們接下來的幾個步驟就是進(jìn)行表結(jié)構(gòu)導(dǎo)入工作。在DataStage Designer中,如圖9所示,右鍵單擊Table Definition,然后選擇Import ‘ Plug-in Meta Data Definition;


圖9:導(dǎo)入表結(jié)構(gòu)

6.如圖10所示,在彈出的對話框中,選擇DSDB2,然后單擊OK按鈕;


圖10:選擇數(shù)據(jù)庫類型

7.然后在Server Name下拉列表中選擇SAMPLE,我們創(chuàng)建的Student表正是存放在這個數(shù)據(jù)庫中的,然后輸入用戶名和密碼,并注意一定要選上Tables選擇框,然后單擊Next按鈕,如圖11所示;


圖11:選擇數(shù)據(jù)庫連接信息

8.如圖12所示,選擇表Student,然后輸入表結(jié)構(gòu)要保存的路徑,系統(tǒng)提供了一個默認(rèn)的保存路徑,我們可以修改成為我們想要保存的地方。然后單擊Import按鈕來導(dǎo)入表Student的表結(jié)構(gòu);


圖12:選擇要導(dǎo)入的表結(jié)構(gòu)

9.接著我們來編輯DB2 UDB組件的屬性,雙擊組件,如圖13所示的屬性設(shè)置框就會彈出來,在Stage標(biāo)簽的General子標(biāo)簽中,我們輸入Server Name為Sample,然后輸入連接數(shù)據(jù)庫用的用戶名和密碼,在事務(wù)隔離級別(Transaction Isolation)的下拉框中,我們使用系統(tǒng)的默認(rèn)值,游標(biāo)穩(wěn)定性隔離級別。然后單擊Output標(biāo)簽;


圖13:設(shè)置數(shù)據(jù)庫連接信息

10.如圖14所示,在Output標(biāo)簽的General子標(biāo)簽中,在Table Name輸入框中輸入表名Student,然后在Query Type下拉框中選擇Generated SQL Query. 最后單擊子標(biāo)簽Column進(jìn)行進(jìn)一步的屬性設(shè)置;


圖14:選擇要連接的表

11.如圖15所示,在Column子標(biāo)簽中單擊按鈕Load..,系統(tǒng)會彈出一個對話框讓選擇需要引入的表結(jié)構(gòu),我們選擇剛才從數(shù)據(jù)庫中導(dǎo)入的表Student的表結(jié)構(gòu),然后單擊OK按鈕;


圖15:引入表結(jié)構(gòu)

12.如圖16所示,在彈出的對話框中可以選擇需要導(dǎo)入表Student的那些列,系統(tǒng)默認(rèn)是全部導(dǎo)入,保持默認(rèn),單擊OK按鈕;


圖16:選擇要導(dǎo)入的列

13.如圖17所示,導(dǎo)入表結(jié)構(gòu)后,Column標(biāo)簽里面會顯示出我們從數(shù)據(jù)庫中導(dǎo)入的表Student的表結(jié)構(gòu),單擊View Data按鈕來測試一下連接;


圖17:導(dǎo)入后的表結(jié)構(gòu)

14. 單擊View Data按鈕后,如果所有的設(shè)置都正確的話,系統(tǒng)就會彈出如圖18所示的窗口,里面顯示了Student表的內(nèi)容,在我們的例子中,Student表里面有兩條記錄。至此,DUB UDB組件的屬性設(shè)置已經(jīng)完成。如果在這一步中不能成功顯示表中的數(shù)據(jù)的話,就需要回過頭來看看前面的設(shè)置是不是正確;


圖18:測試連接

15.接下來我們設(shè)置RTI Input Stage的屬性,雙擊RTI Input Stage組件,系統(tǒng)會彈出如圖19所示的窗口,在Stage標(biāo)簽的General子標(biāo)簽中,你可以為該組件加一些注釋以表明該組件的用途,也可以在這里設(shè)置組件的顯示現(xiàn)實名稱。然后我們單擊Outputs標(biāo)簽;


圖19:RTI輸入組件屬性設(shè)置

16.在Outputs標(biāo)簽的Columns子標(biāo)簽中,可以直接輸入和Student表的ID字段相同的字段定義,也可以通過Load按鈕來從Student表結(jié)構(gòu)中只選擇導(dǎo)入ID字段的定義。注意這里的ID字段正是需要從客戶端接受的參數(shù)。當(dāng)然客戶端可以傳過來一個ID的值或者以數(shù)組的形式傳過來多個ID的值,具體的設(shè)置是在部署Web Service的過程中進(jìn)行的。設(shè)置完成后,單擊OK按鈕,如圖20所示;


圖20:引入字段定義

17.然后我們對RTI Output Stage組件屬性進(jìn)行設(shè)置,雙擊RTI Output Stage組件,如圖21所示的窗口會顯示出來,像對RTI Input Stage組件進(jìn)行屬性設(shè)置一樣,這里同樣可以加入一些描述信息,更改RTI Output Stage組件的顯示名稱等,我們保持默認(rèn),然后單擊Inputs標(biāo)簽;



18.在Inputs標(biāo)簽的Columns子標(biāo)簽中,直接輸入如圖22所示的內(nèi)容,當(dāng)然,你也可以從Student表中只導(dǎo)入Name字段的定義,注意我們這里的Name字段正是需要返回給客戶端的數(shù)據(jù),當(dāng)然是返回一個還是多個值是通過在部署Web Service的過程中來設(shè)置的。最后單擊OK按鈕來完成設(shè)置;



19.然后我們來設(shè)置Transformer Stage組件的信息,具體設(shè)置的內(nèi)容如圖23所示。在該圖中,左上角的Parameter框代表的是RTI Input Stage組件,它只含有一個字段ID,左下角的Data框代表的是DB2 UDB組件,連接的是Student表,它有兩個字段ID和Name。由下角的Name框代表的是RTI Output Stage組件的信息,它只有一個字段Name,這也正是需要返回給客戶端的信息;


圖23:配置Transformer Stage組件

20.配置完每個組件的屬性后,我們需要對整個Job的屬性進(jìn)行配置,以使得DataStage系統(tǒng)知道這是一個RTI Job。單擊DataStage Designer工具欄中的Job Properties圖標(biāo),如圖24所示的對話框就會彈出來,然后選上Allow Mutiple Instance和RTI Service Enabled選擇框。這樣就能利用DataStage提供的RTI控制臺將該RTI Job發(fā)布成Web Service。最后單擊OK按鈕并保存更改;


圖24:配置RTI Job

21.這時候我們已經(jīng)配置好了所有需要配置的信息,接下來我們來編譯開發(fā)好的RTI Job,單擊DataStage Designer工具欄中的編譯圖標(biāo),編譯成功后的畫面如圖25所示。與一般的DataStage Job不同的是,如果你開發(fā)的是一個既含有RTI輸入組件又含有RTI輸出組件的RTI Job,那么在編譯后就會自動運(yùn)行這個RTI Job的實例。我們可以通過DataStage Director來觀察;


圖25:編譯RTI Job

22.如圖26所示,打開DataStage Director,在RTI Sample目錄下面,你會看到一個RTI Job的實例正在運(yùn)行,這個實例維持著與數(shù)據(jù)庫的連接,如果你把數(shù)據(jù)庫連接斷掉,你會發(fā)現(xiàn)這個實例就會中斷掉,然后系統(tǒng)會接著嘗試啟動一個新的實例,直到數(shù)據(jù)庫連接恢復(fù)正常;


圖26:查看RTI Job的狀態(tài)

現(xiàn)在我們已經(jīng)成功開發(fā)并編譯了RTI Job,我們接下來的工作就是將這個RTI Job發(fā)布成Web Service。





回頁首


將RTI Job發(fā)布成Web Service

這一部分我們將詳細(xì)講述如何將一個已經(jīng)編譯好的RTI Job發(fā)布成Web Service,在這一部分進(jìn)行之前,你需要檢查一下你的軟件的安裝,確保以下軟件已經(jīng)成功安裝好:

1. RTI Console 它是將RTI Job部署成Web Service的可視化接口,并且提供了部署的向?qū)Х奖阄覀冞M(jìn)行部署

2. RTI Agent 要確保它已經(jīng)同DataStage Server安裝在了同一臺機(jī)器上,RTI Agent的安裝一般是和DataStage Server的安裝一起安裝的,RTI Agent負(fù)責(zé)RTI Server和DataStage Server的通信。

3. RTI Server 部署的Web Service是運(yùn)行在RTI Server上的,當(dāng)然RTI Server也是運(yùn)行在一個Web應(yīng)用程序服務(wù)器上的,比如IBM Web Application Server。

準(zhǔn)備好需要的軟件后,我們進(jìn)入利用RTI控制臺發(fā)布Web Service的部分。

1.首先打開RTI控制臺,如圖27所示,DataStage提供了一個圖形化的界面方便我們把RTI Job發(fā)布成RTI Service。然后我們在左側(cè)面板的Current Tasks模塊中單擊鏈接Register an RTI Server來新注冊一個RTI Server;


圖27:RTI 控制臺

2.在彈出的對話框中,輸入RTI服務(wù)器的名字或者IP地址,然后在Web Service End-point中輸入如圖28所示的值,這里要注意,因為我是把RTI Server部署在IBM Websphere 應(yīng)用程序服務(wù)器上的,而運(yùn)行在其上的應(yīng)用程序都是運(yùn)行在9080端口下面,所以我設(shè)置的端口號是9080,如果你是將RTI Server運(yùn)行在其他的應(yīng)用程序服務(wù)器上,你就需要將這個端口號改成該應(yīng)用程序服務(wù)器所對應(yīng)的端口號,最后單擊Finish按鈕;


圖28:注冊RTI Server

3. 如圖29所示,我們會看到右邊的面板中出現(xiàn)了我們剛才注冊好的RTI Server,雙擊這個圖標(biāo)。


圖29:成功注冊RTI Server

4. 如圖30所示,在雙擊剛才注冊的RTI Server之后,左邊的菜單選項也發(fā)生了相應(yīng)的改變,我們在Current Tasks模塊中單擊鏈接Register a DataStage Machine來注冊一個DataStage服務(wù)器。


圖30:注冊DataStage服務(wù)器

4. 彈出的對話框如圖31所示,我們可以在Machine Name輸入框中輸入DataStage服務(wù)器所在的計算機(jī)名或者IP地址。如果需要的話,我們還要輸入登陸的用戶名和密碼,其他選項保持默認(rèn),然后單擊Finish按鈕。


圖31:填寫注冊信息

5. 如圖32所示,注冊好的DataStage服務(wù)器會顯示在右邊面板的上半部分中,注冊成功后,我們單擊左側(cè)菜單Current Tasks模塊中的鏈接Add a new Service to the RTI Server去注冊一個新的RTI Service;


圖32:注冊新的RTI Service

6.如圖33所示,在彈出的對話框中,在Service Name文本框中輸入sample,其他的內(nèi)容保持默認(rèn),然后單擊Finish按鈕;


圖33:填寫配置信息

6. 如圖34所示,注冊好的RTI Service顯示在右邊面板的下半部分,注意我們現(xiàn)在注冊的這個RTI Service只是一個空的殼子,我們還需要為它選擇使用的協(xié)議以及附加的RTI Job,這些都會在下面的步驟中進(jìn)行配置。最后我們雙擊這個RTI Service的圖標(biāo);


圖34:注冊好的RTI Service

8.如圖35所示,單擊左側(cè)面板Current Tasks模塊中的鏈接Add support for Service Bindings;


圖35:添加Service Binding

9.如圖36所示,選擇Service Binding的類型為SOAP over HTTP,因為我們是將RTI Job發(fā)布成Web Service,所以我們必須選擇這個選項,其他選項是用來把RTI Job發(fā)布成JMS或者EJB,然后單擊Next按鈕;



10.如圖37所示,你可以輸入一些描述信息,然后單擊Finish按鈕;


圖37:添加描述信息

11.如圖38所示,我們添加的Service Binding顯示在了右側(cè)面板的上半部分中,單擊該Service Binding的圖標(biāo),然后從左邊面板的Current Tasks模塊中單擊鏈接Add an operation來為該RTI Service添加RTI Job;


圖38:注冊好的Service Binding

12.如圖39所示,在彈出的對話框中選中我們之前開發(fā)并編譯好的RTI Job RTIJob,然后單擊按鈕Next;


圖39:選擇RTI Job

13. 如下圖所示,我們需要在Operation Name文本框中輸入該RTI Job所對應(yīng)到Web Service中的名字,直接輸入RTIJob,保持其他選項為默認(rèn),然后單擊按鈕Next;


圖40:配置相關(guān)信息

14.在如圖41所示的頁面中,我們可以配置該Web Service所接受的參數(shù)的信息,注意系統(tǒng)已經(jīng)默認(rèn)為我們生成了配置,那就是只接受一個名稱為ID參數(shù),類型為String,我們可以通過Options下來列表來改表輸入?yún)?shù)的設(shè)置,比如如果我們需要傳入的參數(shù)是結(jié)構(gòu)化的,那么我們需要選擇選項Group,如果我們需要傳入多個相同類型的數(shù)據(jù),那么我們的參數(shù)就需要設(shè)置成Array,在我們的例子中,如果我們設(shè)置成了Array,那么就代表我們的Web Service會接受一個字符串?dāng)?shù)組,里面可能存放了多個人的ID信息。由于我們這個例子只是傳入一個ID,然后返回該ID所對應(yīng)的Name,所以我們不需要進(jìn)行設(shè)置,保持系統(tǒng)默認(rèn),然后單擊按鈕Next。


圖41:配置輸入?yún)?shù)

15.接著我們需要配置該Web Service向客戶端的返回值,由于我們只需要返回一個字符串類型的數(shù)據(jù),我們保持系統(tǒng)的默認(rèn)設(shè)置,然后單擊按鈕Next;


圖42:配置返回值類型

16.在這里可以設(shè)置一些和WSDL文件相關(guān)的名字空間的信息,我們使用系統(tǒng)提供的默認(rèn)值,然后單擊Next按鈕;


圖43:名字空間的設(shè)置

17.如圖44所示,確認(rèn)選擇框Launch the Add Job/Map Wizard with the job or map you selected是選上的,然后單擊按鈕Finish;


圖44:完成配置

18.在圖45中可以配置一些運(yùn)行時的參數(shù),比如RTI Job的實例的最小數(shù)目是多少,最大樹木是多少等,可以根據(jù)自己的應(yīng)用程序的需要來配置,比如如果同時會有多個客戶端來訪問該Web Service,那么就需要將最小實例數(shù)目設(shè)置大一些。 設(shè)置好后,單擊按鈕Next;


圖45:配置運(yùn)行參數(shù)

19.在下圖中輸入驗證信息,然后單擊按鈕Finish;


圖46:輸入驗證信息

20.如下圖所示,系統(tǒng)彈出一個對話框提示用戶已經(jīng)成功的將RTI Job添加到了RTI Service當(dāng)中;


圖47:添加成功

21.如圖48所示,我們需要重新激活我們之前配置的Service Binding,并且我們注意到我們添加的RTIJob也顯示在了右邊面板的下半部分;


圖48:激活Service Binding

22.單擊左側(cè)面板的View RTI Service Repository鏈接,就進(jìn)入到了如圖49所示的頁面,然后單擊我們剛才注冊成功的Web Service sample;


圖49:部署的RTI Service

23.下圖顯示了我們剛部署成功的Web Service的相關(guān)信息,我們單擊對應(yīng)的WSDL文件的鏈接去查看WSDL文件;


圖50:Web Service 相關(guān)信息

24.圖51顯示了我們部署好的Web Service對應(yīng)的WSDL文件的內(nèi)容,而各種客戶端正是通過這個WSDL文件對后臺的應(yīng)用邏輯進(jìn)行調(diào)用的。我們在文章的最后一個章節(jié)會介紹如何調(diào)用該Web Service;


圖51:WSDL文件

利用Java客戶端調(diào)用發(fā)布好的Web Service 文章接下來講述如何去調(diào)用我們之前發(fā)布好的Web Service,我們使用一個用Java語言編寫的客戶端來進(jìn)行調(diào)用。在開始之前,讀者應(yīng)該準(zhǔn)備好如下的環(huán)境:

1.Eclipse集成開發(fā)環(huán)境

因為我們開發(fā)的Java項目是在Eclipse下面進(jìn)行的,所以安裝一個Eclipse的環(huán)境能使讀者更容易的跟上文章的每一步。可以從Eclipse的官方網(wǎng)站上下載最新版本的Eclipse。

2.JDK1.4或者1.5

這是Java開發(fā)的必備環(huán)境。

3. Axis

文章中會使用Axis提供的工具生成調(diào)用Web Service的本地Stub,方便對Web Service進(jìn)行調(diào)用。Axis可以從它的官方網(wǎng)站下載到,文章后面的資源列表包含了該鏈接。

下面我們開始Java客戶端的開發(fā)

1. 首先使用創(chuàng)建一個Java工程,命名為TestRTIJob,然后右鍵單擊這個工程并選擇屬性,會彈出如圖52所示的窗口,單擊Library標(biāo)簽,然后把下載的Axis的JAR文件加入進(jìn)來。


圖52:添加外部JAR文件

2. 然后從Eclipse中選擇Run ‘ Run..,會彈出如下圖所示的對話框,選擇程序運(yùn)行的類別為Java Application,然后單擊按鈕Search;


圖53:新建一個運(yùn)行實例

3.如下圖所示,從彈出的對話框中選擇類WSDL2Java,這個類是Axis提供的用來從WSDL生成本地Stub類的工具。然后單擊OK按鈕;


圖54:選擇運(yùn)行主類

3. 然后在Argument標(biāo)簽中輸入我們剛才部署好的Web Service的WSDL文件的地址,如圖55所示,然后單擊按鈕Run;


圖55:運(yùn)行WSDL2Java

4. 如圖56所示,運(yùn)行結(jié)束后,我們會看到我們創(chuàng)建的工程里面生成了一些類,這些類就是輔助我們調(diào)用Web Service的Stub類;


圖56:生成的Stub類

5.我們接下來新建一個叫做TestRTIJob類來通過生成的Stub類來進(jìn)行調(diào)用Web Service,這個類的源代碼如下所示:


清單1:調(diào)用Web Service
package com.ascential.rti.sample;            import java.rmi.RemoteException;            import javax.xml.rpc.ServiceException;            public class TestRTIJob {            public static void main(String[] args){            SampleLocator locator = new SampleLocator();            SampleDOCLIT service = null;            try {            service = locator.getsampleSoap();            String name = service.RTIJob("001");            System.out.println("The name is: " + name);            } catch (ServiceException e) {            e.printStackTrace();            } catch (RemoteException e) {            e.printStackTrace();            }            }            }            

運(yùn)行這個類,控制臺會打印出一串字符串:The name is Jason,這說明我們成功的調(diào)用了Web Service,我們的RTI Job也成功的完成了我們所設(shè)計的業(yè)務(wù)邏輯。關(guān)于這個Java工程的詳細(xì)信息,讀者可以在文章的下載部分下在提供的整個工程的源代碼。

至此,我們已經(jīng)完成了從開發(fā)RTI Job到部署RTI Job再到用Java Client調(diào)用部署的Web Service的整個過程。





回頁首


總結(jié)

本文首先介紹了什么是RTI Job以及RTI Job的特點,然后通過開發(fā)、部署RTI Job使讀者對RTI Job有了更進(jìn)一步的了解,最后通過開發(fā)一個Java客戶端對Web Service進(jìn)行調(diào)用來結(jié)束了整個文章的講述。在面向服務(wù)的架構(gòu)日益成熟的今天,通過把ETL Job發(fā)布成Web Service供企業(yè)的其他應(yīng)用程序進(jìn)行調(diào)用無疑會是一個非常有價值的工作,從而使企業(yè)數(shù)據(jù)整合與企業(yè)的面向服務(wù)的架構(gòu)實現(xiàn)了無縫的融合。希望本片文章對使用DataStage進(jìn)行數(shù)據(jù)整合的讀者有所幫助。



參考資料

  1. 了解關(guān)于DataStage產(chǎn)品的更多信息:http://ibm.ascential.com/
  2. Eclipse官方網(wǎng)站:http://www.eclipse.org/
  3. 下載最新版本的JDK:http://java.sun.com/javase/downloads/index.jsp
  4. Axis官方網(wǎng)站:http://ws.apache.org/axis/


關(guān)于作者

 

周登朋,上海交通大學(xué)研究生,目前在IBM上海國際化實驗室(SGL)實習(xí),對Java技術(shù)以及信息檢索技術(shù)非常感興趣,你可以通過 zhoudengpeng@yahoo.com.cn來聯(lián)系他.

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
kettle
SQL2005的SSIS與Oracle的遷移性能
C語言下載
sql server 2005安裝圖解2
微軟ETL工具SSIS的一些資源(部分系轉(zhuǎn))
Powercenter體系結(jié)構(gòu)和主要組件介紹
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服