所屬欄目:計算機網(wǎng)絡(luò)論文 發(fā)布日期:2011-04-16 20:45 熱度:
摘要:本文結(jié)合筆者的實際工作,從理論和應(yīng)用兩方面闡述WebService技術(shù)在IT系統(tǒng)接口中的應(yīng)用。筆者于2006年開始參與某通信公司物資管理系統(tǒng)的開發(fā)和實施,該系統(tǒng)使用的是全球排名第一的德國著名ERP軟件SAP,筆者主要負責(zé)系統(tǒng)間通信接口的設(shè)計、開發(fā)和維護工作,該系統(tǒng)與財務(wù)系統(tǒng)、項目管理、調(diào)度、客戶關(guān)系管理等系統(tǒng)都有接口,全部使用WebService技術(shù)實現(xiàn)。
關(guān)鍵詞:Web,Service,ERP,SAP
1.引言
某通信公司于2006年起開始開發(fā)和實施物資管理系統(tǒng),使用的是全球排名第一的德國著名ERP軟件SAP,筆者有幸參與開發(fā)和實施工作,負責(zé)接口設(shè)計、開發(fā)工作。該物資系統(tǒng)與財務(wù)系統(tǒng)、項目管理、調(diào)度、客戶關(guān)系管理等系統(tǒng)都有接口,全部使用WebService技術(shù)實現(xiàn)。本文就筆者工作的具體內(nèi)容,從理論和應(yīng)用兩方面闡述一下WebService技術(shù)在IT系統(tǒng)接口中的應(yīng)用。
2.理論
2.1WebService技術(shù)
2.1.1WebService
WebService是為實現(xiàn)“基于web無縫集成”的目標而提出的全新概念,希望通過WebService能夠?qū)崿F(xiàn)不同的系統(tǒng)之間能夠用“軟件-軟件對話”的方式相互調(diào)用,打破軟件應(yīng)用、網(wǎng)站和各種設(shè)備之間格格不入的狀態(tài)。
WebService是一個應(yīng)用程序,它向外界暴露一個能夠通過Web進行調(diào)用的API,這就是說,能夠用編程的方法通過web調(diào)用來實現(xiàn)某個功能的應(yīng)用程序。
WebService是一種新的Web應(yīng)用程序分支,它們是自包含、自描述,模塊化的應(yīng)用,可以在網(wǎng)絡(luò)中被描述、發(fā)布、查找以及通過Web調(diào)用。
WebService平臺需要一套協(xié)議來實現(xiàn)分布式應(yīng)用程序的創(chuàng)建。任何平臺都有它的數(shù)據(jù)表示方法和類型系統(tǒng)。要實現(xiàn)互操作性,WebService平臺必須提供一套標準的類型系統(tǒng),用于溝通不同的平臺、編程語言和組建模型中的不同類型系統(tǒng)。
2.1.2XML和XSD
可擴展性標記語言XML是WebService平臺中表示數(shù)據(jù)的基本格式。除了易于建立和易于分析外,XML主要的優(yōu)點在于它基于平臺無關(guān),由于廠商無關(guān)。XML是由萬維網(wǎng)協(xié)會(W3C)創(chuàng)建,W3C制定的XMLSchemaXSD定義了一套標準的數(shù)據(jù)類型,并給出了一種語言來拓展這套數(shù)據(jù)類型。
WebService平臺是用XSD來作為數(shù)據(jù)類型系統(tǒng)的。當用某種語言如VB.NET或C#來構(gòu)造一個WebService是,為了符合WebService標準,所有使用的數(shù)據(jù)類型都必須被轉(zhuǎn)換為XSD類型。如想讓他使用在不同的平臺和不同的軟件的不同組織間傳遞,還需要用某種東西將它包裝起來。這種東西就是一種協(xié)議,如SOAP。
2.1.3SOAP
SOAP即簡單對象訪問協(xié)議(SimpleObjectAccessProtocol),它是用于交換XML編碼信息的輕量級協(xié)議。SOAP可以運行在任何其他傳輸協(xié)議上。例如,可以使用SMTP,即因特網(wǎng)電子郵件協(xié)議來傳遞SOAP消息。
SOAP包含3個主要方面的內(nèi)容:
XML-envelope為描述信息內(nèi)容和如何處理內(nèi)容定義了框架
將程序?qū)ο缶幋a為XML對象的規(guī)則
執(zhí)行遠程過程調(diào)用(RPC)的約定
2.1.4WSDL
WebService描述語言(WSDL)是用計算機能閱讀的方式提供的一個正式描述文檔而基于XML的語言,用于描述WebService及其函數(shù)、參數(shù)和返回值。因為是基于XML的,所以WSDL既是機器可閱讀的,又是人可閱讀的。
2.1.5UDDI
UDDI即統(tǒng)一描述、發(fā)現(xiàn)和集成(UniversalDescription,Discovery,andIntegration),其目的是為電子商務(wù)建立標準,UDDI是一套基于Web的、分布式、為WebService提供的、信息注冊中心的實現(xiàn)標準規(guī)范,同時也包含一組是企業(yè)能將自身提供的WebService注冊,可以使別的奇特能夠發(fā)現(xiàn)訪問間協(xié)議的實現(xiàn)標準。
2.1.6遠程過程調(diào)用RPC與消息傳遞
WebService本身其實是在實現(xiàn)應(yīng)用程序的通信�,F(xiàn)在有兩種應(yīng)用程序通信的方法:RPC遠程過程調(diào)用和信息傳遞。使用RPC的時候,客戶端的概念是調(diào)用服務(wù)器上的遠程過程,通常的方式為實例化一個遠程對象并調(diào)用其方法和屬性。RPC系統(tǒng)試圖達到一種位置上的透明性:服務(wù)器暴露出遠程對象的端口,而客戶端就好像在本地使用這些對象的接口一樣,這樣就隱藏的底層的信息,客戶端也就根本不需要知道對象是在哪臺機器上。
2.2SAP系統(tǒng)
2.2.1系統(tǒng)簡介
SAP是一家通過業(yè)務(wù)工程成功地集成信息技術(shù)的公司,SAP(System,Applications,andProductsinDataProcessing,數(shù)據(jù)處理的系統(tǒng)、應(yīng)用和產(chǎn)品)。SAP公司是ERP思想的倡導(dǎo)者,成立于1972年,總部設(shè)在德國南部的Walldorf。SAP的主打產(chǎn)品R/3是用于分布式客戶機/服務(wù)器環(huán)境的標準ERP軟件,主要功能模塊包括:銷售和分銷、物料管理、生產(chǎn)計劃、質(zhì)量管理、工廠維修、人力資源、工業(yè)方案、辦公室和通信、項目系統(tǒng)、資產(chǎn)管理、控制、財務(wù)會計。R/3支持的生產(chǎn)經(jīng)營類型是:按定單生產(chǎn)、批量生產(chǎn)、合同生產(chǎn)、離散型、復(fù)雜設(shè)計生產(chǎn)、按庫存生產(chǎn)、流程型,其用戶主要分布在航空航天、汽車、化工、消費品、電器設(shè)備、電子,食品飲料等行業(yè)。
SAPR/3的功能涵蓋了企業(yè)管理業(yè)務(wù)的各個方面,這些功能模塊服務(wù)于各個不同的企業(yè)管理領(lǐng)域。在每個管理領(lǐng)域,R/3又提供進一步細分的單一功能子模塊,例如財務(wù)會計模塊包括總賬、應(yīng)收賬、應(yīng)付賬、財務(wù)控制、金融投資、報表合并、基金管理等子模塊。SAP所提供的是一個有效的標準而又全面的ERP軟件,同時軟件模塊化結(jié)構(gòu)保證了數(shù)據(jù)單獨處理的特殊方案需求。
2.2.2SAPR/3系統(tǒng)
SAPR/3是一個基于客戶/服務(wù)機結(jié)構(gòu)和開放系統(tǒng)的、集成的企業(yè)資源計劃系統(tǒng)。其功能覆蓋企業(yè)的財務(wù)、后勤(工程設(shè)計、采購、庫存、生產(chǎn)銷售和質(zhì)量等)和人力資源管理、SAP業(yè)務(wù)工作流系統(tǒng)以及因特網(wǎng)應(yīng)用鏈接功能等各個方面�! �
R/3采用模塊化結(jié)構(gòu),它們既可以單獨使用,也可以和其它解決方案相結(jié)合。從流程導(dǎo)向的角度而言,各應(yīng)用間的整合程度越高,它們帶來的好處就越多。
2.2.3SAP開發(fā)語言ABAP4
SAP最初開發(fā)ABAP/4(高級商業(yè)應(yīng)用程序設(shè)計)語言僅為內(nèi)部使用,為應(yīng)用程序員提供優(yōu)化的工作環(huán)境。經(jīng)過不斷的改進和修改以滿足商業(yè)領(lǐng)域的需要。現(xiàn)在,ABAP/4已成為SAP開發(fā)所有自己的應(yīng)用程序的僅有工具。
SAP客戶用ABAP/4進行其自身開發(fā)。這樣的開發(fā)對R/3標準解決方案適應(yīng)特殊問題非常重要。ABAP/4開發(fā)工作平臺包含所有用于創(chuàng)建和維護ABAP/4程序的工具。
ABAP/4的可解釋特性使其易于生成、測試并運行程序的中級版本,以便將來生成最終版本。此過程也叫做早期原形處理,意味著您不必丟棄中級版本。
ABAP/4是第四代支持結(jié)構(gòu)化程序設(shè)計的語言。它合并了所有通常的控制結(jié)構(gòu)和模塊化概念。
2.2.4SAP接口開發(fā)技術(shù)
SAPR/3的接口方式主要有RFC、IDOC、BAPI三種,本文要介紹的是相對比較簡單的RFC(RemoteFunctionCall,遠程函數(shù)調(diào)用)。SAP系統(tǒng)RFC調(diào)用的原理其實很簡單,有一些類似于三層構(gòu)架的C/S系統(tǒng),第三方的客戶程序通過接口調(diào)用SAP內(nèi)部的標準或自定義函數(shù),獲得函數(shù)返回的數(shù)據(jù)進行處理后顯示或打印。
SAP的RFC調(diào)用是其接口技術(shù)中最簡單和易用的一種方式,該方式開發(fā)比較簡便,特別適合于外部報表開發(fā),但對于大數(shù)據(jù)量的查詢效率相對較低。
3.應(yīng)用
3.1系統(tǒng)功能
3.1.1功能描述
本文以供應(yīng)商模塊為例,該模塊完成將供應(yīng)商主數(shù)據(jù)的創(chuàng)建、修改、刪除功能,由其他系統(tǒng)發(fā)起,通過WebService傳送給SAP系統(tǒng),并在SAP系統(tǒng)中自動創(chuàng)建、修改、刪除供應(yīng)商主數(shù)據(jù),其中主要字段包括:供應(yīng)商標識、供應(yīng)商狀態(tài)、供應(yīng)商稅號、供應(yīng)商名稱、開戶銀行、公司帳號、帳戶名稱、是否跟供應(yīng)商關(guān)聯(lián)等。
雙方采用SOAP的方式進行對接,如下圖所示:
其中,提供SOAP服務(wù)的系統(tǒng)被稱作“被調(diào)用系統(tǒng)”,而通過SOAP方式去調(diào)用別系統(tǒng)SOAP服務(wù)的系統(tǒng)被稱作“發(fā)起調(diào)用系統(tǒng)”。這樣的界定只在于同一個接口上,同一個業(yè)務(wù)系統(tǒng)可能會在某些接口中充當“被調(diào)用系統(tǒng)”,而在另外一些接口中充當“發(fā)起調(diào)用系統(tǒng)”。
接口分為兩種:
一種是信息發(fā)送接口,由“發(fā)起調(diào)用系統(tǒng)”將業(yè)務(wù)信息發(fā)送給“被調(diào)用系統(tǒng)”,由“被調(diào)用系統(tǒng)”進行業(yè)務(wù)處理。對于信息發(fā)送接口,一般是采用按需發(fā)送方式,所以可以采用實時或者定時兩種方式,一般建議將業(yè)務(wù)處理過程和接口發(fā)送過程分開,以免接口發(fā)送影響正常業(yè)務(wù)的性能和響應(yīng)時間,甚至導(dǎo)致正常業(yè)務(wù)出錯。對于這種接口,一般要求“發(fā)起調(diào)用系統(tǒng)”在發(fā)送失敗的時候能夠進行重發(fā),保證不漏不重;而“被調(diào)用系統(tǒng)”需要對信息的有效性、完整性進行校驗。
另外一種是信息查詢接口,由“發(fā)起調(diào)用系統(tǒng)”提供查詢條件給“被調(diào)用系統(tǒng)”,“被調(diào)用系統(tǒng)”根據(jù)查詢條件查詢業(yè)務(wù)信息后返回給“發(fā)起調(diào)用系統(tǒng)”。
對于一次接口過程中,應(yīng)該保證事務(wù)的完整性,即如果出錯的話,應(yīng)該將業(yè)務(wù)相關(guān)處理完全回滾;另外一點,接口的結(jié)果必須是全部成功或者失敗,不能部分進行業(yè)務(wù)處理。
3.1.2Webservice流程圖
3.2WebService配置
3.2.1配置
在SAP系統(tǒng)中,使用事務(wù)代碼SE80進入開發(fā)環(huán)境,在“EnterpriseService”中創(chuàng)建一個新的“ClientProgram”,選擇“URL/HTTPDestination”,在“Package”、“前綴”框內(nèi)填寫相應(yīng)內(nèi)容,激活。
3.2.2測試
在SAP系統(tǒng)中,使用事務(wù)代碼SE80進入開發(fā)環(huán)境,在“EnterpriseService”中選重剛才創(chuàng)建的ClientProxyObject,運行后,如果顯示:ServiceProcessedWithoutError,則成功,否則不成功。
4.總結(jié)與討論
隨著Web應(yīng)用的不斷發(fā)展,人們發(fā)現(xiàn)Web應(yīng)用和傳統(tǒng)桌面(如企業(yè)ERP系統(tǒng))應(yīng)用之間存在著連接的鴻溝,人們不得不重復(fù)地將數(shù)據(jù)在Web應(yīng)用和傳統(tǒng)桌面應(yīng)用之間遷移,這成為了阻礙Web應(yīng)用進入主流工作流的一個巨大障礙。
從1998年開發(fā)發(fā)展的XML技術(shù)及其相關(guān)技術(shù)已證明有可能解決這個問題。而近期開始蓬勃發(fā)展的WebService技術(shù)則正是基于XML的針對這一問題的最佳解決方案。XMLWebService是當今IT業(yè)界的焦點所在。WebService的主要目標就是在現(xiàn)有的各種異構(gòu)平臺的基礎(chǔ)上構(gòu)建一個通用的與平臺無關(guān)、語言無關(guān)的技術(shù)層,各種不同平臺之上的應(yīng)用依靠這個技術(shù)層來實施彼此的連接和集成。如果需要用一句話來概括WebService與傳統(tǒng)Web應(yīng)用技術(shù)的差異的話,那就是:傳統(tǒng)Web應(yīng)用技術(shù)解決的問題是如何讓人來使用Web應(yīng)用所提供的服務(wù),而WebService則要解決如何讓計算機系統(tǒng)來使用Web應(yīng)用所提供的服務(wù)。
就現(xiàn)狀而言,一個企業(yè)僅僅是用一套集成的系統(tǒng)實現(xiàn)所有管理需求是不可能的,因此接口是必不可少的。使用WebService技術(shù),某通信公司實現(xiàn)了SAP物資系統(tǒng)與財務(wù)、項目管理、調(diào)度、客戶關(guān)系管理等系統(tǒng)的接口,尤其是與項目系統(tǒng)的接口多大六個,分別是供應(yīng)商主數(shù)據(jù)、物料主數(shù)據(jù)、項目主數(shù)據(jù)、送貨單、合同接口,以及一個項目執(zhí)行情況查詢接口。在開發(fā)和實施過程中,筆者切身體會到WebService作為一種統(tǒng)一標準,對接口開發(fā)帶來的便利。
WebService技術(shù),在IT系統(tǒng)的接口開發(fā)中,必將發(fā)揮更大的作用!
參考文獻
柴曉路、梁宇路,WebService技術(shù)、架構(gòu)和應(yīng)用,電子工業(yè)出版社,2003年1月
王曉軍、毛京麗,計算機通信網(wǎng),北京郵電大學(xué),2007年6月
文章標題:Web Service技術(shù)在IT系統(tǒng)接口中的應(yīng)用
轉(zhuǎn)載請注明來自:http://www.anghan.cn/fblw/dianxin/wangluo/8327.html
攝影藝術(shù)領(lǐng)域AHCI期刊推薦《Phot...關(guān)注:106
Nature旗下多學(xué)科子刊Nature Com...關(guān)注:152
中小學(xué)教師值得了解,這些教育學(xué)...關(guān)注:47
2025年寫管理學(xué)論文可以用的19個...關(guān)注:192
測繪領(lǐng)域科技核心期刊選擇 輕松拿...關(guān)注:64
及時開論文檢索證明很重要關(guān)注:52
中國水產(chǎn)科學(xué)期刊是核心期刊嗎關(guān)注:54
國際出書需要了解的問題解答關(guān)注:58
合著出書能否評職稱?關(guān)注:48
電信學(xué)有哪些可投稿的SCI期刊,值...關(guān)注:66
通信工程行業(yè)論文選題關(guān)注:73
SCIE、ESCI、SSCI和AHCI期刊目錄...關(guān)注:121
評職稱發(fā)論文好還是出書好關(guān)注:68
復(fù)印報刊資料重要轉(zhuǎn)載來源期刊(...關(guān)注:51
英文期刊審稿常見的論文狀態(tài)及其...關(guān)注:69
Web of Science 核心合集期刊評估...關(guān)注:59
電子信息論文范文
智能科學(xué)技術(shù)論文 廣播電視論文 光電技術(shù)論文 計算機信息管理論文 計算機網(wǎng)絡(luò)論文 計算機應(yīng)用論文 通信論文 信息安全論文 微電子應(yīng)用論文 電子技術(shù)論文 生物醫(yī)學(xué)工程論文 軟件開發(fā)論文
SCI期刊分析
copyright © www.anghan.cn, All Rights Reserved
搜論文知識網(wǎng) 冀ICP備15021333號-3