freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

用友u9-ubf應(yīng)用開發(fā)手冊(cè)-在線瀏覽

2024-12-22 17:37本頁(yè)面
  

【正文】 服務(wù)。 UBF 領(lǐng)域模型語(yǔ)言( DSL) 為了提供對(duì)模型驅(qū)動(dòng)的軟件開發(fā)技術(shù)的有效支持, UBF 臺(tái)提供了一種領(lǐng)域特定語(yǔ)言( DSL),其中包括了業(yè)務(wù)領(lǐng)域語(yǔ)言、表單領(lǐng)域語(yǔ)言、流程領(lǐng)域語(yǔ)言以及報(bào)表領(lǐng)域語(yǔ)言等。通過(guò)多種模型生成的各種相關(guān)的軟件組件在應(yīng)用組 裝語(yǔ)言的支持下實(shí)現(xiàn)動(dòng)態(tài)組裝,從而快速形成一個(gè)完整的應(yīng)用系統(tǒng)。通過(guò)設(shè)置版型,對(duì)實(shí)體進(jìn)行標(biāo)識(shí),從而易于識(shí)別,并可基于版型進(jìn)行分類。 ? 特性 可在不同實(shí)體間復(fù)用的屬性集和版型集;可復(fù)用的屬性集和版型集通過(guò)實(shí)體轉(zhuǎn)存為特性,在維護(hù)實(shí)體屬性和方法的 時(shí)候通過(guò)引用特性引入已保存的特性。 實(shí)體模型 實(shí)體模型用于描述業(yè)務(wù)數(shù)據(jù)的結(jié)構(gòu)和關(guān)系。 其中關(guān)系分為繼承、組合和關(guān)聯(lián)。在一個(gè)實(shí)體組件內(nèi)僅能有一個(gè)主要實(shí)體及其組合的實(shí)體。 實(shí)體 實(shí)體模型用于開發(fā)者定義應(yīng)用的數(shù)據(jù)模型。 實(shí)體分為主實(shí)體和非主實(shí)體,其中只有主實(shí)體才能組合非主實(shí)體,而不能被組合。如果該實(shí)體繼承于其他實(shí)體,還需要指定這種繼承關(guān)系在數(shù)據(jù)庫(kù)上的存儲(chǔ)方式,目前 UBF 僅支持單表繼承 —— 即基類的數(shù)據(jù)也將存儲(chǔ)在具體的實(shí)現(xiàn)類對(duì)應(yīng)得表中。 實(shí)體模型上還有用于通用查詢服務(wù)的標(biāo) 志,如果開發(fā)人員設(shè)置了該標(biāo)志,則通用查詢服務(wù)將可以展現(xiàn)該實(shí)體的數(shù)據(jù)。 實(shí)體的屬性 實(shí)體屬性是關(guān)于實(shí)體中數(shù)據(jù)項(xiàng)的描述模型。 實(shí)體屬性模型中有一組關(guān)于校驗(yàn)的信息用于持久化引擎對(duì)數(shù)據(jù)的合法性進(jìn)行校驗(yàn),如可空標(biāo)志、 只讀標(biāo)志、字符串的長(zhǎng)度以及數(shù)值類型的值范圍等。其中如果聲明為業(yè)務(wù)主鍵則該屬性將成為該實(shí)體的唯一約束的一 部分,只有當(dāng)實(shí)體對(duì)象上所有業(yè)務(wù)主鍵屬性的值組合沒(méi)有重復(fù)時(shí),該實(shí)體 對(duì)象才能成功地增加 。一旦使用不可修改標(biāo)志用于類型為其他實(shí)體 —— 引用關(guān)系,被設(shè)置后表明該實(shí)體對(duì)象所引用的其他實(shí)體對(duì)象將不能被修改。 實(shí)體屬性還可以被指定為計(jì)算列,并能定義計(jì)算表達(dá)式。 關(guān)聯(lián)實(shí)體可見和服務(wù)可見標(biāo)志用于指定 屬性的可見性,只有被設(shè)置的屬性才能被關(guān)聯(lián)實(shí)體訪問(wèn)或作為服務(wù)的參數(shù)。 實(shí)體上可以指定任意數(shù)目的可開發(fā)者設(shè)計(jì)的校驗(yàn)器,以保證業(yè)務(wù)數(shù)據(jù)的合法性。開發(fā)者除了可以指定名稱、顯示名稱和返回值類型等基本屬性外,還可以指定可見性 —— 如 public、 protected 等,以及靜態(tài)、虛方法和重載方法。 實(shí)體的版型 開發(fā)者可以為實(shí)體指定一個(gè)或多個(gè)版型。它可以有屬性 和方法 ,但沒(méi)有校驗(yàn)器。它 的數(shù)據(jù)只能被存儲(chǔ)到使用它的實(shí)體的表中,相當(dāng)于嵌入在實(shí)體中的復(fù)合數(shù)據(jù)。但不能被持久化到數(shù)據(jù)庫(kù)中。通常應(yīng)當(dāng)指定為實(shí)體 Key 類型。 實(shí)體校驗(yàn)器、事件和異常 用于定義實(shí)體的業(yè)務(wù)校驗(yàn)器和業(yè)務(wù)異常信息以及業(yè)務(wù)處 理過(guò)程中發(fā)出的業(yè)務(wù)事件。這包括繼承關(guān)系、組合關(guān)系和關(guān)聯(lián)關(guān)系 。 像數(shù)據(jù)庫(kù)的表設(shè)計(jì)一樣,組合和關(guān)聯(lián)關(guān)系可以定義為一對(duì)多、一對(duì)一、多對(duì)多關(guān)系。 當(dāng)級(jí)聯(lián)刪除標(biāo)志置為 True 時(shí), 表示需要對(duì)關(guān)聯(lián)關(guān)系的被引用實(shí)體在刪除時(shí)做級(jí)聯(lián)刪除檢查,否則不做任何控制。 當(dāng)是否啟用級(jí)聯(lián)校驗(yàn)置為 True 時(shí),如果將要?jiǎng)h除一個(gè)實(shí)體 的實(shí)例時(shí) 時(shí)需要將該關(guān)系上引用 被刪除 實(shí)體的實(shí)體 納入到規(guī)則控制范圍內(nèi) ,否則不 檢查改實(shí)體的實(shí)例是否引用了將要被刪除的實(shí)體 。當(dāng)修改校驗(yàn)被設(shè)置為 true 時(shí), 該 關(guān)聯(lián)關(guān)系的被引用實(shí)體 的實(shí)例 修改時(shí),引用它的實(shí)體將被納入 到引用檢查范圍內(nèi),否則不檢查該類型的實(shí)體實(shí)例是否引用了需要修改的實(shí)體實(shí)例。 服務(wù)模型可以定義服務(wù)和業(yè)務(wù)操作兩種接口,在模型上需要定義參數(shù)、返回值以及可能拋出的異常。當(dāng)一個(gè)服務(wù)接口可以有多種實(shí)現(xiàn)策略時(shí),可以定義多個(gè)策略。 服務(wù)與業(yè)務(wù)操作的差異是與軟件的部署方式和應(yīng)用組件的邊界相關(guān)的。因此當(dāng)開發(fā)人員準(zhǔn)備調(diào)用另外一個(gè)服務(wù)組內(nèi)的組件提供 的功能時(shí),只能通過(guò)聲明為服務(wù)類型的接口調(diào)用,而在服務(wù)組內(nèi)組件間的相互調(diào)用通常使用業(yè)務(wù)操作。 界面模型 界面模型用于描述應(yīng)用的交互界面。 表單數(shù)據(jù)模型 表單數(shù)據(jù)模型( UIModel)用于開發(fā)者定義界面的數(shù)據(jù)模型。 每個(gè)視圖可以關(guān)聯(lián)一個(gè)數(shù)據(jù)來(lái)源 —— 目前我們僅支持實(shí)體作為數(shù)據(jù)來(lái)源, 視圖下包含數(shù)據(jù)項(xiàng)( UIField)以及這些數(shù)據(jù)項(xiàng)的分組( Group)和 缺省的數(shù)據(jù)篩選條件 。 缺省的數(shù)據(jù)篩選條件是開發(fā)者在設(shè)計(jì)階段用 OQL 定義的缺省數(shù)據(jù)加載條件,可以通過(guò)代碼動(dòng)態(tài)的修改。 表單模型 表單模型( Form)用于開發(fā)者定義用戶界面,如顯示內(nèi)容、布局 、前端控制行為等。每個(gè)控件都有數(shù)據(jù)來(lái)源的綁定信息,通常都來(lái)源于表單數(shù)據(jù)模型,特殊 情況下開發(fā)者可以不綁定 UIModel,在代碼中實(shí)現(xiàn)控件內(nèi)容的管理。其中 Form 參數(shù)用于定義表單接收的參數(shù) ,而提供者集合用于定義表單可以提供的參數(shù)。因?yàn)?大多數(shù)參照頁(yè)面無(wú)論是界面風(fēng)格還是表單數(shù)據(jù)模型的結(jié)構(gòu)都具有相似性,唯一定義 的僅僅是表單數(shù)據(jù)模型中視圖所關(guān)聯(lián)的實(shí)體和數(shù)據(jù)項(xiàng)以及過(guò)濾條件,因此 UBF 提供了這個(gè)簡(jiǎn)化版的模型以方便開發(fā)工作。 表單模版 表單模版用于表單模型的重用目的。注意模版套用是一種復(fù)制動(dòng)作,因此對(duì)模版的任何修改都將不會(huì)影響已經(jīng)套用了該模版的表單。 應(yīng)用組裝模型 應(yīng)用組裝模型用于描述應(yīng)用的整體結(jié)構(gòu)。 應(yīng)用模型 用于軟件開發(fā)者以樹狀結(jié)構(gòu)規(guī)劃其開發(fā)的軟件產(chǎn)品。作為支持組件化開發(fā)和交付的平臺(tái), UBF 為軟件開發(fā)者提供了從應(yīng)用功能和客戶價(jià)值角度描述其軟件產(chǎn)品的模型。 頁(yè)面模型 頁(yè)面模型用于定義在 Portal 上顯示的 Page 的信息。條帶的寬度由開發(fā)者指定,不會(huì)因內(nèi)部表單的尺寸而發(fā)生伸縮,但高度不能確定,由所有內(nèi)部表單的高度綜合確定。這樣當(dāng)提供方表單的數(shù)據(jù)發(fā)生變化時(shí)可以引發(fā)接收方產(chǎn)生相應(yīng)得變化。包括上下文管理、配置服務(wù)、 日志服務(wù)、國(guó)際化異常框架、悲觀鎖服務(wù)、 服務(wù)會(huì)話 管理、資源服務(wù)、 Cache 服務(wù)、數(shù)據(jù)庫(kù)連接服務(wù)、數(shù)據(jù)庫(kù)事務(wù) 管理、 OQL 引擎、表達(dá)式引擎、 事件引擎和異步調(diào)度引擎 。 ? 提供統(tǒng)一的線程靜態(tài)變量存儲(chǔ)管理,在離開線程時(shí)負(fù)責(zé)清理。 ? 提供服務(wù)或業(yè)務(wù)操作的上下文環(huán)境,并在其中提供服務(wù)級(jí)的緩存管 理。 UBF 維護(hù)基本且必須的應(yīng)用上下文,包括企業(yè)、組織、登錄用戶、登錄日期、 當(dāng)前語(yǔ)言文化、用戶登錄的會(huì)話標(biāo)識(shí)符。當(dāng)調(diào)用遠(yuǎn)程服務(wù)時(shí), UBF 負(fù)責(zé)將上下文傳遞到遠(yuǎn)端的工作線程上。 悲觀鎖服務(wù) 悲觀鎖服務(wù)提供非等待的并發(fā)控制機(jī)制 —— 即一旦加鎖 不成功將立即返回 。當(dāng)部署為多服務(wù)器集群時(shí),應(yīng)當(dāng)配置使用分布式實(shí)現(xiàn)策略,所有的鎖信息都在數(shù)據(jù)庫(kù)表中管理 。共享鎖允許有多個(gè)所有者同時(shí)鎖定同一個(gè)對(duì)象,以用于防止讀取已經(jīng)過(guò)期的數(shù)據(jù)。 悲觀鎖允許同一所有者對(duì)同一對(duì)象反復(fù)加鎖,當(dāng)然也要進(jìn)行相應(yīng)次數(shù)的解鎖。 事件引擎 事件引擎 用于實(shí)現(xiàn)事件發(fā)布訂閱機(jī)制,以滿足某些業(yè)務(wù)需求。 ? 事件處理器可以指定過(guò)濾條件,僅當(dāng)條件滿足時(shí),事件處理器才會(huì)被調(diào)用。 ? 事件處理器的錯(cuò)誤處理行為可以指定為容錯(cuò)或是立即報(bào)告。 ? 開放的體系結(jié)構(gòu),可以很容易擴(kuò)充基于消息的,分布式的事件系統(tǒng)功能。 ? 標(biāo)準(zhǔn)異步調(diào)用,具有可實(shí)時(shí)查詢狀態(tài),可靠性等功能增強(qiáng)。 ? 靈活的周期性定時(shí)策略,可隨意組合年,月,周,日,小時(shí),分,秒七級(jí)定時(shí)單位。 ? 支持多種可執(zhí)行邏輯的表達(dá),包括委托,指定方法名,定制實(shí)現(xiàn)接口。 國(guó)際化異??蚣? 模型設(shè)計(jì)階段設(shè)計(jì)的業(yè)務(wù)異常,在生成代碼時(shí) UBF 將其生成為符合國(guó)際化異??蚣艿漠惓n悾瑫r(shí)也支持編程方式實(shí)現(xiàn)。 ? 依據(jù)當(dāng)前上下文中語(yǔ)言文化的標(biāo)識(shí)或去相應(yīng)語(yǔ)言的信息 數(shù)據(jù)庫(kù)連接服務(wù) UBF 運(yùn)行平臺(tái)支持多企業(yè)、多組織的應(yīng)用在同一個(gè)應(yīng)用服務(wù)器實(shí)例上運(yùn)行。因此 UBF 的數(shù)據(jù)庫(kù)連接服務(wù)將依據(jù)當(dāng)前上下文中企業(yè)的信息獲取正確的數(shù)據(jù)庫(kù)連接,而不用開發(fā)人員關(guān)注多企業(yè)導(dǎo)致的多數(shù)據(jù)庫(kù)問(wèn)題。 在一個(gè)模型圖中,我們會(huì)設(shè)計(jì)實(shí)體,屬性類 型,枚舉類型,關(guān)聯(lián),繼承,組合,效驗(yàn),異常,事件等等相關(guān)的東西 。這兩個(gè)對(duì)象都提供了一些事件和方法,如 GetValue/SetValue,GetRelation/SetRelation 等用來(lái)對(duì)實(shí)體進(jìn)行較高級(jí)的控制(如弱類型操作)。 CopyTo 對(duì)外提供兩種方法: CopyTo(Entity target),這種方式默認(rèn)是不拷貝 ID CopyTo(IPersistableObject po, bool isCopyKey),這種方式可以由第二個(gè)參數(shù)決定是否要拷貝ID 注意: 目 前 CopyTo 方法只完整實(shí)現(xiàn)了對(duì)基本屬性的拷貝,對(duì)于關(guān)聯(lián)實(shí)體,實(shí)際上是不拷貝的,對(duì)于一對(duì)一或一對(duì)多的情況,會(huì)出現(xiàn)關(guān)聯(lián)對(duì)象也拷貝的假象,實(shí)際上,對(duì)象是懶加載上來(lái)的,對(duì)于一對(duì)多的情況,是空對(duì)象,以后根據(jù)實(shí)際的使用情況,決定是不是要完整實(shí)現(xiàn)關(guān)聯(lián)實(shí)體的拷貝 CopyTo 方法只是將相關(guān)的業(yè)務(wù)數(shù)據(jù)拷貝,不涉及到一些系統(tǒng)的控制屬性,如 SysState,NeedPersistable 等系統(tǒng)的控制字段 ,不涉及到 OriginalData 實(shí)體的 OriginalData 實(shí)體帶有一個(gè) OriginalData 的屬性,保存實(shí)體在數(shù)據(jù) 庫(kù)中的原始值, OriginalData 反映的是實(shí)體在數(shù)據(jù)庫(kù)中的映像,初始值是一個(gè)空的實(shí)體對(duì)象,只有在查詢,新建和修改操作成功后,才會(huì)刷新 OriginalData,保持和數(shù)據(jù)庫(kù)一致,需要詳細(xì)說(shuō)明的是,新建和修改時(shí)刷新OriginalData 的動(dòng)作在基類的 OnInserted 事件和 OnUpdated 事件之后,所以,在生成的 XXX 文件中,如果在后事件中要訪問(wèn)舊值,需要注意前后順序 通過(guò)實(shí)體的 GetChangedAttributes 方法可以 返回變化后的簡(jiǎn)單屬性的集合,注意是簡(jiǎn)單類型,不包括集 合屬性,屬性類型 。 = OldValue。 a = (ID = + )。 (1, ().Count)。 (2, ().Count)。 (2, ().Count)。 (1, ().Count)。 ()。在 session 里面的 CUD 操作會(huì)受持久層控制,而 seesion外實(shí)體是不受控制的,所以,做 CUD 操作要在 session 里面完成,一般建議一個(gè) BP 調(diào)用最好都有一個(gè)大 session 包住,這樣,在里面的操作就 不用多次開 Session,性能會(huì)好些 ? 關(guān)于事物, session 僅僅是一個(gè)持久層邊界,不涉及到事務(wù)等概念,目前 UBF 的事物支持在 AOP 上定義,可以在 BP 上設(shè)置 ? 當(dāng)發(fā)生 session 嵌套的情況時(shí),每次提交都是真正提交 using (ISession session1 = ()){ ... using (ISession session2 = ()){ ... ()。 //提交更改,只處理 Session1的修改更新 } ? 當(dāng)前 ISession 可以通過(guò) Session 的 Current 屬性獲得,每調(diào)用一次 Session 的 Open 方法,Current 屬性都會(huì)被更新 ? 在一個(gè) Session 范圍內(nèi),可以分步提交, using(ISession session1 = ()){ Ass1to1 objA1 = ()。 //提交 objA1 的新建動(dòng)作 Ass1to1 objA2 = ()。//提交 objA2 的新建動(dòng)作 } 對(duì)外接口 ? Create(IEntity entity) 將 entity 對(duì)象的狀態(tài)設(shè)置為 ,并加入到當(dāng)前的session 中 ? Modify(IEntity entity) 將 entity 對(duì)象的狀態(tài)設(shè)置為 . Updated,并加入到當(dāng)前的session 中 ? Remove(IEntity entity) 如果當(dāng)前 session 有這個(gè) entity,且狀態(tài)為 insert,則從當(dāng)前 session 中移出這個(gè)對(duì)象,其他情況下,將 entity 對(duì)象的狀態(tài)設(shè)置為 . Deleted,并加入到當(dāng)前的 session 中 ? InList(IEntity entity) 將 entity 加入到當(dāng)前的 session 中 objA = ()。 using (ISession s = ()) { (objA)。 } ((ID = 39。))。 = 333。 ()。 + + 39。 實(shí)體的操作 增加實(shí)體 ? 簡(jiǎn)單實(shí)體: 模型如下,對(duì)實(shí)體 A 操作 ? 常規(guī)做法: 通常我們新建實(shí)體是要求在 session 里面建立: using (ISession session = ()) { obj = ()。 } ? 特殊做法: 遇到一些特殊情況,需要在 session 外面 new 一個(gè)對(duì)象時(shí)。 using (ISession session = ())
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1