2005/09/21

Processing Rules實作(一)

案例
  我有一台webMethods Server上面運行EDI也有一段時間了,我當時也購買了五個 webMethods Partner 的License ,想說可以給我的 Partner 使用,不過最近我其它在國外的子公司也想導入,但我的 Partner License 只能連總公司,那我要怎麼做比較好。
  在不久前我有聽過有”類似”這一方面的需求,雖然我不知道這是不是大部份的公司所面臨到的問題,不過 webMethods 的 Processing Rules 應該可以符合這個需求,實作起來還蠻簡單的,以下我就舉一個案例來做簡單的步驟說明,若有不當的,還請多指教囉!
  情境:
  我的公司名稱為 Julian Company ,另有有二間子公司各為 Julian UB1Julian UB2 ,他們的客戶 Customer1 在以前傳送 Invoice 都是經由傳真的方式給我的子公司,但現在想利用 EDI 的方式來傳送,選擇的標準為 EDIFACT 版本為 96B ,訊息名稱是 INVOIC ,所以我將以 Julian Company 做為公司的 Hub ,然後依據資料內容傳送給不同的子公司 UB1UB2
  方法:
  1. Install TN Document Type
    進到 http://localhost:5555/WmEDI/ 的畫面,然後到 Doc Exchange 的 Install TN Document type ,在右側處選擇 Standard 為UN/EDIFACT 、 Version 為 96B 、 Transaction Set 為 INVOIC ,


    選完後,請按 "Add Document Type Definition to Trading Network" 。這個時候就能在 TN Console 中 Document Type 看到 UNEDIFACT 96B 的 Document 。


  2. 撰寫 Route EDI 的 service
     當我們收到 EDI 資料時,分辨出他的 Receiver 後,接下來就是轉傳給他的真正的 Receiver 而不是 HUB ,所以我們必需要寫一個簡單的 service 來做一個轉傳的動作。除此之外,在我們收到 EDI 當時, TN Console 上的 Transaction 中的 User Status 會顯示為 "IGNORED" ,在這一個 case 裡,我希望當他轉傳成功能,能變為 "DONE" ,這一個 server 的簡易寫法如下:


(可 下載 此service範例)


  3. 訂定 Route EDI 的 Processing Rule
     訂定這一個 Processing Rule 的目的是為了將收到的 EDI 交由我們剛剛所設定的 Service 處理,此設定如下:
    i. 打開 TN Console 並到 Processing Rules ,選擇 Last Tab 並按 "Above" , Processing Rule 的 Name 設定為 "EDI Processing Rule" 。


    ii. 在 Criteria Tab 中設定 Sender Name 為 "Customer1" , Document Type 為 "UNEDIFACT Envelop" ,於 Action Tab 中設定 Execute a service ,並選擇我們剛剛所撰寫的 Service 。

此 Processing Rule 就算是設定完成。(此 Processing Rule 可 下載


  4. 進行測試
     將我們要測試的EDI資料透由http://server:port/WmEDI 傳到 http://server:port/invoke/wm.tn/receive 即可。
     注意:請用二台機器做對傳,若僅有一台機器 Processing Rules 會出現 Loop 狀況。

2005/09/12

EDI Modeler Design實例運用(一)

前言

大部份的人除了公司有拿 webMethods 來做 EAI 的事項外,其餘的應該很少有用到 Modeler 功能,我以一個目前實際的例子來引導出 Modeler Implementation 的概念,不過, Modeler 的用法跟目的,是見人見智啦,在這邊只是用一個簡單的例子來說明而已,所以不要太介意或太在乎我的做法,畢竟每個人的想法不一樣,所以做出來的東西也不一樣,就像寫程式一樣,一個九九乘法表的程式,每個人寫出來的,也不盡相同。
範例:一個 Inbound EDI 的流程,當我收到一個 EDI 的檔案時,進行資料驗證後,將資料傳送到資料庫中,若其中的過程有問題,則必需要做 Error Handle ,並且發生 Email 通知相關人員。
這個範例,其實也可以經驗 Processing Rules 來完成,反而簡單又快速,不過,我以 Modeler 的方式,是為了能運用 Modeler 用法,並且能使用 Monitor ,來方便管理及監控我的 Process 。其步驟如下:
  1. 繪製 EDI Inbound Process
注意到,左右這二塊是跟中間這一塊的顏色不一樣,而且連接的線,是以虛線來表示,跟其它的實線不一樣,其原因在於左右這二塊是屬於External Group,External Group中的Step不會程生於程式當中,純粹只是流程的表示而已,最重要的是我們中間白色的這一塊,這是webMethods實際運作流程。
注意:藍色跟紅色線的差別是在於Step處理的結果,若此Step處理失敗則會走紅色路線,若成功則走藍色路線,只要設定Line的Properties即可。

  2. 當有 Join Step 的時候,必需要設定 Join 的條件

流程中的 Handle Error Step ,有三條 Line 都指定此 Step ,此時我們必需設定 Join Type ,否則在 Process Validate 的時候,會發生無法驗證的錯誤。


  3. 設定 Folder 以及 Package 的位置
雖然當我們的流程產生出來後, Modeler 會自動幫我們產生 Folder 以及 Package ,但為了管理方便,我們也可以自行指定我們要產生的 Package Name 以及 Folder Name ,只需要在 Properties 中設定即可。

  4. 定義被啟動的文件及條件
  幾乎每一個 Modeler 都是被一個 Document 所啟動的,也就是說,若我們所畫的 Modeler ,是要被啟動的一個 Process ,那們我們就得設定他所等待的 Document ,以及此文件所等待的條件,在此範例中,我的條件是設定此份的 EDI 的 User Status 及 Sender ,當符合我所設定的條件時,就會啟動此流程。


  5. 選擇要Invoke的Service

在開發這一個 Modeler 之前,我已經開發完所相對應的 Service 了,所以接下來,我只需要指定我所開發出來的 Service 即可。不過有的人是習慣先畫完流程再寫 Service ,我想這應該沒有一定的規則吧,應該是看每個人的開發邏輯跟方式而定。







  6. 驗證、產生、上傳流程
整個Modeler算是開發完畢,接下來只需要幾個按紐即可搞定,這其中包括:
Validate Business Process:驗證一下我畫出來的圖是否正確,如果有不對的,他會有Error Message產生,再依照所指定的錯誤去更改就好了。
Generate Business Process:產生你的 Business Process ,產生完畢後,你可以用 Developer 去看看有沒有什麼變化,這時,你應該會看到會產生一個 Package 出來,而這個 Package 的名稱,應該是你之前所指定的名稱。
Update Model for Monitoring:當你完成後,你就會在你的 Monitor 的管理畫面看到這一個 Model 的名字啦, Monitor 的管理畫面在哪呢?打開你的瀏灠器,並在網址列打上 webMethods 的位置及 Port Number 後面再加上 /WmMonitor/ 即可。
最後別忘了,把這一個 Model 給 Enable ,即可使用啦。

2005/08/29

我們提供 B2Bi & EAI 解決方案

在多變的競爭環境,整合企業內部系統以達到跨部門跨組織並整合上下游供應商,組成完整的供應鏈,已是企業已不可獲缺。讓企業提昇競爭力及客戶服務,使企業提高獲利速度。




企業目前所面臨 IT 平台整合的困境


繁亂無章的系統要進行整合

今天企業內部面臨龐大企業整合的壓力,各系統之 間不僅僅只是做單純的資料交換而已,更需要有整 合的統一標準、細緻的流程控管並且更有彈性的變 化來因應各種不同的需求及變更。
一個看似簡單的 系統整合,卻要橫跨三個以上不同 的系統,以傳統的做法,可能是以資料庫整合的模 式,來整合各個不同的系統,但此種模式並非合適 的方式,那我們遇到整合性的問題,該如何來解決?在此webMethods提供一個良好的整合解決方案。
webMethods (NASDAQ: WEBM)
webMethods為美國一間上市公司,所提供的Solution為解決公司內部系統整合及外部B2B整合的解決方案供應商,其Solution名稱與公司稱webMethods同名,所服務的客戶含蓋全球,包括知名的AT&T、SONY、Panasnic、3M、台積電、聯電等等世界名大廠,其Solution能輕易且快速的整合企業各種不同平台系統及經由RosettaNet、ebXML或是EDI的方式整合企業供應商系統,以達到水平及垂直性的供鏈管理。(其公司網站為http://www.webMethods.com
webMethods 所提供的整合機制
webMethods提供一整合性服務平台來整合個各系統
企業內部,擁有不同的應用系統、不同的應用系統上又有不同的Function,以及外部不同的Partner,webMethods以服務為導向,將整合層次往上提昇,不只做資料庫的整合,更做功能性的整合,整合各個不同應用軟體上的功能,以達到真正的EAI。
webMethods所提供的Adapter
若企業今天要做B2Bi,webMethods有:RosettaNet Adapter、EDI Adapter、ebXML Adapter
若企業今天要連接不同的資料庫,webMethods可支援:Oracle、IBM DB2、Sybase、Informix、Microsoft SQL Server
若企業今天要整合不同的ERP,webMethods提供了:SAP Adapter、Oracle Applications Adapter、Broadvision
若企業內部有CRM系統需要連接,webMethods有:Siebel Adapter、Peoplesoft Adapter
webMethods提供商業流程管理介面來建置企業的商業流程

利用 webMethods 的 BPM(Business Process Management),經由簡單的托、拉、放的方式,

及簡易的設定,即可設計一個複雜的商業

流程。而當一個流程被啟動時,webMethods的BAM(Business Activity Monitoring),可及時知道目前此流程的狀態,並且即時產生動態報表。
webMethods提供多種應用管理媒介
企業可以利用PDA、電腦以及手機方式來操作你的webMethods整合系統。
安捷達提供整合的經驗
各種不同平台的開發經驗

企業內部所要整合的系統不僅複雜,並且各系統的開發方式不盡相同,但安捷達不管是在Portal Management 、On-line Applicatoin 以及Application Integration等等,都擁有許多的系統開發經驗。


充份的技術資源

安捷達著力於亞洲的IT市場,擁有豐富的IT資源,各分據點不僅相互支援並且緊密的合作,不管是在香港、上海或是新加坡,我們都有充份的IT經驗,是可以值得信賴的顧問公司。


台灣安捷達更擁有C + M + T的能力
   C : Creative
   M : Marketing
   T : Technology
安捷達除了提供Technology外,並且提供了Creative能力,由這次第六屆金手獎,安捷達更是獲得許多專家的肯定,安捷達在這次盛會中,共入圍了二十二項,並獲得了三銀二銅三佳作的獎項。然而有了美化的網頁,並不足稱上一個好的網站,因此在Marketing部份,安捷達更是提供了許多良好的企劃來協助網站及企業的經營,安捷達能將C + M + T的能力緊密的結合並且提供給客戶。
Julian Chou 周金龍
http://www.agenda-asia.com
Technical Consultant of eSolutoin
Division AGENDA Taiwan
WORK: +886-2-2396-7773
FAX : +886-2-2396-7926
MAIL: Julian.Chou@AGENDA-asia.com
GSM : +886-922-639894
MSN : julianchou71@hotmail.com