一、企業(yè)辦公自動化系統(tǒng)建設存在的問題
(一)存在的問題
隨著信息技術的發(fā)展,企業(yè)信息化建設已經(jīng)有原有的企業(yè)業(yè)務信息化逐漸轉(zhuǎn)換成企業(yè)信息流的自動化管理,即利用信息化技術將財務管理系統(tǒng)、人事管理系統(tǒng)、倉庫管理系統(tǒng)、客戶關系管理系統(tǒng)等企業(yè)中相互孤立的信息化系統(tǒng)進行集成,從而簡化企業(yè)的組織結構,讓企業(yè)各部門在信息共享的基礎上進行協(xié)作,不僅使得各部門的責任更加明確,而且可以讓決策層迅速綜合企業(yè)各部門的信息,為管理層決策的制定提供信息化依據(jù)。
辦公自動化系統(tǒng)的建設就是在企業(yè)已有信息系統(tǒng)的基礎上,建立一條完整信息鏈的過程。由于企業(yè)信息化建設是一個逐步完善的過程。在這個完善的過程中,隨著計算機技術的發(fā)展,各種系統(tǒng)開發(fā)平臺層出不窮,使得企業(yè)先后建立的信息系統(tǒng)可能相互異構,從而導致這些異構系統(tǒng)之間的通信困難。如何解決由于企業(yè)內(nèi)部信息相互異構而造成的信息孤島問題,就成為了企業(yè)辦公自動化系統(tǒng)建設所需要面對的問題。
(二)可行的解決方案
從上面的分析可以看出,目前企業(yè)辦公自動化系統(tǒng)建設存在的最大問題在于:由于企業(yè)內(nèi)部系統(tǒng)互相異構,從而導致企業(yè)內(nèi)部信息管理系統(tǒng)之間無法進行有效的通信,從而無法再企業(yè)內(nèi)部形成一條高校的信息通信鏈。
針對目前企業(yè)辦公自動化系統(tǒng)建設所存在的問題,提出使用SOA技術來實現(xiàn)企業(yè)內(nèi)部異構系統(tǒng)之間的信息通信。
SOA技術具有如下的特點:(1)松耦合性,基于SOA架構的系統(tǒng)之間耦合僅僅是通過一個文檔形式的服務契約,服務提供者根據(jù)這個契約提供服務,而應用程序終端則根據(jù)這個契約來調(diào)去服務提供者提供的服務,并實現(xiàn)特定的業(yè)務功能。而不需要考慮服務提供者與應用程序終端所在的操作系統(tǒng)類型和實現(xiàn)語言的不同;(2)SOA的復用性,SOA并不是提供一種編寫構件的全新的規(guī)范,而是提供了一種能夠把已有構建按照某種特定標準再次封轉(zhuǎn)之后的文檔形式,從而實現(xiàn)了服務提供者與服務使用者的一個松耦合的關系。應用程序前端也不必要理會服務提供者提供的服務時采用何種語言編寫的以及基于何種平臺的。因此,使用SOA技術可以有效解決企業(yè)內(nèi)部信息系統(tǒng)異構,從而導致企業(yè)內(nèi)部存在信息孤島的問題。
二、基于SOA技術的異構系統(tǒng)數(shù)據(jù)集成
以基于.NET平臺的倉庫管理系統(tǒng)與基于Java平臺的財務管理系統(tǒng)之間信息的傳輸為例,對基于SOA架構的異構系統(tǒng)間信息傳輸進行研究。
(一)信息傳輸格式
異構系統(tǒng)之間數(shù)據(jù)傳輸最大的問題在于數(shù)據(jù)結構的不同。不僅基于Java平臺的系統(tǒng)無法直接使用由.NET平臺實現(xiàn)的功能;而且.NET平臺中的表格等類型的數(shù)據(jù)無法直接轉(zhuǎn)換Java平臺中的相應的數(shù)據(jù)格式。為此,不僅需要有一個中間轉(zhuǎn)換的機制來處理異構平臺之間功能的相互調(diào)用,還需要定義一種數(shù)據(jù)格式來對異構平臺之間的數(shù)據(jù)進行描述。
一般而言,異構平臺之間的字符串都是基于不同字符編碼格式來進行編碼的,即如果異構平臺之間的字符編碼格式相同,那么異構平臺之間對相同字符串的數(shù)據(jù)流是相同的。為此,在企業(yè)辦公自動化系統(tǒng)中,異構系統(tǒng)之間數(shù)據(jù)交互采用XML字符串的數(shù)據(jù)格式進行交互。例如一個產(chǎn)品的庫存信息其XML表示如下所示:
XML實質(zhì)上就是一個字符串,一般所有的平臺都支持對XML數(shù)據(jù)的處理,如果平臺不支持XML數(shù)據(jù)的處理,也因為XML格式是非常固定的,可以通過簡單的方法來解析XML字符串,得到XML字符串中的數(shù)據(jù)。因此,使用XML字符串數(shù)據(jù)格式來進行異構平臺之間的數(shù)據(jù)交互是可行的。
(二)服務實現(xiàn)
由于企業(yè)的其它系統(tǒng)(例如財務管理系統(tǒng))可能需要獲取企業(yè)庫存管理系統(tǒng)中的產(chǎn)品庫存信息,為此,在企業(yè)基于.NET平臺的庫存管理系統(tǒng)端必須要實現(xiàn)產(chǎn)品庫存信息查詢的功能。.NET平臺下Web服務的實現(xiàn),較為簡單,只需要在普通函數(shù)的前面加上[WebMethod]關鍵字即可,其具體的實現(xiàn)如下所示:
[WebMethod]
String GetProductByCode(String code)
{
String sql=”SELECT * FROM t_product WHERE code=\’”+code+”\’”;
DataTable dt=DataBaseOp.Select(sql);//數(shù)據(jù)庫查詢,并將結果保存在DataTable類型數(shù)據(jù)結構中。
String dtXML=dt.toXML();//將DataTable類型的數(shù)據(jù)轉(zhuǎn)換成XML字符串流
return dtXML;
}
(三)服務調(diào)用
在企業(yè)系統(tǒng)實現(xiàn)并發(fā)布了Web服務之后,企業(yè)財務管理系統(tǒng)就可以通過調(diào)用這個Web服務來進行產(chǎn)品庫存的查詢。
Java平臺使用Web服務有兩種方法,在本文的研究中主要使用Axis2來進行Web服務的調(diào)用,其實現(xiàn)的關鍵代碼如下所示:
public int getProductCount(String code) {
String endpoint = "http://localhost:8080/ERP/services/ERPSynrochnized?wsdl";//庫存管理系統(tǒng)發(fā)布的Web服務端點
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(endpoint);
call.setOperationName("GetProductByCode");//調(diào)用庫存管理系統(tǒng)發(fā)布的名為” GetProductByCode”的Web服務
call.addParameter("code", org.apache.axis.encoding.XMLType.XSD_DATE, javax.xml.rpc.ParameterMode.IN);//將產(chǎn)品編號作為參數(shù)傳入到Web服務調(diào)用中
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//設置Web服務返回結果的類型為XML字符串類型
call.setUseSOAPAction(true);
call.setSOAPActionURI("http://www.my.com/Rpc");
String strXML = (String) call.invoke(code);//調(diào)用ERP系統(tǒng)發(fā)布的名為” GetProductByCode”的Web服務
XML xml=new XML(strXML);//將XML字符串轉(zhuǎn)換成為XML類
int count=Convert.toInt(xml.getValue(“count”);//獲取xml中109的值,并且轉(zhuǎn)換成int型數(shù)據(jù)
return count;
}
通過上述的步驟,從而實現(xiàn)了企業(yè)與基于.NET平臺的庫存管理系統(tǒng)與基于Java平臺的財務管理系統(tǒng)與之間的數(shù)據(jù)交互。
三、結束語
將企業(yè)相互獨立的業(yè)務管理信息系統(tǒng)進行有效集成,從而實現(xiàn)企業(yè)的辦公自動化,已經(jīng)成為了我國企業(yè)信息化的主要研究方向,但是各具體業(yè)務管理信息系統(tǒng)之間的異構,嚴重制約了企業(yè)內(nèi)部的信息通信。為此,本文提出使用SOA技術來實現(xiàn)企業(yè)內(nèi)部數(shù)據(jù)集成,并對其中具體的實現(xiàn)方法進行了研究。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://m.hanmeixuan.com/
本文標題:企業(yè)辦公自動化系統(tǒng)中異構數(shù)據(jù)集成技術研究
本文網(wǎng)址:http://m.hanmeixuan.com/html/solutions/1401933064.html