BEA AquaLogic DSP (Data Services Platform) 是 SOA 架構中「資料存取層」的關鍵中介,負責整合異構資料源、提供統一 XML/關聯視圖並發布為服務。本文以 MySQL 為後端,手把手示範從安裝配置到建立邏輯資料服務的完整流程。
VLS 及三張表:emailTemplate、emailTemplatePack、emailTemplateBridge (多對多橋接)WL_HOME/server/lib 並加入 commEnv.cmd 的 WEBLOGIC_CLASSPATHVLS,自動產生 dataservices 專案EmailTemplateDS (物理資料服務)、Model (邏輯模型)DS → Import Source Metadatacom.mysql.jdbc.Driver,URL 格式 jdbc:mysql://:3306/VLS emailTemplate.ds、emailTemplatePack.ds、emailTemplateBridge.dsModel 資料夾新增 Model Diagram (EmailTemplate.md),拖入三個 DS 觀察關聯emailTemplateList.xsdemailtemplatelist 包含 emailTemplatePackID、emailTemplatePackName、巢狀 EmailTemplateList/emailTemplate* (含 ID、TriggerName、SendMode、Subject、Text、DaysThreshold、CC/BCC Address)emailTemplateList.ds → 新增函數 getEmailTemplatePack()emailTemplatePack()、emailTemplate()、emailTemplateBridge()emailTemplatePack.emailTemplatePackID = emailTemplateBridge.emailTemplatePackIDemailTemplateBridge.emailTemplateID = emailTemplate.emailTemplateIDdeclare namespace ns15="ld:EmailTemplate/emailtemplatepack";
declare namespace ns17="ld:EmailTemplate/emailtemplatebridge";
declare namespace ns16="ld:EmailTemplate/emailtemplate";
import schema namespace ns11="ld:EmailTemplate/emailtemplatelist" at "ld:EmailTemplate/schemas/emailtemplatelist.xsd";
declare function ns14:getEmailTemplatePack() as element(ns11:emailtemplatelist)*
{
for $pack in ns15:emailtemplatepack()
return
{fn:data($pack/emailTemplatePackID)}
{fn:data($pack/emailTemplatePackName)}
{
for $bridge in ns17:emailtemplatebridge()
where $pack/emailTemplatePackID = $bridge/emailTemplatePackID
for $tmpl in ns16:emailtemplate()
where $bridge/emailTemplateID = $tmpl/emailTemplateID
return
{fn:data($tmpl/emailTemplateID)}
{fn:data($tmpl/emailTemplateTriggerName)}
{fn:data($tmpl/emailTemplateSendMode)}
{fn:data($tmpl/emailTemplateSubject)}
{fn:data($tmpl/emailTemplateText)}
{fn:data($tmpl/emailTemplateDaysThreshold)}
{fn:data($tmpl/emailTemplateCCAddress)}
{fn:data($tmpl/emailTemplateBCCAddress)}
}
};
emailTemplatePack 依橋接表聚合其所有 emailTemplate,輸出符合 XSD 的 XML完成此 Demo,你已掌握 DSP 核心開發流程,可進一步探索快取、更新圖、安全性等進階特性。