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 ,即可使用啦。