




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上建立業務邏輯的基本流程概述:1、添加數據字典:通過數據庫導入或者加入自定義傳輸數據模型到整個工程的數據字典中;使用IDE進行應用開發時,需要遵循數據字典,每個業務邏輯的輸入輸出數據都是從數據字典中選取出來的,保證了整個開發工程的數據、變量名用詞統一。因此在進行開發之前,需要預先對數據字典進行設計。在業務邏輯開發過程中,也可以隨時為數據字典添加需要的元素。數據字典定義保存為XML文件形式(designFiles/commons/dataDict.xml)。2、添加服務定義:定義公共服務,如JDBCDriverDataSource、SQLDefine、TableDefin
2、e等服務。(定義的服務需要在節點定義中引用到公共節點或應用節點才可以起作用。)3、添加公共節點所使用的服務和應用節點所使用的數據:需要引用步驟2中的服務定義和需要引用步驟1中的數據字典定義,以便在整個工程的業務邏輯中使用;4、編寫業務邏輯構件:l 加入該邏輯業務構件的所需數據定義;l 通過Java類導入或者IDE提供的業務組件編寫業務流程;建立業務邏輯的步驟:1、添加數據字典:在EMP Explorer中,右鍵點擊工程名稱,點擊【項目擴展定義】打開e-Channels EMP 項目設定編輯器,如下圖: 方法一:自定義數據字典。點擊編輯器中的數據字典定義,通過【創建】添加自定義的傳輸數據模型:數
3、據ID需要唯一,數據類別分為dataElement和dataCollection,其中,dataCollecion為dataElement的集合,建立對應的dataElement和dataCollection之后可以右鍵點擊dataCollection,選擇【添加。】下的數據引用選項,添加對應的dataElement到集合中,形成數據集,這樣便于使用。如下圖:方法二:使用數據庫中的對象添加數據字典。在EMP Table View視圖中點擊【project圖標】選擇工程名稱,點擊【connect】,選中所要加入數據字典的對象名,拖拽到EMP Explorer視圖中的數據庫表文件夾中,點擊【ok】
4、確認添加新的數據表模型。之后,雙擊欲添加的表名,在 打開的編輯器中點擊自動注入數據字典即可(注意:此時應該關閉“e-Channels EMP 項目設定編輯器”)。2、添加服務定義:在EMP Explorer中,右鍵點擊業務邏輯下的第一個文件夾,點擊【編輯】,可以打開“業務邏輯分組設定編輯器”,點擊【服務定義】,如下圖:填寫服務ID(注意要唯一)并選擇服務類型,然后點擊【創建向導】,如類型是JDBCDriverDataSource時,如下圖填寫對應內容,點擊【連接】,最后點擊【Finish】如為SQLDefine,可以在填寫服務ID并選擇服務類型后,點擊【創建】,填寫SQL語句,如有input條
5、件用“?”表示,選擇iColl名稱,為數據字典定義的集合,選擇操作類型;在右邊添加input和output(現今版本一定要加入),然后為輸入輸出添加參數,其中序號為第幾個參數,數據域為參數的數據字典名稱(注意和前面填寫的iColl名稱對應),并選擇參數的數據類型,最后點擊【確定】即可,如下圖:3、添加公共節點所使用的服務和應用節點所使用的數據:在“業務邏輯分組設定編輯器”中,點擊【節點定義】,再點擊【公共節點】,最后在“公共節點服務”中點擊【添加】,加入要使用的服務,點擊【確定】即可。如下圖:在“業務邏輯分組設定編輯器”中,點擊【節點定義】,再點擊【應用節點】,最后在“數據引用”中點擊【添加】
6、,加入要使用的數據定義,點擊【確定】即可。如下圖:4、編寫業務邏輯構件:在在EMP Explorer中,右鍵點擊業務邏輯構件所要放的包名,選擇【新建】中的【新增業務邏輯構件】,填寫業務邏輯構件ID,之后點擊【Finish】。如下圖:點擊數據定義,之后點擊【添加】,選擇本邏輯構件中需要使用的數據定義,點擊【確定】即可。如下圖:點擊【邏輯處理流程】,點擊【基本信息】,填寫羅ID和名稱,點擊【添加】,即可在【邏輯流程】中編寫處理流程。如下圖:使用組件編寫處理流程可分為兩種方式:方式一:使用JAVA程序編寫組件在工程的src目錄下的com.sqws.sihitech.service包中建java文件(
7、注意需要繼承com.ecc.emp.flow.EMPAction),Java基礎代碼如下:package com.sqws.sihitech.service;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import javax.sql.DataSource;import com.ecc.emp.core.Context;import com.ecc.emp.core.EMPException;import com.ecc.emp.data.IndexedCollec
8、tion;import com.ecc.emp.data.KeyedCollection;import com.ecc.emp.flow.EMPAction;import com.ecc.emp.jdbc.ConnectionManager;import com.ecc.emp.jdbc.EMPJDBCException;import com.ecc.emp.transaction.EMPTransactionDef;public class OrgIncomeBalanceService extends EMPAction private String dataSourceName = nu
9、ll;private DataSource dataSource;/ 缺省事務為TRX_REQUIRED(全局事務)private int trxType = EMPTransactionDef.TRX_REQUIRED;/* 自定義SQL語句執行模板。* param Context context 交易定義的Context,服務會自動從Context中獲取數據,或更新數據。* throws EMPException EMP異常。* return String 0,正常;2,記錄未找到;-1,異常*/public String execute(Context context) throws E
10、MPException if (dataSourceName != null & dataSourceName.length() != 0)dataSource = (DataSource) context.getService(dataSourceName);if (dataSource = null)throw new EMPException(dataSource named +dataSourceName+is not found in JDBCSQLExecAction:+ this.toString();Connection connection = null;PreparedSt
11、atement ps = null;try connection = ConnectionManager.getConnection(dataSource);/*此處為數據庫處理過程*/return 0; catch (EMPJDBCException je) throw je; catch (Exception e) throw new EMPException(e); finally if (ps != null)try ps.close(); catch (Exception ex) if (connection != null)ConnectionManager.releaseConn
12、ection(dataSource, connection);public void setTransactionType(String value) /全局事務if (TRX_REQUIRED.equals(value)this.trxType = EMPTransactionDef.TRX_REQUIRED;/獨立事務else if (TRX_REQUIRE_NEW.equals(value)this.trxType = EMPTransactionDef.TRX_REQUIRE_NEW;public EMPTransactionDef getTransactionDef() return
13、 new EMPTransactionDef(trxType);/設置數據源名稱public void setDataSource(String dataSourceName) this.dataSourceName = dataSourceName;其中數據輸出有2種方法:方法1:IndexedCollection iColl = null;KeyedCollection kColl = null;iColl = (IndexedCollection) context.getDataElement(analyseDataCollecion);if(iColl != null)kColl =
14、(KeyedCollection) iColl.getDataElement();if(iColl != null)while (rs.next() kColl = (KeyedCollection) kColl.clone();iColl.addDataElement(kColl);String value = rs.getString(1);String value2 = rs.getString(2);kColl.setDataValue(analyseData_Count, value);kColl.setDataValue(analyseData_Name, value2);這種方法
15、的輸出方式與使用EMP定義好的組件輸出結構相同,但必須在數據字典中定義該數據結構,并且在數據結構中引用。方法2:context.addDataField(analyseData,object);這種方法的輸出方式與使用EMP定義好的組件輸出結構不同,可以傳出各種不同對象,輸出比較靈活,而且不必在數據字典中定義該數據結構。完成編碼后在Package Explorer中,右鍵點擊該Java類選擇“Generate Action profile”,之后選中project中的工程名稱,點擊【】,最后點擊【Finish】將該類設置為一個EMP可用組件。如下圖:在邏輯流程中選擇要使用的邏輯定義,在圖版區內將需要使用的組件加入到圖中(注意填寫組件的屬性,自定義Java類中transactionType為事務類型,dataSource為數據源ID,需要在步驟2中定義,步驟3中引用),即可。如下
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業園區規劃與產業升級策略
- 工業排污控制與治理
- 工業旅游景區規劃與環境設計研究
- 工業機器人設計與維護指南
- 工業廢水處理工程驗收案例分享
- 工業機器人技術及其產業發展
- 工業機器人故障診斷與預防技術
- 工業設備故障排查與預防措施
- 工業涂裝生產線的發展趨勢與挑戰
- 工業設計在智能制造中的作用
- 手持砂輪機培訓課件
- 輻射防護復習題及答案
- 2024年上海市中考英語試題和答案
- 安全管理紅線
- 隔爆設施安撤安全操作規程模版(2篇)
- 2025屆高考語文一輪復習:小說閱讀測試卷一(含解析)
- 急性肺栓塞急救與護理
- 妊娠合并乙肝的護理查房
- 吹氣球治療肺部疾病
- DB51-T 2975-2022 氣凝膠復合保溫隔熱材料及系統通.用技術條件
- DB51-T 2987-2022 企業溫室氣體排放管理規范
評論
0/150
提交評論