U8EAI企業(yè)應(yīng)用集成培訓(xùn)課件_第1頁(yè)
U8EAI企業(yè)應(yīng)用集成培訓(xùn)課件_第2頁(yè)
U8EAI企業(yè)應(yīng)用集成培訓(xùn)課件_第3頁(yè)
U8EAI企業(yè)應(yīng)用集成培訓(xùn)課件_第4頁(yè)
U8EAI企業(yè)應(yīng)用集成培訓(xùn)課件_第5頁(yè)
已閱讀5頁(yè),還剩61頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

U8EAI企業(yè)應(yīng)用集成培訓(xùn)U8平臺(tái)開發(fā)部李靜2008年10月25日U8EAI企業(yè)應(yīng)用集成培訓(xùn)U8平臺(tái)開發(fā)部背景介紹U8EAI產(chǎn)品簡(jiǎn)介U8EAI產(chǎn)品應(yīng)用領(lǐng)域U8EAI產(chǎn)品特性U8EAI產(chǎn)品基本結(jié)構(gòu)U8EAI數(shù)據(jù)交換接口規(guī)范U8EAI應(yīng)用集成開發(fā)基本流程最佳實(shí)踐背景介紹挑戰(zhàn)

當(dāng)今全球化時(shí)代,企業(yè)面臨著新的挑戰(zhàn): 社會(huì)化大生產(chǎn)的分工越來(lái)越細(xì),企業(yè)的生產(chǎn)方式由大而全的自主式生產(chǎn)轉(zhuǎn)變?yōu)閷I(yè)化協(xié)作生產(chǎn)。 企業(yè)面臨越來(lái)越激烈的外部競(jìng)爭(zhēng)環(huán)境帶來(lái)的挑戰(zhàn)以及內(nèi)部管理和運(yùn)營(yíng)成本上升帶來(lái)的壓力。應(yīng)對(duì)策略

企業(yè)迫切需要與供應(yīng)商、合作伙伴、客戶建立更緊密的協(xié)作關(guān)系,以共同應(yīng)對(duì)風(fēng)險(xiǎn)和挑戰(zhàn),實(shí)現(xiàn)互惠共贏。

企業(yè)迫切需要能整合優(yōu)化內(nèi)部資源和業(yè)務(wù)流程,降低運(yùn)營(yíng)成本,提高運(yùn)營(yíng)效率和客戶服務(wù)水平。對(duì)IT系統(tǒng)的要求

打通“信息孤島”,實(shí)現(xiàn)企業(yè)內(nèi)部各系統(tǒng)之間互連互通、信息共享融合和業(yè)務(wù)整合,以提高企業(yè)運(yùn)營(yíng)效率,降低成本。

背景介紹挑戰(zhàn)背景介紹

打通企業(yè)之間的“信息壁壘”,實(shí)現(xiàn)企業(yè)與供應(yīng)商、伙伴、客戶之間的信息交換和自動(dòng)化業(yè)務(wù)協(xié)同,降低交易成本。

背景介紹打通企業(yè)之間的“信息壁壘”,實(shí)現(xiàn)企業(yè)與供應(yīng)商、伙伴企業(yè)應(yīng)用集成的關(guān)鍵問題 IT系統(tǒng)的開放性和擴(kuò)展能力

為應(yīng)對(duì)全球化帶來(lái)的挑戰(zhàn),企業(yè)需要有效整合內(nèi)外資源,這要求企業(yè)的IT系統(tǒng)要具備足夠的開放性和擴(kuò)展能力,這種開放性和擴(kuò)展能力首先體現(xiàn)在IT系統(tǒng)要具備能與外部系統(tǒng)進(jìn)行信息交流的豐富的對(duì)外接口。

標(biāo)準(zhǔn)和規(guī)范的遵循

企業(yè)IT系統(tǒng)之間的集成除了相互的開放性以外,最重要的一點(diǎn)是要遵循一致的技術(shù)標(biāo)準(zhǔn)和規(guī)范,即必須說一種“語(yǔ)言”,才能進(jìn)行有效“交談”。當(dāng)前比較流行的XML、SOAP/WebService、SOA等技術(shù),就是為了解決系統(tǒng)之間的數(shù)據(jù)通訊和信息交換問題而出現(xiàn)的業(yè)界公認(rèn)標(biāo)準(zhǔn)。

信息之間差異的彌合

企業(yè)應(yīng)用集成最重要的行為是信息的交換,由于沒有統(tǒng)一的商業(yè)標(biāo)準(zhǔn),系統(tǒng)之間的信息數(shù)據(jù)在結(jié)構(gòu)上往往存在差異,甚至在對(duì)相同信息的描述上也可能存在語(yǔ)義上的差異,比如:對(duì)于同樣的原材料A,在供應(yīng)商系統(tǒng)中記錄的編碼是001,而在制造商系統(tǒng)中記錄的編碼是002。企業(yè)應(yīng)用集成必須要解決這樣的信息差異問題。

背景介紹企業(yè)應(yīng)用集成的關(guān)鍵問題背景介紹U8企業(yè)應(yīng)用集成(EAI)產(chǎn)品是U8ERP與第三方系統(tǒng)進(jìn)行業(yè)務(wù)數(shù)據(jù)交換的平臺(tái)級(jí)工具產(chǎn)品,是U8ERP統(tǒng)一的對(duì)外開放接口。EAI產(chǎn)品包括一整套U8ERP的標(biāo)準(zhǔn)業(yè)務(wù)數(shù)據(jù)交換接口,這些接口涵蓋基礎(chǔ)檔案、財(cái)務(wù)、供應(yīng)鏈、生產(chǎn)制造、客戶關(guān)系管理、HR等ERP業(yè)務(wù)模塊,具備統(tǒng)一的入口、一致的業(yè)務(wù)外觀和相對(duì)完整的業(yè)務(wù)功能,能完成U8基礎(chǔ)數(shù)據(jù)、憑證、業(yè)務(wù)單據(jù)的導(dǎo)入導(dǎo)出及增、刪、改等操作(少數(shù)不支持),是U8與外部系統(tǒng)進(jìn)行應(yīng)用集成和業(yè)務(wù)整合的基本資源。為解決數(shù)據(jù)交換中系統(tǒng)之間數(shù)據(jù)格式和數(shù)據(jù)語(yǔ)義差異問題,EAI產(chǎn)品提供了可擴(kuò)展的數(shù)據(jù)適配器和數(shù)據(jù)映射機(jī)制用來(lái)進(jìn)行內(nèi)外數(shù)據(jù)的翻譯和轉(zhuǎn)換。為方便用戶的應(yīng)用和體驗(yàn),EAI產(chǎn)品還提供了能直接進(jìn)行U8數(shù)據(jù)導(dǎo)入導(dǎo)出的基本用戶界面工具,此工具支持手工和自動(dòng)導(dǎo)入導(dǎo)出。U8EAI產(chǎn)品簡(jiǎn)介U8企業(yè)應(yīng)用集成(EAI)產(chǎn)品是U8ERP與第三方系統(tǒng)進(jìn)行業(yè)企業(yè)內(nèi)部第三方業(yè)務(wù)系統(tǒng)與U8的整合財(cái)務(wù)整合:憑證上傳典型案例:U8網(wǎng)絡(luò)分銷系統(tǒng)通過U8EAI接口向U8財(cái)務(wù)系統(tǒng)上傳結(jié)算憑證。業(yè)務(wù)整合:?jiǎn)螕?jù)協(xié)同典型案例:U8連鎖零售系統(tǒng)通過U8EAI接口與U8銷售和庫(kù)存系統(tǒng)進(jìn)行業(yè)務(wù)協(xié)同。包括:零售部門下載公司U8系統(tǒng)中的商品、客戶檔案、庫(kù)存信息等;往U8系統(tǒng)上傳每日結(jié)算的零售日?qǐng)?bào);庫(kù)存不夠了往U8發(fā)調(diào)撥申請(qǐng)單進(jìn)行要貨調(diào)撥等等業(yè)務(wù)。企業(yè)之間的B2B業(yè)務(wù)協(xié)作供應(yīng)鏈協(xié)同:供應(yīng)商遠(yuǎn)程接收訂單。伙伴客戶的采購(gòu)系統(tǒng)通過供應(yīng)商U8EAI遠(yuǎn)程接口往供應(yīng)商U8銷售系統(tǒng)提交訂單。 U8EAI在這兩類應(yīng)用領(lǐng)域中扮演的角色和職責(zé)主要是提供U8ERP對(duì)外的基本集成接口資源。U8EAI產(chǎn)品應(yīng)用領(lǐng)域企業(yè)內(nèi)部第三方業(yè)務(wù)系統(tǒng)與U8的整合U8EAI產(chǎn)品應(yīng)用領(lǐng)域應(yīng)用特性內(nèi)容完整 涵蓋了U8ERP的大部分基本檔案和業(yè)務(wù)單據(jù)(含憑證),是U8ERP目前最完整、規(guī)范的對(duì)外接口。功能豐富 支持手動(dòng)、自動(dòng)、遠(yuǎn)程和本地接口等多種數(shù)據(jù)交換方式;支持?jǐn)?shù)據(jù)映射、增量、過濾條件等多種數(shù)據(jù)交換規(guī)則。接口統(tǒng)一 對(duì)外提供了一個(gè)統(tǒng)一的服務(wù)代理接口,由此接口負(fù)責(zé)所有數(shù)據(jù)交換請(qǐng)求(調(diào)用)的分發(fā)處理,使外部系統(tǒng)對(duì)U8的接口依賴減小到最少,降低的系統(tǒng)耦合性。技術(shù)特性采用XML作為數(shù)據(jù)交換格式

XML提供了跨平臺(tái)和低耦合特性,支持COM、.NET、JAVA三種平臺(tái)。采用Request/Response作為數(shù)據(jù)交換模式 數(shù)據(jù)交換的交互模式采用Request/Response方式,并通過標(biāo)準(zhǔn)的Request和Response消息來(lái)承載交互數(shù)據(jù)信息。支持本地和HTTP遠(yuǎn)程調(diào)用

本地調(diào)用采用COM方式;遠(yuǎn)程調(diào)用采用XMLHTTPPOST的方式。U8EAI產(chǎn)品特性應(yīng)用特性U8EAI產(chǎn)品特性U8ERP數(shù)據(jù)交換業(yè)務(wù)接口:

U8ERP各業(yè)務(wù)模塊提供的數(shù)據(jù)交換接口。EAI數(shù)據(jù)交換框架:

為管理和調(diào)用數(shù)據(jù)交換業(yè)務(wù)接口而提供的統(tǒng)一的基礎(chǔ)框架,包括數(shù)據(jù)交換業(yè)務(wù)基本配置信息以及數(shù)據(jù)交換服務(wù)代理接口和適配器。其中數(shù)據(jù)交換服務(wù)代理接口負(fù)責(zé)處理數(shù)據(jù)交換請(qǐng)求;適配器負(fù)責(zé)對(duì)不同格式和結(jié)構(gòu)的數(shù)據(jù)信息進(jìn)行適配轉(zhuǎn)換;數(shù)據(jù)交換目錄集中注冊(cè)和管理U8產(chǎn)品的所有數(shù)據(jù)交換業(yè)務(wù)接口;數(shù)據(jù)交換元數(shù)據(jù)描述了數(shù)據(jù)接口格式和數(shù)據(jù)類型定義;數(shù)據(jù)映射規(guī)則描述了數(shù)據(jù)適配過程中的內(nèi)外數(shù)據(jù)的對(duì)照映射關(guān)系;EAI日志用來(lái)對(duì)數(shù)據(jù)交換過程進(jìn)行跟蹤和記錄。EAI數(shù)據(jù)交換管理器:

用來(lái)配置和管理數(shù)據(jù)交換業(yè)務(wù)。主要包括以數(shù)據(jù)交換解決方案為中心的各種數(shù)據(jù)交換要素的配置管理。其中,解決方案管理主要對(duì)各種數(shù)據(jù)交換配置按照數(shù)據(jù)交換應(yīng)用任務(wù)為單位進(jìn)行分類集中管理;外部系統(tǒng)管理用來(lái)建立外部系統(tǒng)與U8帳套的集成關(guān)系;數(shù)據(jù)映射管理用來(lái)配置外部系統(tǒng)數(shù)據(jù)與U8數(shù)據(jù)的對(duì)照映射規(guī)則,以便在數(shù)據(jù)交換時(shí)進(jìn)行數(shù)據(jù)適配和轉(zhuǎn)換(解決數(shù)據(jù)信息差異問題);適配器管理用來(lái)管理系統(tǒng)預(yù)置和自定義數(shù)據(jù)適配器、定義適配規(guī)則;EAI日志管理用來(lái)查詢和處理EAI日志。EAI導(dǎo)入導(dǎo)出工具:為方便用戶的應(yīng)用和體驗(yàn),EAI提供了面向最終用戶的導(dǎo)入導(dǎo)出工具。能直接進(jìn)行U8數(shù)據(jù)導(dǎo)入導(dǎo)出,支持多種格式,支持條件過濾和增量,支持手工和定時(shí)自動(dòng)導(dǎo)入導(dǎo)出。

U8EAI產(chǎn)品基本結(jié)構(gòu)U8EAI產(chǎn)品結(jié)構(gòu)EAI導(dǎo)入導(dǎo)出工具手動(dòng)導(dǎo)入導(dǎo)出工具XML導(dǎo)入導(dǎo)出EXCEL導(dǎo)入導(dǎo)出其他格式導(dǎo)入導(dǎo)出導(dǎo)入導(dǎo)出設(shè)置條件過濾規(guī)則增量規(guī)則導(dǎo)入導(dǎo)出目標(biāo)地址定時(shí)計(jì)劃導(dǎo)入導(dǎo)出任務(wù)計(jì)劃規(guī)劃設(shè)計(jì)器任務(wù)計(jì)劃執(zhí)行引擎U8ERP數(shù)據(jù)交換業(yè)務(wù)接口基本檔案接口財(cái)務(wù)接口供應(yīng)鏈接口生產(chǎn)制造接口其它接口EAI數(shù)據(jù)交換框架EAI數(shù)據(jù)交換代理服務(wù)--EAIBroker(支持多種協(xié)議)EAI數(shù)據(jù)交換目錄EAI數(shù)據(jù)交換元數(shù)據(jù)數(shù)據(jù)映射規(guī)則EAI日志適配器框架專用適配器EXCELEDI通用適配器(XML)格式和數(shù)據(jù)適配規(guī)則EAI數(shù)據(jù)交換管理器外部系統(tǒng)管理數(shù)據(jù)映射管理適配器管理EAI日志管理解決方案管理U8ERP數(shù)據(jù)交換業(yè)務(wù)接口:U8ERP各業(yè)務(wù)模塊提供的U8EAI數(shù)據(jù)交換接口規(guī)范EAI接口定義本地COM接口

類庫(kù):U8Distribute.DLL ProgID:U8Distribute.iDistribute

方法:StringProcess(StringRequestXml)

參數(shù):RequestXml—數(shù)據(jù)交換請(qǐng)求消息,詳見數(shù)據(jù)交換格式定義。 返回值—數(shù)據(jù)交換Response消息,詳見數(shù)據(jù)交換格式定義。遠(yuǎn)程HTTP接口

EAI遠(yuǎn)程數(shù)據(jù)交換采用XmlHttpPOST的方式。接口為:

POST上傳:數(shù)據(jù)交換請(qǐng)求消息與本地調(diào)用一樣,詳見數(shù)據(jù)交換格式定義。

Response接收:數(shù)據(jù)交換響應(yīng)消息與本地調(diào)用一樣,詳見數(shù)據(jù)交換格式定義。EAI數(shù)據(jù)交換格式 數(shù)據(jù)交換消息總體格式

EAI數(shù)據(jù)交換消息格式分為框架和內(nèi)容兩部分:

<ufinterfacesender=“002”receiver=“u8”roottag=“department”proc=“Add”>—框架部分

<department>…</department>—內(nèi)容部分

</ufinterface>

框架部分

包含數(shù)據(jù)交換的控制信息,其中:

U8EAI數(shù)據(jù)交換接口規(guī)范EAI接口定義U8EAI數(shù)據(jù)交換接口規(guī)范sender:發(fā)送方,填外部系統(tǒng)注冊(cè)碼receiver:接收方,填u8即可roottag:數(shù)據(jù)類型,根據(jù)EAI\XML\Template目錄中的數(shù)據(jù)交換模板文件填寫proc:數(shù)據(jù)交換的操作,分為add/edit/delete/query內(nèi)容部分指消息中攜帶的檔案或單據(jù)等業(yè)務(wù)數(shù)據(jù)。U8EAI提供了一整套完整的基本檔案和單據(jù)的數(shù)據(jù)交換模版(在EAI\XML\Template目錄下),模板中定義了消息內(nèi)容部分的格式和字段。Requset消息格式Request消息格式的框架部分同上所述,內(nèi)容部分根據(jù)不同的操作有所不同:對(duì)于add/edit操作,Request消息的內(nèi)容就是檔案和單據(jù)內(nèi)容,具體格式詳見數(shù)據(jù)模板。對(duì)于delete/query操作,Request消息的內(nèi)容包含過濾條件,條件格式如下:<ufinterfacesender=“002”receiver="u8"roottag=“department”proc=“Query”><department><fielddisplay=“部門編碼"name=“cDepCode"operation="="value=“3"logic=""/></department>

</ufinterface>U8EAI數(shù)據(jù)交換接口規(guī)范U8EAI數(shù)據(jù)交換接口規(guī)范Response消息格式Response消息是EAI接口執(zhí)行Request消息之后的返回結(jié)果,不同的操作有所不同:對(duì)于query操作,

返回的結(jié)果就是查詢的數(shù)據(jù),格式詳見EAI數(shù)據(jù)模板。對(duì)于add/edit/delete操作,返回的結(jié)果包括單據(jù)體每一行數(shù)據(jù)的詳細(xì)執(zhí)行結(jié)果(由Item節(jié)點(diǎn)描述),如下:<ufinterfaceroottag="return"docid="823482692"proc="add"> <!--

key:單據(jù)表體行數(shù)據(jù)的編號(hào),比如:銷售訂單表體的存貨編碼 succeed:成功或失敗號(hào),0為成功,其他值為失敗

dsc: 成功或失敗的文字描述--> <itemkey="001"succeed=“0"dsc=""/> <itemkey="002"succeed=“0"dsc=""/> </ufinterface>憑證的add操作的Response格式比較特殊:<ufinterfaceroottag="voucheraddreturn"docid=""proc="add"><itemaccounting_period="10"voucher_type="記"voucher_id="888"u8voucher_id="1138"entry_id=""succeed="0"dsc="憑證已成功保存"u8accounting_period="10"></item></ufinterface>voucher_id:外部系統(tǒng)原始憑證號(hào);

u8voucher_id:U8生成的憑證號(hào);

succeed: 是否成功,0為成功,非零為失?。?/p>

accounting_period:會(huì)計(jì)期間;

voucher_type:憑證類別U8EAI數(shù)據(jù)交換接口規(guī)范第一步:EAI基本配置第二步:規(guī)劃并準(zhǔn)備數(shù)據(jù)第三步:根據(jù)部署方式選擇EAI接口類型第四步:調(diào)用EAI接口,發(fā)送數(shù)據(jù)第五步:處理返回結(jié)果U8EAI應(yīng)用集成開發(fā)流程第一步:EAI基本配置U8EAI應(yīng)用集成開發(fā)流程第一步:EAI基本配置1、配置EAI連接

“開始”->“程序”-》“用友ERP-U872”-》“企業(yè)應(yīng)用集成(EAI)”-》“U8EAI接口設(shè)置”U8EAI應(yīng)用集成開發(fā)流程第一步:EAI基本配置U8EAI應(yīng)用集成開發(fā)流程2、外部系統(tǒng)注冊(cè)

切換到外部系統(tǒng)注冊(cè)頁(yè)簽進(jìn)行外部系統(tǒng)注冊(cè)。外部系統(tǒng)注冊(cè)的目的是為了建立外部系統(tǒng)與U8帳套的數(shù)據(jù)交換關(guān)系。U8EAI應(yīng)用集成開發(fā)流程2、外部系統(tǒng)注冊(cè)U8EAI應(yīng)用集成開發(fā)流程第二步:規(guī)劃并準(zhǔn)備數(shù)據(jù)1、根據(jù)項(xiàng)目的需求,分析應(yīng)用集成業(yè)務(wù)場(chǎng)景,確定需要與U8進(jìn)行數(shù)據(jù)交換的業(yè)務(wù)環(huán)節(jié)。2、對(duì)于項(xiàng)目中每一個(gè)數(shù)據(jù)交換環(huán)節(jié),確定數(shù)據(jù)來(lái)源,并進(jìn)行數(shù)據(jù)適配,將原始數(shù)據(jù)轉(zhuǎn)換為符合U8EAI標(biāo)準(zhǔn)數(shù)據(jù)交換格式的數(shù)據(jù)(對(duì)于add/edit的數(shù)據(jù)必須符合U8EAI的數(shù)據(jù)模板格式)。3、對(duì)于數(shù)據(jù)交換過程中需要進(jìn)行基本檔案編碼轉(zhuǎn)換的(比如:訂單中存貨的編碼外部系統(tǒng)與U8可能不一致),可以在EAI的數(shù)據(jù)交換配置管理中配置檔案編碼的映射關(guān)系。當(dāng)然,也可以不使用EAI的數(shù)據(jù)映射功能,直接在外部數(shù)據(jù)轉(zhuǎn)換為U8EAI標(biāo)準(zhǔn)格式的代碼中處理。U8EAI應(yīng)用集成開發(fā)流程第二步:規(guī)劃并準(zhǔn)備數(shù)據(jù)U8EAI應(yīng)用集成開發(fā)流程第三步:根據(jù)部署方式選擇EAI接口類型對(duì)于需要與U8服務(wù)器分離部署的應(yīng)用集成項(xiàng)目,應(yīng)該選擇EAI的HTTP遠(yuǎn)程接口。對(duì)于可以和U8服務(wù)器部署在一起的項(xiàng)目,則應(yīng)選擇調(diào)用EAI本地COM接口。U8EAI應(yīng)用集成開發(fā)流程第三步:根據(jù)部署方式選擇EAI接口類型U8EAI應(yīng)用集成開發(fā)第四步:調(diào)用EAI接口,發(fā)送數(shù)據(jù)本地COM調(diào)用

VB代碼:

DimeaiBrokerAsObjectSeteaiBroker=CreateObject(“U8Distribute.iDistribute”)’創(chuàng)建EAI服務(wù)代理接口對(duì)象DimresponseXmlAsStringresponseXml=eaiBroker.Process(requestXml)’調(diào)用EAI服務(wù)代理的數(shù)據(jù)交換方法Process,傳入Request交 換消息,并獲取EAI返回的Response消息。

…..’處理返回結(jié)果

SeteaiBroker=Nothing’釋放EAI服務(wù)代理接口對(duì)象

.Net代碼:

引用U8SOFT\EAI\U8Distribute.dllU8Distribute.iDistributeClasseaiBroker=newU8Distribute.iDistributeClass();//創(chuàng)建EAI服務(wù)代理接口對(duì)象StringresponseXml=eaiBroker.Process(requestXml);//調(diào)用EAI服務(wù)代理的數(shù)據(jù)交換方法Process,傳入Request交換消息 ,并獲取EAI返回的Response消息。......//處理返回結(jié)果System.Runtime.InteropServices.Marshal.FinalReleaseComObject(eaiBroker);//釋放EAI服務(wù)代理接口對(duì)象U8EAI應(yīng)用集成開發(fā)流程第四步:調(diào)用EAI接口,發(fā)送數(shù)據(jù)U8EAI應(yīng)用集成開發(fā)流程

JAVA代碼:

采用JNI、JCOM、JACOB技術(shù)調(diào)用EAI服務(wù)代理COM組件,下面以JACOB為例:

import.Dispatch;import.Variant;classTest{

publicstaticvoidmain(String[]args)

{

DispatcheaiBroker=newDispatch("U8Distribute.iDistribute");//創(chuàng)建EAI服務(wù)代理接口對(duì)象

StringresponseXml=Dispatch.call(eaiBroker,"Process",newVariant(requestXml));//調(diào)用EAI服務(wù)代理的數(shù)據(jù)交換方法Process,傳入Request交換消息,并獲取EAI返回的Response消息。 ......//處理返回結(jié)果

}}U8EAI應(yīng)用集成開發(fā)流程JAVA代碼:U8EAI應(yīng)用集成開發(fā)流程HTTP遠(yuǎn)程調(diào)用

遠(yuǎn)程調(diào)用采用HTTPPOST的方式上傳Request消息。

VB代碼:

DimxmlhttpAsObjectSetxmlhttp=CreateObject(“MSXML2.XMLHTTP”)’創(chuàng)建XMLHTTP對(duì)象Callxmlhttp.open(“POST”,“http://u8appsrv/u8eai/import.asp”,False)‘使用XMLHTTP對(duì)象打開 網(wǎng)絡(luò)連接,URL中的u8appsrv填U8應(yīng)用服務(wù)器xmlhttp.sendrequestXml’發(fā)送Request消息DimresponseXmlAsStringresponseXml=xmlhttp.responseText’獲取返回Response消息…..’處理返回結(jié)果.Net代碼:

引用D:\U8SOFT\Interop\Interop.MSXML2.dll

MSXML2.XMLHTTPClassxmlHttp=newMSXML2.XMLHTTPClass();xmlHttp.open("POST","http://localhost/u8eai/import.asp",false,null,null);xmlHttp.send(dom.OuterXml);StringresponseXml=xmlHttp.responseText;……//處理返回結(jié)果System.Runtime.InteropServices.Marshal.FinalReleaseComObject(xmlHttp);//COM釋放U8EAI應(yīng)用集成開發(fā)流程U8EAI應(yīng)用集成開發(fā)流程U8EAI應(yīng)用集成開發(fā)流程U8EAI應(yīng)用集成開發(fā)流程第五步:處理返回結(jié)果

分析返回結(jié)果,處理返回結(jié)果就是處理Response消息,Response消息格式在“EAI數(shù)據(jù)交換接口規(guī)范”中已經(jīng)詳

細(xì)介紹了。U8EAI應(yīng)用集成開發(fā)流程第五步:處理返回結(jié)果U8EAI應(yīng)用集成開發(fā)流程最佳實(shí)踐活用EAI接口關(guān)于二次開發(fā)中U8接口選擇U8與外部系統(tǒng)集成最佳開發(fā)模式最佳實(shí)踐活用EAI接口活用EAI接口EAI通用SQL查詢接口

由于EAI接口返回的數(shù)據(jù)格式是固定的標(biāo)準(zhǔn)格式,很有可能返回的數(shù)據(jù)中沒有用戶所需要的字段;另外,對(duì)于U8中的業(yè)務(wù)數(shù)據(jù),EAI接口也不是100%覆蓋的。

針對(duì)以上情況,EAI提供了一個(gè)靈活的數(shù)據(jù)查詢通用接口--EAI通用SQL查詢接口,該接口支持向EAI數(shù)據(jù)交換代理傳遞SQL語(yǔ)句進(jìn)行查詢操作,可以查詢當(dāng)前U8帳套的所有數(shù)據(jù),用戶不用直接訪問U8帳套庫(kù)。查詢返回的結(jié)果為.Net中的Dataset的XML格式的數(shù)據(jù)。調(diào)用該接口只需給EAI數(shù)據(jù)交換服務(wù)代理傳遞特殊的Request消息即可:Request消息格式如下: <ufinterfacesender="001"receiver="u8"roottag="SQLEXE"proc="department“codeexchanged="n"> <sqlvalue="select*frominventory"/></ufinterface>

其中內(nèi)容部分<sqlvalue=“”/>節(jié)點(diǎn)為SQL查詢語(yǔ)句。

框架部分的roottag值必須固定為“SQLEXE”,proc的值用來(lái)標(biāo)識(shí)Dataset的行節(jié)點(diǎn),可以是任意字符串。

活用EAI接口EAI通用SQL查詢接口活用EAI接口Response消息格式如下:<ufinterfacesender="u8"receiver="002"roottag="SQLEXE"proc="department"request-roottag="SQLEXE"> <NewDataSet> <department> <cDepCode>1</cDepCode> <bDepEnd>true</bDepEnd> <cDepName>采購(gòu)1部</cDepName> </department> <department> <cDepCode>2</cDepCode> <bDepEnd>true</bDepEnd> <cDepName>銷售1部</cDepName> </department> </NewDataSet></ufinterface>根節(jié)點(diǎn)的proc的值用來(lái)標(biāo)識(shí)Dataset的行節(jié)點(diǎn),一般為表名。活用EAI接口Response消息格式如下:活用EAI接口使用條件過濾

查詢單條數(shù)據(jù)的時(shí)候往往需要帶上條件,可以采用EAI通用SQL查詢,也可以采用EAI標(biāo)準(zhǔn)的條件查詢格式:<ufinterfacesender="002"receiver="u8"roottag="department"proc="Query"> <department> <fielddisplay=“部門編碼"name="cDepCode"operation="="value="1"logic=""/></department></ufinterface>注意控制部分的roottag要與內(nèi)容根節(jié)點(diǎn)呼應(yīng)?;钣肊AI接口活用EAI接口關(guān)于內(nèi)外格式適配問題

外部系統(tǒng)通過EAI與U8進(jìn)行數(shù)據(jù)交換,首先必須解決數(shù)據(jù)格式匹配問題,必須將外部系統(tǒng)數(shù)據(jù)格式變換為U8EAI標(biāo)準(zhǔn)數(shù)據(jù)格式,EAI當(dāng)前的版本還沒有實(shí)現(xiàn)完善的適配器機(jī)制,故目前常見的做法是直接在項(xiàng)目工程的二次開發(fā)代碼中做轉(zhuǎn)換,這種方式雖然很高效,但是不靈活,不能適應(yīng)規(guī)則或需求變化(一旦有變化,則需要調(diào)整代碼重新編譯),推薦一個(gè)比較好的做法是將數(shù)據(jù)格式轉(zhuǎn)換功能做成一個(gè)通用服務(wù),采用XSLT作為轉(zhuǎn)換引擎,XSLT腳本作為轉(zhuǎn)換規(guī)則,這樣,應(yīng)對(duì)任何格式甚至業(yè)務(wù)規(guī)則的變化只需要調(diào)整XSLT腳本即可。

活用EAI接口關(guān)于內(nèi)外格式適配問題關(guān)于客戶化開發(fā)中U8接口選擇要在客戶化開發(fā)代碼中調(diào)用U8的某項(xiàng)功能,目前有三種選擇:直接訪問U8數(shù)據(jù)庫(kù):優(yōu)點(diǎn)是最直接,能夠完全自我控制;缺點(diǎn)是最危險(xiǎn),需要對(duì)產(chǎn)品的實(shí)現(xiàn)機(jī)理和數(shù)據(jù)庫(kù)表結(jié)構(gòu)都非常了解。使用U8開發(fā)部提供的內(nèi)部接口:優(yōu)點(diǎn)是可以復(fù)用現(xiàn)有接口,不需要重復(fù)勞動(dòng),而且內(nèi)部使用的接口一般都比較靈活;缺點(diǎn)是太靈活,不易用,粒度太細(xì),依賴和耦合度太強(qiáng),需要很多上下文條件,需要總部強(qiáng)有力的技術(shù)支持!使用U8對(duì)外公布的產(chǎn)品化的標(biāo)準(zhǔn)接口——U8EAI與U8API(872新增加):優(yōu)點(diǎn)是經(jīng)過嚴(yán)格測(cè)試,編程模型統(tǒng)一,業(yè)務(wù)粒度適中,功能相對(duì)獨(dú)立完整,耦合度和依賴都不強(qiáng)。缺點(diǎn)是標(biāo)準(zhǔn)化后導(dǎo)致不靈活,另外功能覆蓋度不是很全面(持續(xù)完善中?。8EAI與U8API接口

U8EAI與U8API接口看起來(lái)比較類似,但它們的特性有差別。

U8API采用傳統(tǒng)的編程模式,更靠近底層,業(yè)務(wù)邏輯粒度更細(xì),而且還需要或依賴一些特定的上下文環(huán)境,比如:login、事務(wù)等;而U8EAI接口則是完全松耦合的,采用XML和請(qǐng)求/響應(yīng)的消息模式,支持跨平臺(tái)和遠(yuǎn)程訪問,且業(yè)務(wù)粒度比較粗放。這些特性的差別決定了它們的應(yīng)用領(lǐng)域不同,U8API更適合于U8內(nèi)部的功能擴(kuò)展和客戶個(gè)性化二次開發(fā),而U8EAI則適合外部系統(tǒng)與U8之間以業(yè)務(wù)數(shù)據(jù)交換為特征的應(yīng)用集成開發(fā)。

關(guān)于客戶化開發(fā)中U8接口選擇要在客戶化開發(fā)代碼中調(diào)用U8的某U8與外部系統(tǒng)集成最佳開發(fā)模式簡(jiǎn)單應(yīng)用憑證上傳(企業(yè)內(nèi)部)業(yè)務(wù)描述:企業(yè)資金管理系統(tǒng)將結(jié)算憑證上傳到企業(yè)U8財(cái)務(wù)系統(tǒng)??赡苄枰牟襟E:1、保證科目、客戶、供應(yīng)商等基本檔案的一致方法一:在EAI中配置相關(guān)基本檔案的數(shù)據(jù)映射。

方法二:將外部系統(tǒng)的相關(guān)基本檔案通過EAI接口同步到U8;或者,將U8的相關(guān)基本檔案通過EAI接口導(dǎo)出,然后同步到外部系統(tǒng)。中間需要進(jìn)行格式轉(zhuǎn)換。2、將外部系統(tǒng)的憑證通過EAI接口傳遞給U8

憑證的格式必須符合U8EAI標(biāo)準(zhǔn)格式。開發(fā)模式:外部系統(tǒng)二次開發(fā)+U8EAI接口訂單提交(B2B)業(yè)務(wù)描述:企業(yè)訂貨系統(tǒng)自動(dòng)向供應(yīng)商U8系統(tǒng)下達(dá)訂單??赡苄枰牟襟E:1、保證相關(guān)基本檔案的一致

方法基本同上2、將銷售訂單通過EAI接口傳遞給U8

可能需要將對(duì)方系統(tǒng)的采購(gòu)訂單轉(zhuǎn)換成U8EAI的標(biāo)準(zhǔn)銷售訂單格式。開發(fā)模式:外部系統(tǒng)二次開發(fā)+U8EAI接口

U8與外部系統(tǒng)集成最佳開發(fā)模式簡(jiǎn)單應(yīng)用U8與外部系統(tǒng)集成最佳開發(fā)模式復(fù)雜應(yīng)用企業(yè)內(nèi)部子系統(tǒng)一體化應(yīng)用集成比如,制造企業(yè)的PDM+U8ERP+MES,商業(yè)零售企業(yè)的零售POS+U8ERP,產(chǎn)銷一體化企業(yè)的U8ERP+DRP。U8EAI在這種緊密集成的應(yīng)用場(chǎng)景中的角色是高度專業(yè)化的,只作為U8對(duì)外開放的基本集成接口資源,不承擔(dān)其它職能。開發(fā)模式:采用第三方集成平臺(tái)工具產(chǎn)品進(jìn)行綜合性二次開發(fā),U8EAI接口作為U8系統(tǒng)的基本集成資源。企業(yè)之間的業(yè)務(wù)協(xié)作采用水平一體化戰(zhàn)略的企業(yè)與供應(yīng)商、合作伙伴之間存在采購(gòu)供應(yīng)協(xié)作以及委外協(xié)作關(guān)系。這種B2B的應(yīng)用場(chǎng)景不像企業(yè)內(nèi)部集成那樣緊密而耦合度高,互相之間的協(xié)作交流更多的是基于各個(gè)系統(tǒng)提供的能完成它們?cè)趨f(xié)作中基本職能的集成門戶進(jìn)行,而不是單個(gè)的接口。這樣,可以將U8EAI的分散獨(dú)立的接口按照協(xié)作任務(wù)的需要進(jìn)一步整合包裝成為完成當(dāng)前協(xié)作任務(wù)的U8集成門戶,這樣的整合封裝,可以為企業(yè)提供更加專有的、有針對(duì)性的、更加面向企業(yè)實(shí)際應(yīng)用的集成接口。開發(fā)模式:在戰(zhàn)略規(guī)劃的指導(dǎo)下,明確各系統(tǒng)職責(zé)并進(jìn)行集成門戶封裝,最后由第三方集成平臺(tái)工具來(lái)完成橋接工作。

U8與外部系統(tǒng)集成最佳開發(fā)模式復(fù)雜應(yīng)用TELAIL:lijing@Thanks!聯(lián)系方式TEL系方式U8EAI企業(yè)應(yīng)用集成培訓(xùn)演講完畢,謝謝觀看!演講完畢,謝謝觀看!U8EAI企業(yè)應(yīng)用集成培訓(xùn)U8平臺(tái)開發(fā)部李靜2008年10月25日U8EAI企業(yè)應(yīng)用集成培訓(xùn)U8平臺(tái)開發(fā)部背景介紹U8EAI產(chǎn)品簡(jiǎn)介U8EAI產(chǎn)品應(yīng)用領(lǐng)域U8EAI產(chǎn)品特性U8EAI產(chǎn)品基本結(jié)構(gòu)U8EAI數(shù)據(jù)交換接口規(guī)范U8EAI應(yīng)用集成開發(fā)基本流程最佳實(shí)踐背景介紹挑戰(zhàn)

當(dāng)今全球化時(shí)代,企業(yè)面臨著新的挑戰(zhàn): 社會(huì)化大生產(chǎn)的分工越來(lái)越細(xì),企業(yè)的生產(chǎn)方式由大而全的自主式生產(chǎn)轉(zhuǎn)變?yōu)閷I(yè)化協(xié)作生產(chǎn)。 企業(yè)面臨越來(lái)越激烈的外部競(jìng)爭(zhēng)環(huán)境帶來(lái)的挑戰(zhàn)以及內(nèi)部管理和運(yùn)營(yíng)成本上升帶來(lái)的壓力。應(yīng)對(duì)策略

企業(yè)迫切需要與供應(yīng)商、合作伙伴、客戶建立更緊密的協(xié)作關(guān)系,以共同應(yīng)對(duì)風(fēng)險(xiǎn)和挑戰(zhàn),實(shí)現(xiàn)互惠共贏。

企業(yè)迫切需要能整合優(yōu)化內(nèi)部資源和業(yè)務(wù)流程,降低運(yùn)營(yíng)成本,提高運(yùn)營(yíng)效率和客戶服務(wù)水平。對(duì)IT系統(tǒng)的要求

打通“信息孤島”,實(shí)現(xiàn)企業(yè)內(nèi)部各系統(tǒng)之間互連互通、信息共享融合和業(yè)務(wù)整合,以提高企業(yè)運(yùn)營(yíng)效率,降低成本。

背景介紹挑戰(zhàn)背景介紹

打通企業(yè)之間的“信息壁壘”,實(shí)現(xiàn)企業(yè)與供應(yīng)商、伙伴、客戶之間的信息交換和自動(dòng)化業(yè)務(wù)協(xié)同,降低交易成本。

背景介紹打通企業(yè)之間的“信息壁壘”,實(shí)現(xiàn)企業(yè)與供應(yīng)商、伙伴企業(yè)應(yīng)用集成的關(guān)鍵問題 IT系統(tǒng)的開放性和擴(kuò)展能力

為應(yīng)對(duì)全球化帶來(lái)的挑戰(zhàn),企業(yè)需要有效整合內(nèi)外資源,這要求企業(yè)的IT系統(tǒng)要具備足夠的開放性和擴(kuò)展能力,這種開放性和擴(kuò)展能力首先體現(xiàn)在IT系統(tǒng)要具備能與外部系統(tǒng)進(jìn)行信息交流的豐富的對(duì)外接口。

標(biāo)準(zhǔn)和規(guī)范的遵循

企業(yè)IT系統(tǒng)之間的集成除了相互的開放性以外,最重要的一點(diǎn)是要遵循一致的技術(shù)標(biāo)準(zhǔn)和規(guī)范,即必須說一種“語(yǔ)言”,才能進(jìn)行有效“交談”。當(dāng)前比較流行的XML、SOAP/WebService、SOA等技術(shù),就是為了解決系統(tǒng)之間的數(shù)據(jù)通訊和信息交換問題而出現(xiàn)的業(yè)界公認(rèn)標(biāo)準(zhǔn)。

信息之間差異的彌合

企業(yè)應(yīng)用集成最重要的行為是信息的交換,由于沒有統(tǒng)一的商業(yè)標(biāo)準(zhǔn),系統(tǒng)之間的信息數(shù)據(jù)在結(jié)構(gòu)上往往存在差異,甚至在對(duì)相同信息的描述上也可能存在語(yǔ)義上的差異,比如:對(duì)于同樣的原材料A,在供應(yīng)商系統(tǒng)中記錄的編碼是001,而在制造商系統(tǒng)中記錄的編碼是002。企業(yè)應(yīng)用集成必須要解決這樣的信息差異問題。

背景介紹企業(yè)應(yīng)用集成的關(guān)鍵問題背景介紹U8企業(yè)應(yīng)用集成(EAI)產(chǎn)品是U8ERP與第三方系統(tǒng)進(jìn)行業(yè)務(wù)數(shù)據(jù)交換的平臺(tái)級(jí)工具產(chǎn)品,是U8ERP統(tǒng)一的對(duì)外開放接口。EAI產(chǎn)品包括一整套U8ERP的標(biāo)準(zhǔn)業(yè)務(wù)數(shù)據(jù)交換接口,這些接口涵蓋基礎(chǔ)檔案、財(cái)務(wù)、供應(yīng)鏈、生產(chǎn)制造、客戶關(guān)系管理、HR等ERP業(yè)務(wù)模塊,具備統(tǒng)一的入口、一致的業(yè)務(wù)外觀和相對(duì)完整的業(yè)務(wù)功能,能完成U8基礎(chǔ)數(shù)據(jù)、憑證、業(yè)務(wù)單據(jù)的導(dǎo)入導(dǎo)出及增、刪、改等操作(少數(shù)不支持),是U8與外部系統(tǒng)進(jìn)行應(yīng)用集成和業(yè)務(wù)整合的基本資源。為解決數(shù)據(jù)交換中系統(tǒng)之間數(shù)據(jù)格式和數(shù)據(jù)語(yǔ)義差異問題,EAI產(chǎn)品提供了可擴(kuò)展的數(shù)據(jù)適配器和數(shù)據(jù)映射機(jī)制用來(lái)進(jìn)行內(nèi)外數(shù)據(jù)的翻譯和轉(zhuǎn)換。為方便用戶的應(yīng)用和體驗(yàn),EAI產(chǎn)品還提供了能直接進(jìn)行U8數(shù)據(jù)導(dǎo)入導(dǎo)出的基本用戶界面工具,此工具支持手工和自動(dòng)導(dǎo)入導(dǎo)出。U8EAI產(chǎn)品簡(jiǎn)介U8企業(yè)應(yīng)用集成(EAI)產(chǎn)品是U8ERP與第三方系統(tǒng)進(jìn)行業(yè)企業(yè)內(nèi)部第三方業(yè)務(wù)系統(tǒng)與U8的整合財(cái)務(wù)整合:憑證上傳典型案例:U8網(wǎng)絡(luò)分銷系統(tǒng)通過U8EAI接口向U8財(cái)務(wù)系統(tǒng)上傳結(jié)算憑證。業(yè)務(wù)整合:?jiǎn)螕?jù)協(xié)同典型案例:U8連鎖零售系統(tǒng)通過U8EAI接口與U8銷售和庫(kù)存系統(tǒng)進(jìn)行業(yè)務(wù)協(xié)同。包括:零售部門下載公司U8系統(tǒng)中的商品、客戶檔案、庫(kù)存信息等;往U8系統(tǒng)上傳每日結(jié)算的零售日?qǐng)?bào);庫(kù)存不夠了往U8發(fā)調(diào)撥申請(qǐng)單進(jìn)行要貨調(diào)撥等等業(yè)務(wù)。企業(yè)之間的B2B業(yè)務(wù)協(xié)作供應(yīng)鏈協(xié)同:供應(yīng)商遠(yuǎn)程接收訂單?;锇榭蛻舻牟少?gòu)系統(tǒng)通過供應(yīng)商U8EAI遠(yuǎn)程接口往供應(yīng)商U8銷售系統(tǒng)提交訂單。 U8EAI在這兩類應(yīng)用領(lǐng)域中扮演的角色和職責(zé)主要是提供U8ERP對(duì)外的基本集成接口資源。U8EAI產(chǎn)品應(yīng)用領(lǐng)域企業(yè)內(nèi)部第三方業(yè)務(wù)系統(tǒng)與U8的整合U8EAI產(chǎn)品應(yīng)用領(lǐng)域應(yīng)用特性內(nèi)容完整 涵蓋了U8ERP的大部分基本檔案和業(yè)務(wù)單據(jù)(含憑證),是U8ERP目前最完整、規(guī)范的對(duì)外接口。功能豐富 支持手動(dòng)、自動(dòng)、遠(yuǎn)程和本地接口等多種數(shù)據(jù)交換方式;支持?jǐn)?shù)據(jù)映射、增量、過濾條件等多種數(shù)據(jù)交換規(guī)則。接口統(tǒng)一 對(duì)外提供了一個(gè)統(tǒng)一的服務(wù)代理接口,由此接口負(fù)責(zé)所有數(shù)據(jù)交換請(qǐng)求(調(diào)用)的分發(fā)處理,使外部系統(tǒng)對(duì)U8的接口依賴減小到最少,降低的系統(tǒng)耦合性。技術(shù)特性采用XML作為數(shù)據(jù)交換格式

XML提供了跨平臺(tái)和低耦合特性,支持COM、.NET、JAVA三種平臺(tái)。采用Request/Response作為數(shù)據(jù)交換模式 數(shù)據(jù)交換的交互模式采用Request/Response方式,并通過標(biāo)準(zhǔn)的Request和Response消息來(lái)承載交互數(shù)據(jù)信息。支持本地和HTTP遠(yuǎn)程調(diào)用

本地調(diào)用采用COM方式;遠(yuǎn)程調(diào)用采用XMLHTTPPOST的方式。U8EAI產(chǎn)品特性應(yīng)用特性U8EAI產(chǎn)品特性U8ERP數(shù)據(jù)交換業(yè)務(wù)接口:

U8ERP各業(yè)務(wù)模塊提供的數(shù)據(jù)交換接口。EAI數(shù)據(jù)交換框架:

為管理和調(diào)用數(shù)據(jù)交換業(yè)務(wù)接口而提供的統(tǒng)一的基礎(chǔ)框架,包括數(shù)據(jù)交換業(yè)務(wù)基本配置信息以及數(shù)據(jù)交換服務(wù)代理接口和適配器。其中數(shù)據(jù)交換服務(wù)代理接口負(fù)責(zé)處理數(shù)據(jù)交換請(qǐng)求;適配器負(fù)責(zé)對(duì)不同格式和結(jié)構(gòu)的數(shù)據(jù)信息進(jìn)行適配轉(zhuǎn)換;數(shù)據(jù)交換目錄集中注冊(cè)和管理U8產(chǎn)品的所有數(shù)據(jù)交換業(yè)務(wù)接口;數(shù)據(jù)交換元數(shù)據(jù)描述了數(shù)據(jù)接口格式和數(shù)據(jù)類型定義;數(shù)據(jù)映射規(guī)則描述了數(shù)據(jù)適配過程中的內(nèi)外數(shù)據(jù)的對(duì)照映射關(guān)系;EAI日志用來(lái)對(duì)數(shù)據(jù)交換過程進(jìn)行跟蹤和記錄。EAI數(shù)據(jù)交換管理器:

用來(lái)配置和管理數(shù)據(jù)交換業(yè)務(wù)。主要包括以數(shù)據(jù)交換解決方案為中心的各種數(shù)據(jù)交換要素的配置管理。其中,解決方案管理主要對(duì)各種數(shù)據(jù)交換配置按照數(shù)據(jù)交換應(yīng)用任務(wù)為單位進(jìn)行分類集中管理;外部系統(tǒng)管理用來(lái)建立外部系統(tǒng)與U8帳套的集成關(guān)系;數(shù)據(jù)映射管理用來(lái)配置外部系統(tǒng)數(shù)據(jù)與U8數(shù)據(jù)的對(duì)照映射規(guī)則,以便在數(shù)據(jù)交換時(shí)進(jìn)行數(shù)據(jù)適配和轉(zhuǎn)換(解決數(shù)據(jù)信息差異問題);適配器管理用來(lái)管理系統(tǒng)預(yù)置和自定義數(shù)據(jù)適配器、定義適配規(guī)則;EAI日志管理用來(lái)查詢和處理EAI日志。EAI導(dǎo)入導(dǎo)出工具:為方便用戶的應(yīng)用和體驗(yàn),EAI提供了面向最終用戶的導(dǎo)入導(dǎo)出工具。能直接進(jìn)行U8數(shù)據(jù)導(dǎo)入導(dǎo)出,支持多種格式,支持條件過濾和增量,支持手工和定時(shí)自動(dòng)導(dǎo)入導(dǎo)出。

U8EAI產(chǎn)品基本結(jié)構(gòu)U8EAI產(chǎn)品結(jié)構(gòu)EAI導(dǎo)入導(dǎo)出工具手動(dòng)導(dǎo)入導(dǎo)出工具XML導(dǎo)入導(dǎo)出EXCEL導(dǎo)入導(dǎo)出其他格式導(dǎo)入導(dǎo)出導(dǎo)入導(dǎo)出設(shè)置條件過濾規(guī)則增量規(guī)則導(dǎo)入導(dǎo)出目標(biāo)地址定時(shí)計(jì)劃導(dǎo)入導(dǎo)出任務(wù)計(jì)劃規(guī)劃設(shè)計(jì)器任務(wù)計(jì)劃執(zhí)行引擎U8ERP數(shù)據(jù)交換業(yè)務(wù)接口基本檔案接口財(cái)務(wù)接口供應(yīng)鏈接口生產(chǎn)制造接口其它接口EAI數(shù)據(jù)交換框架EAI數(shù)據(jù)交換代理服務(wù)--EAIBroker(支持多種協(xié)議)EAI數(shù)據(jù)交換目錄EAI數(shù)據(jù)交換元數(shù)據(jù)數(shù)據(jù)映射規(guī)則EAI日志適配器框架專用適配器EXCELEDI通用適配器(XML)格式和數(shù)據(jù)適配規(guī)則EAI數(shù)據(jù)交換管理器外部系統(tǒng)管理數(shù)據(jù)映射管理適配器管理EAI日志管理解決方案管理U8ERP數(shù)據(jù)交換業(yè)務(wù)接口:U8ERP各業(yè)務(wù)模塊提供的U8EAI數(shù)據(jù)交換接口規(guī)范EAI接口定義本地COM接口

類庫(kù):U8Distribute.DLL ProgID:U8Distribute.iDistribute

方法:StringProcess(StringRequestXml)

參數(shù):RequestXml—數(shù)據(jù)交換請(qǐng)求消息,詳見數(shù)據(jù)交換格式定義。 返回值—數(shù)據(jù)交換Response消息,詳見數(shù)據(jù)交換格式定義。遠(yuǎn)程HTTP接口

EAI遠(yuǎn)程數(shù)據(jù)交換采用XmlHttpPOST的方式。接口為:

POST上傳:數(shù)據(jù)交換請(qǐng)求消息與本地調(diào)用一樣,詳見數(shù)據(jù)交換格式定義。

Response接收:數(shù)據(jù)交換響應(yīng)消息與本地調(diào)用一樣,詳見數(shù)據(jù)交換格式定義。EAI數(shù)據(jù)交換格式 數(shù)據(jù)交換消息總體格式

EAI數(shù)據(jù)交換消息格式分為框架和內(nèi)容兩部分:

<ufinterfacesender=“002”receiver=“u8”roottag=“department”proc=“Add”>—框架部分

<department>…</department>—內(nèi)容部分

</ufinterface>

框架部分

包含數(shù)據(jù)交換的控制信息,其中:

U8EAI數(shù)據(jù)交換接口規(guī)范EAI接口定義U8EAI數(shù)據(jù)交換接口規(guī)范sender:發(fā)送方,填外部系統(tǒng)注冊(cè)碼receiver:接收方,填u8即可roottag:數(shù)據(jù)類型,根據(jù)EAI\XML\Template目錄中的數(shù)據(jù)交換模板文件填寫proc:數(shù)據(jù)交換的操作,分為add/edit/delete/query內(nèi)容部分指消息中攜帶的檔案或單據(jù)等業(yè)務(wù)數(shù)據(jù)。U8EAI提供了一整套完整的基本檔案和單據(jù)的數(shù)據(jù)交換模版(在EAI\XML\Template目錄下),模板中定義了消息內(nèi)容部分的格式和字段。Requset消息格式Request消息格式的框架部分同上所述,內(nèi)容部分根據(jù)不同的操作有所不同:對(duì)于add/edit操作,Request消息的內(nèi)容就是檔案和單據(jù)內(nèi)容,具體格式詳見數(shù)據(jù)模板。對(duì)于delete/query操作,Request消息的內(nèi)容包含過濾條件,條件格式如下:<ufinterfacesender=“002”receiver="u8"roottag=“department”proc=“Query”><department><fielddisplay=“部門編碼"name=“cDepCode"operation="="value=“3"logic=""/></department>

</ufinterface>U8EAI數(shù)據(jù)交換接口規(guī)范U8EAI數(shù)據(jù)交換接口規(guī)范Response消息格式Response消息是EAI接口執(zhí)行Request消息之后的返回結(jié)果,不同的操作有所不同:對(duì)于query操作,

返回的結(jié)果就是查詢的數(shù)據(jù),格式詳見EAI數(shù)據(jù)模板。對(duì)于add/edit/delete操作,返回的結(jié)果包括單據(jù)體每一行數(shù)據(jù)的詳細(xì)執(zhí)行結(jié)果(由Item節(jié)點(diǎn)描述),如下:<ufinterfaceroottag="return"docid="823482692"proc="add"> <!--

key:單據(jù)表體行數(shù)據(jù)的編號(hào),比如:銷售訂單表體的存貨編碼 succeed:成功或失敗號(hào),0為成功,其他值為失敗

dsc: 成功或失敗的文字描述--> <itemkey="001"succeed=“0"dsc=""/> <itemkey="002"succeed=“0"dsc=""/> </ufinterface>憑證的add操作的Response格式比較特殊:<ufinterfaceroottag="voucheraddreturn"docid=""proc="add"><itemaccounting_period="10"voucher_type="記"voucher_id="888"u8voucher_id="1138"entry_id=""succeed="0"dsc="憑證已成功保存"u8accounting_period="10"></item></ufinterface>voucher_id:外部系統(tǒng)原始憑證號(hào);

u8voucher_id:U8生成的憑證號(hào);

succeed: 是否成功,0為成功,非零為失敗;

accounting_period:會(huì)計(jì)期間;

voucher_type:憑證類別U8EAI數(shù)據(jù)交換接口規(guī)范第一步:EAI基本配置第二步:規(guī)劃并準(zhǔn)備數(shù)據(jù)第三步:根據(jù)部署方式選擇EAI接口類型第四步:調(diào)用EAI接口,發(fā)送數(shù)據(jù)第五步:處理返回結(jié)果U8EAI應(yīng)用集成開發(fā)流程第一步:EAI基本配置U8EAI應(yīng)用集成開發(fā)流程第一步:EAI基本配置1、配置EAI連接

“開始”->“程序”-》“用友ERP-U872”-》“企業(yè)應(yīng)用集成(EAI)”-》“U8EAI接口設(shè)置”U8EAI應(yīng)用集成開發(fā)流程第一步:EAI基本配置U8EAI應(yīng)用集成開發(fā)流程2、外部系統(tǒng)注冊(cè)

切換到外部系統(tǒng)注冊(cè)頁(yè)簽進(jìn)行外部系統(tǒng)注冊(cè)。外部系統(tǒng)注冊(cè)的目的是為了建立外部系統(tǒng)與U8帳套的數(shù)據(jù)交換關(guān)系。U8EAI應(yīng)用集成開發(fā)流程2、外部系統(tǒng)注冊(cè)U8EAI應(yīng)用集成開發(fā)流程第二步:規(guī)劃并準(zhǔn)備數(shù)據(jù)1、根據(jù)項(xiàng)目的需求,分析應(yīng)用集成業(yè)務(wù)場(chǎng)景,確定需要與U8進(jìn)行數(shù)據(jù)交換的業(yè)務(wù)環(huán)節(jié)。2、對(duì)于項(xiàng)目中每一個(gè)數(shù)據(jù)交換環(huán)節(jié),確定數(shù)據(jù)來(lái)源,并進(jìn)行數(shù)據(jù)適配,將原始數(shù)據(jù)轉(zhuǎn)換為符合U8EAI標(biāo)準(zhǔn)數(shù)據(jù)交換格式的數(shù)據(jù)(對(duì)于add/edit的數(shù)據(jù)必須符合U8EAI的數(shù)據(jù)模板格式)。3、對(duì)于數(shù)據(jù)交換過程中需要進(jìn)行基本檔案編碼轉(zhuǎn)換的(比如:訂單中存貨的編碼外部系統(tǒng)與U8可能不一致),可以在EAI的數(shù)據(jù)交換配置管理中配置檔案編碼的映射關(guān)系。當(dāng)然,也可以不使用EAI的數(shù)據(jù)映射功能,直接在外部數(shù)據(jù)轉(zhuǎn)換為U8EAI標(biāo)準(zhǔn)格式的代碼中處理。U8EAI應(yīng)用集成開發(fā)流程第二步:規(guī)劃并準(zhǔn)備數(shù)據(jù)U8EAI應(yīng)用集成開發(fā)流程第三步:根據(jù)部署方式選擇EAI接口類型對(duì)于需要與U8服務(wù)器分離部署的應(yīng)用集成項(xiàng)目,應(yīng)該選擇EAI的HTTP遠(yuǎn)程接口。對(duì)于可以和U8服務(wù)器部署在一起的項(xiàng)目,則應(yīng)選擇調(diào)用EAI本地COM接口。U8EAI應(yīng)用集成開發(fā)流程第三步:根據(jù)部署方式選擇EAI接口類型U8EAI應(yīng)用集成開發(fā)第四步:調(diào)用EAI接口,發(fā)送數(shù)據(jù)本地COM調(diào)用

VB代碼:

DimeaiBrokerAsObjectSeteaiBroker=CreateObject(“U8Distribute.iDistribute”)’創(chuàng)建EAI服務(wù)代理接口對(duì)象DimresponseXmlAsStringresponseXml=eaiBroker.Process(requestXml)’調(diào)用EAI服務(wù)代理的數(shù)據(jù)交換方法Process,傳入Request交 換消息,并獲取EAI返回的Response消息。

…..’處理返回結(jié)果

SeteaiBroker=Nothing’釋放EAI服務(wù)代理接口對(duì)象

.Net代碼:

引用U8SOFT\EAI\U8Distribute.dllU8Distribute.iDistributeClasseaiBroker=newU8Distribute.iDistributeClass();//創(chuàng)建EAI服務(wù)代理接口對(duì)象StringresponseXml=eaiBroker.Process(requestXml);//調(diào)用EAI服務(wù)代理的數(shù)據(jù)交換方法Process,傳入Request交換消息 ,并獲取EAI返回的Response消息。......//處理返回結(jié)果System.Runtime.InteropServices.Marshal.FinalReleaseComObject(eaiBroker);//釋放EAI服務(wù)代理接口對(duì)象U8EAI應(yīng)用集成開發(fā)流程第四步:調(diào)用EAI接口,發(fā)送數(shù)據(jù)U8EAI應(yīng)用集成開發(fā)流程

JAVA代碼:

采用JNI、JCOM、JACOB技術(shù)調(diào)用EAI服務(wù)代理COM組件,下面以JACOB為例:

import.Dispatch;import.Variant;classTest{

publicstaticvoidmain(String[]args)

{

DispatcheaiBroker=newDispatch("U8Distribute.iDistribute");//創(chuàng)建EAI服務(wù)代理接口對(duì)象

StringresponseXml=Dispatch.call(eaiBroker,"Process",newVariant(requestXml));//調(diào)用EAI服務(wù)代理的數(shù)據(jù)交換方法Process,傳入Request交換消息,并獲取EAI返回的Response消息。 ......//處理返回結(jié)果

}}U8EAI應(yīng)用集成開發(fā)流程JAVA代碼:U8EAI應(yīng)用集成開發(fā)流程HTTP遠(yuǎn)程調(diào)用

遠(yuǎn)程調(diào)用采用HTTPPOST的方式上傳Request消息。

VB代碼:

DimxmlhttpAsObjectSetxmlhttp=CreateObject(“MSXML2.XMLHTTP”)’創(chuàng)建XMLHTTP對(duì)象Callxmlhttp.open(“POST”,“http://u8appsrv/u8eai/import.asp”,False)‘使用XMLHTTP對(duì)象打開 網(wǎng)絡(luò)連接,URL中的u8appsrv填U8應(yīng)用服務(wù)器xmlhttp.sendrequestXml’發(fā)送Request消息DimresponseXmlAsStringresponseXml=xmlhttp.responseText’獲取返回Response消息…..’處理返回結(jié)果.Net代碼:

引用D:\U8SOFT\Interop\Interop.MSXML2.dll

MSXML2.XMLHTTPClassxmlHttp=newMSXML2.XMLHTTPClass();xmlHttp.open("POST","http://localhost/u8eai/import.asp",false,null,null);xmlHttp.send(dom.OuterXml);StringresponseXml=xmlHttp.responseText;……//處理返回結(jié)果System.Runtime.InteropServices.Marshal.FinalReleaseComObject(xmlHttp);//COM釋放U8EAI應(yīng)用集成開發(fā)流程U8EAI應(yīng)用集成開發(fā)流程U8EAI應(yīng)用集成開發(fā)流程U8EAI應(yīng)用集成開發(fā)流程第五步:處理返回結(jié)果

分析返回結(jié)果,處理返回結(jié)果就是處理Response消息,Response消息格式在“EAI數(shù)據(jù)交換接口規(guī)范”中已經(jīng)詳

細(xì)介紹了。U8EAI應(yīng)用集成開發(fā)流程第五步:處理返回結(jié)果U8EAI應(yīng)用集成開發(fā)流程最佳實(shí)踐活用EAI接口關(guān)于二次開發(fā)中U8接口選擇U8與外部系統(tǒng)集成最佳開發(fā)模式最佳實(shí)踐活用EAI接口活用EAI接口EAI通用SQL查詢接口

由于EAI接口返回的數(shù)據(jù)格式是固定的標(biāo)準(zhǔn)格式,很有可能返回的數(shù)據(jù)中沒有用戶所需要的字段;另外,對(duì)于U8中的業(yè)務(wù)數(shù)據(jù),EAI接口也不是100%覆蓋的。

針對(duì)以上情況,EAI提供了一個(gè)靈活的數(shù)據(jù)查詢通用接口--EAI通用SQL查詢接口,該接口支持向EAI數(shù)據(jù)交換代理傳遞SQL語(yǔ)句進(jìn)行查詢操作,可以查詢當(dāng)前U8帳套的所有數(shù)據(jù),用戶不用直接訪問U8帳套庫(kù)。查詢返回的結(jié)果為.Net中的Dataset的XML格式的數(shù)據(jù)。調(diào)用該接口只需給EAI數(shù)據(jù)交換服務(wù)代理傳遞特殊的Request消息即可:Request消息格式如下: <ufinterfacesender="001"receiver="u8"roottag="SQLEXE"proc="department“codeexchanged="n"> <sqlvalue="select*frominventory"/></ufinterface>

其中內(nèi)容部分<sqlvalue=“”/>節(jié)點(diǎn)為SQL查詢語(yǔ)句。

框架部分的roottag值必須固定為“SQLEXE”,proc的值用來(lái)標(biāo)識(shí)Dataset的行節(jié)點(diǎn),可以是任意字符串。

活用EAI接口EAI通用SQL查詢接口活用EAI接口Response消息格式如下:<ufinterfacesender="u8"receiver="002"roottag="SQLEXE"proc="department"request-roottag="SQLEXE"> <NewDataSet> <department> <cDepCode>1</cDepCode> <bDepEnd>true</bDepEnd> <cDepName>采購(gòu)1部</cDepName> </department> <department> <cDepCode>2</cDepCode> <bDepEnd>true</bDepEnd> <cDepName>銷售1部</cDepName> </department> </NewDataSet></ufinterface>根節(jié)點(diǎn)的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論