本方案用提供Delphi7與.NET程式的協同開發, .NET程式開發服務端, Delphi7客戶端。客戶端只需實作界面、用戶輸入操作
及錯誤顯示(提示),其他操作(包括對客戶端資料集或者單條記錄的校驗都是發回到服務端進行的)都在服務端完成。服務端
支持部署在Web服務器(IIS, Webservice)或者獨立服務器(可作為Windows程式獨立運行或者Windows服務運行,TCP協議)。
"友一分銷管理系統"是基于該框架實作的,詳見"POS管理用戶手冊.doc",初始設定見"Readme.doc"。
一 .NET(C#)服務組件說明
.NET(C#)服務組件開發基于DotNetFrame4.0, 服務端集成Castle實作對AOP的支持。只要在專案中參考BuleCommon.dll程式集,
類(Class)繼承于BuleCommon.BuEntity.BuEntityObj, 并且在類和方法前指定[BuleCommon.BuEntity.BuEntityAttribute()]
特性, 實作Bule_EntityRegClass : IBule_EntityRegClass注冊類完成服務組件注冊即可。
服務組件類框架:
using BuleCommon;
using BuleCommon.BuEntity;
namespace BuJxcData
{
[BuEntity()] //使客戶端能獲取該服務組件(class)
public class BuIOBillValidate : BuEntityObj
{
[BuEntity(BuEntityMethod.bemValidate)] //使客戶端能獲取該服務組件單記錄校驗方法
public virtual bool Buf_CallCalcFields(ref BuleEntityCall EntityData, ref BuRecordSet RecordSet)
{
}
[BuEntity(BuEntityMethod.bemValidates)]//使客戶端能獲取該服務組件多記錄校驗方法
public virtual bool Buf_RefreshPriceList(ref BuleEntityCall EntityData, ref DataSet ds)
{
}
}
[BuEntity()] //使客戶端能獲取該服務組件(class)
public class BuCustomers : BuEntityObj
{
[BuEntity(BuEntityMethod.bemGetName)]//使客戶端能獲取該服務組件根據代碼獲取資訊方法
public BuRecordSet Buf_GetCustData(ref BuleEntityCall EntityData)
{
}
}
[BuEntity()]//使客戶端能獲取該服務組件(class)
public class BuStockCgInBill : BuEntityObj
{
[BuEntity(BuEntityMethod.bemOpen)]//使客戶端能獲取該服務組件打開方法
public virtual DataSet Buf_OpenBillData(ref BuleEntityCall EntityData)
{
}
[BuEntity(BuEntityMethod.bemSave)]//使客戶端能獲取該服務組件保存方法
override public bool Buf_SaveBillData(ref BuleEntityCall EntityData, ref DataSet ds)
{
}
[BuEntity(BuEntityMethod.bemAudit)]//使客戶端能獲取該服務組件審核方法
public bool Buf_SaveCgInAuditBill(ref BuleEntityCall EntityData, ref DataSet ds)
{
}
}
}
二. Bule VCL組件說明
1.Bu_ClientObj
用于提供模塊注冊資訊(模塊名稱,子系統編號,模塊編號等)及訪問服務器的方法(通過Bu_DataAccess,Bu_ClientUser實作),
設計時不能獲取服務器資訊。
2.Bu_Connection
用于提供到服務器的連接,主要用于對后面組件提供設計支持。
3.Bu_EntityUpdate
用于提供資料更新操作,支持多資料集(多表)同時更新,資料一次從服務器取回,修改完后一發回服務器更新,具體如何獲取資料
或者更新資料由.Net程式在服務器上完成。組件提供三種操作:打開(Buf_OpenEntityData),保存(Buf_SaveEntityData),
審核(Buf_AuditEntityData)完成資料更新。該組件提供設計支持,設定好服務器連接后,可以從服務器選擇完成資料更新的
.Net程式集、服務器組件、打開方法、保存開方法、審核開方法,執行相應的操作時組件就會呼叫對應.Net程式集完成指定的
操作,資料格式用XML封裝,支持設計時測驗操作。
4.Bu_EntityQuery
用于提供資料查詢操作,該組件提供設計支持,設定好服務器連接后,可以從服務器選擇完成資料查詢的.Net程式集、服務器組件、
查詢方法,執行查詢操作時組件就會呼叫對應.Net程式集完成查詢操作,資料格式用XML封裝,支持設計時測驗操作。
5.Bu_RecordValidate
用于提供對單條記錄的校驗操作,該組件提供設計支持,設定好服務器連接后,可以從服務器選擇完成資料校驗的.Net程式集、
服務器組件、校驗方法,執行校驗操作時組件就會將單條記錄資料發回到服務端呼叫對應.Net程式集完成校驗,然后回傳校驗
好的記錄,再根據回傳記錄更新客戶端記錄,資料格式用JSON封裝,支持設計時測驗操作。
6.Bu_RecordSetValidate
用于提供對資料集(多記錄)的校驗操作,該組件提供設計支持,設定好服務器連接后,可以從服務器選擇完成資料更新的.Net程式集、
服務器組件、校驗方法,執行校驗操作時組件就會將資料集(多記錄)發回到服務端呼叫對應.Net程式集完成校驗,然后回傳校驗
好的資料集(多記錄),再根據回傳資料集更新客戶端資料集,資料格式用XML封裝,支持設計時測驗操作。
7.Bu_EntityGetName
用于提供根據代碼獲取資訊的操作,該組件提供設計支持,設定好服務器連接后,可以從服務器選擇完成獲取資訊的.Net程式集、
服務器組件、校驗方法,執行校驗操作時組件就會將代碼發回到服務端呼叫對應.Net程式集完成獲取資訊,然后回傳獲取資訊記錄,
再根據回傳記錄更新客戶端記錄,資料格式用JSON封裝,支持設計時測驗操作。
http://download.csdn.net/detail/hz_bule/4972876
uj5u.com熱心網友回復:
我的client/webserver也是前端delphi,后臺web應用服務程式(delphi寫的isapi或任何asp/php/jsp/c#/...)
uj5u.com熱心網友回復:
--- client/webserver 是通過XML檔案格式互動?
uj5u.com熱心網友回復:
通過ini(它的分析開銷遠低于xml和json)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/148999.html
標籤:數據庫相關
