亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種網絡系統(tǒng)軟件體系框架及其實現方法

文檔序號:6370950閱讀:305來源:國知局
專利名稱:一種網絡系統(tǒng)軟件體系框架及其實現方法
一種網絡系統(tǒng)軟件體系框架及其實現方法
技術領域
本發(fā)明展現了一種網絡系統(tǒng)軟件體系框架及其實現方法,主要用于信息技術IT(InformationTechnology)行業(yè)各種類型的企業(yè)應用網絡系統(tǒng)軟件的快速高效開發(fā)設計,應用領域包括各類物聯(lián)網系統(tǒng)、車聯(lián)網系統(tǒng)、醫(yī)療/交通/安防監(jiān)控系統(tǒng)、智能家居系統(tǒng)、電子商務/政務系統(tǒng)、購物消費/查詢支付系統(tǒng)、金融證券交易系統(tǒng)、企業(yè)/部門管理系統(tǒng)、網絡教育系統(tǒng)、工農業(yè)過程檢測控制系統(tǒng)、航天測控系統(tǒng)、軍事指揮/設備監(jiān)控系統(tǒng)等方面。
背景技術
一般的Web瀏覽器企業(yè)應用網絡軟件系統(tǒng),常常采用業(yè)務數據庫與瀏覽器B/服務器S (Brower/Server)三層軟件架構的形式,雖然易于進行軟件設計和編程實現,但是維護和升級起來十分麻煩,很多時候不得不重新做起來,更別提系統(tǒng)擴展了。這種體系,概念混淆,術語混亂,框架與模式僵化,設計與代碼編制很難理解,數據庫構造工作量大,結構化查·詢語言SQL (Structured Query Language)運用繁瑣,編程工作繁重,軟件制作效率低下,對于小中型企業(yè)系統(tǒng)還勉強湊合,對于中大型企業(yè)系統(tǒng)就根本行不通了?,F代Web瀏覽器企業(yè)網絡軟件系統(tǒng)設計,迫切需要高效、實用、架構簡單、易于實現、編程高度自動化、無關數據庫設計的多層次通用性系統(tǒng)軟件體系。本發(fā)明靈活運用“領域驅動設計DDD (Domain Drive Design) ”的編程思想,合理組合新出現的現代軟件設計工具,通過系統(tǒng)軟件體系架構工具的設計及其快速交互應用,實現了上述現代Web瀏覽器企業(yè)網絡系統(tǒng)軟件設計的迫切需求,能夠迅速使項目軟件設計集中到具體的“業(yè)務行為邏輯實現”和“前端頁面豐富”方面,以軟件自動架構的方式,保證了系統(tǒng)軟件設計的極大簡化高效和運行的最大穩(wěn)定可靠,同時最低化維護成本并最強化系統(tǒng)的可擴展性。

發(fā)明內容I系統(tǒng)軟件體系框架設計根據領域驅動設計DDD的思想,綜合運用新出現的現代軟件設計工具插件,采用分層架構的做法,圍繞具體的業(yè)務邏輯,面向對象進行分析與設計,可以建立如圖I所示的以具體應用邏輯業(yè)務領域為中心的四層基本典型Web瀏覽器企業(yè)應用網絡軟件系統(tǒng)框架懸。四層基本系統(tǒng)軟件層次從上到下依次是表現層、服務層、領域模型層和基礎框架層。表現層(Presentation Layer)主要通過友好的用戶界面UI (User Interface)向用戶展示系統(tǒng)軟件體系必要的數據信息,同時接收用戶的輸入干預反饋。服務層(Service Layer)提供對“領域模型層”業(yè)務的封裝,通過網絡或接口向“表現層”暴露粗粒度的邏輯業(yè)務服務。
領域模型層(Domain Model Layer)主要是展現業(yè)務領域的行為邏輯、業(yè)務處理狀態(tài)以及實現業(yè)務的規(guī)則,同時也包含了領域對象的狀態(tài)信息。領域模型層是整個應用程序的核心部分,它可以包含的概念和內容有實體(Entities)、“值”對象(Value Objects)、領域服務(Domain Services)、倉儲契約 / 接口(Repository Contracts/Interfaces)等?;A框架層(Infrastructure Layer)為“服務層”和“表現層”內的應用程序的數據存取提供服務,它可以是應用程序本身的“持久化訪問”機制,也可以是外部系統(tǒng)提供數據訪問的Web瀏覽服務(Web Service),等。它提供了能被其它各層訪問的通用技術框架,比如異常的捕獲與處理、日志、認證、授權、驗證、跟蹤、監(jiān)視、緩存之一或組合。這些操作通常會橫向散布在應用程序的各個層面,面向方面編程AOP (Aspect Oriented Programming)關注的就是如何在不影響對象本身處理邏輯的基礎上來實現這些橫向的卻又必不可少的功能點。應用實踐中通過具體使用一些流行的攔截(Interception)框架(如MicrosoftUnity> Castle DynamicProxy等)可以方便地實現AOP思想。按照領域驅動設計的思想,領域模型通常建立在服務層中,這樣能夠更好地應對復雜與不斷擴展的大型企業(yè)軟件應用需求,然而實際應用中更多的是繁瑣并不特別復雜的 業(yè)務領域行為邏輯,把“領域模型”獨立一層,既保持了領域驅動設計的“復雜應對與業(yè)務擴展”的優(yōu)勢,又可以加速軟件體系的運行效率。一般說來,對于中小企業(yè)的軟件開發(fā)應用,這四個層次就足夠了 ;對于業(yè)務領域的拓展和中大企業(yè)的軟件開發(fā)應用,還可以對“應用領域內業(yè)務邏輯行為的類型”細化,進一步把“領域模型層”展開為若干個層次,將基本的四層框架擴展N層框架。如此,整個軟件框架模型,能大能小,適應性更強大。此外,還可以在基礎框架層采用“依賴注入IoC(Inversion of Control) ”(通常稱為“控制反轉”)、工作單元(Unit of Work)、緩沖操作(Cache Manager/Process)等軟件技術,使“領域模型層”上連服務接口 /下接倉儲進而通過實體框架(EntityFramework)、Hibernate等通信數據庫,在“服務層”選用窗口通信基礎WCF(WindowsCommunication Foundation)、“服務分層架構”Spring等技術,在“表現層”采用“窗口展現基礎 WPF”(Windows Presentation Foundation)、“快速 Web 應用”Struts II 等技術,更進一步規(guī)范編程,實現軟件框架代碼編制的大部分自動架構,提高軟件的執(zhí)行效率,做到既用數據庫又與數據庫無關,減少人工編程帶來的多數負面影響。選用這種Web瀏覽器企業(yè)應用網絡系統(tǒng)軟件模型,系統(tǒng)軟件項目設計就可以集中到具體的“業(yè)務行為邏輯實現”和“前端頁面豐富”上面了。在此基礎上更進一步,結合ActiveX或者Applet技術,進行“瘦客戶端應用”,“本地化” “服務層”的服務,還可以最大限度地簡化設計、測試、部署及維護等各個環(huán)節(jié)。2新軟件體系科技說明2. I框架模型的技術應用架構的新軟件體系,采用的主要新技術如下I)數據庫動杰牛成技術和ORM框架對于C#_ASP. NET應用,在“基礎框架層”內采用新版的實體框架EntityFramework4. I持久化訪問技術,進行code-first/model-first編程,實現數據庫從代碼生成,大大提升開發(fā)階段數據庫應對業(yè)務的變化能力;對于Java_J2EE應用,在“基礎框架層”內采用類似的Hiberate-Ant-xDoclet持久化訪問技術。同時在“基礎框架層”內采用“目標對象映射ORM”(Object Relational Mapping)框架,隱藏數據訪問的細節(jié),使數據庫交互變得簡單易行,并且完全不用考慮具體的SQL語句應用,從而實現快速開發(fā),避免因SQL操作而引發(fā)的各種人為問題。數據庫動態(tài)生成技術的采用和ORM框架的特點,達到了 實際數據庫因業(yè)務邏輯從代碼自動生成。2)常用程序代碼的自動發(fā)生與實現常用程序代碼段或文件,如簡單靜態(tài)“増/查/改/刪CRUD”用戶界面,可以由具體實際的“領域模型層”通過“表現層”的人機交互界面,及其相應“服務層”的服務,結合一些自動代碼產生工具,快速得到。自動產生簡單靜態(tài)“増/查/改/刪CRUD”用戶界面,對于Java-J2EE 的 Eclipse-SSH/I 開發(fā)應用,可以米用 JunJava、JFrameClass 或 RapidGenerate 等軟件工具;對于C#-ASP. NET的VS-EF/nH開發(fā)應用,則可以采用MVC (Module/View/Control)腳手架軟件工具。常用程序代碼的自動產生與實現,減少了人為錯誤和勞動強度,提高了編程設計的自動化程度。3) 一致的網絡通信服務應用對于C#_ASP. NET應用,服務層采用WCF技術,實現業(yè)務功能的網絡傳輸,為多客戶端應用場合提供統(tǒng)一的服務接口,避免了重復開發(fā),使移動或固定簡易終端、個人計算機終端等能夠連網的客戶端都可以訪問統(tǒng)一的服務地址,實現系統(tǒng)服務的一致性;對于Java-J2EE應用,服務層采用功能強大的“服務分層架構” Spring技術,實現同樣的目的。一致的網絡通信服務應用,達到了 接口統(tǒng)一,服務一致,無重復開發(fā)。4)面向方面編稈AOP應用對于C#_ASP. NET應用,在“基礎框架層”內采用微軟企業(yè)庫的PolicyInjection模塊來實現A0P。對于Java-J2EE應用,在“基礎框架層”內采用集成有AOP功能的Spring技術。AOP和IoC是進行邏輯分離和降低耦合度最主要的方式。AOP技術,剖解封裝的對象內部,將影響多個類的公共行為封裝為一個可重用的模塊,并將其名為“方面(Aspect)”。它把軟件系統(tǒng)分為兩個部分核心關注點和橫向關注點。業(yè)務處理的主要流程是核心關注點,與之關系不大的部分是橫向關注點。橫向關注點,經常發(fā)生在核心關注點的多處,而各處都基本相似。通過AOP技術,實現了諸如日志、事務管理、權限控制等橫向關注點的通用邏輯,可以專注于核心關注點,將精力投入到解決企業(yè)的商業(yè)邏輯上來。同時這些封裝好了的橫向關注點提供的功能可以最大限度地復用于業(yè)務邏輯的各個部分,既不需開發(fā)人員做特殊的編碼,也不會因修改橫向關注點的功能而影響具體的業(yè)務功能。面向方面編程AOP應用,達到了 方面重用,核心明確,使軟件開發(fā)更容易集中到業(yè)務邏輯實現。5)依賴灃入及其實現分層架構的設計,層與層之間是松散耦合的,上層不會具體地依賴于下層,只是依賴于它的一個接口。這樣,上層不能直接實例化下層中的類,而只持有接口 ;接口所指變量最終究竟是哪個類,則由依賴注入機制決定。對于C#-ASP.NET應用,在“基礎框架層”內可以采用微軟的Unity2. 0實現依賴注入,它包括控制反轉IoC、依賴注入DI (DependenceInjection)和攔截技術。對于Java_J2EE應用,在“基礎框架層”內可以采用含有IoC等功能的Spring技術。依賴注入及其實現,達到了 層間松散耦合,只是通過接口聯(lián)系上下層。6)前端頁面的豐富絢麗為使前端網頁界面豐富絢麗,可以在“表現層”采用通用的JSCJava Script)、JQuery、Ajax、DIV(Division)+CSS(Cascading Style Sheet)、AS(Action Script)-Flash等技術實現導航、布局、感覺、視覺、動畫、立體及其人機操作的簡便和快捷。對于C#-ASP.
NET應用,還可以在“表現層”采用功能強大的RIA(Rich Internet Applications)---WPF
或Silverlight技術;對于Java_J2EE應用,還可以在“表現層”采用功能強大的Struts II技術。
前端頁面的豐富絢麗,達到了 導航、布局、感覺、視覺、動畫、立體。2. 2可能的技術應用與替代數據庫訪問部分,采用了“基礎框架層”的ORM框架可以有更多的選擇如C#-ASP.NET應用的nHibernate、Simple. Data等,Java_J2EE應用的iBatis等;中小型企業(yè)軟件的開發(fā),ASP. NET應用也可以使用傳統(tǒng)的ADO. NET,J2EE應也可以使用傳統(tǒng)的JDBC (Java DataBase Connectivity)。網絡訪問部分,C#_ASP. NET應用,“服務層”除了采用較多的規(guī)范WCF技術,還可以根據系統(tǒng)的規(guī)模采用Web Service等其它替代方案;Java_J2EE應用,“服務層”也可使用傳統(tǒng)的 URL (Uniform Resoure Locator)定位、Socket 套接??芍赜媚K部分,如日志、異常及驗證等,ASP. NET應用,“基礎框架層”除了采用“微軟企業(yè)庫”提供的一致功能,也可以為每一模塊采用一些技術框架,如Log4net日志模塊等,甚至自己開發(fā)。IoC/AOP部分也有較多替代方案,C#-ASP. NET應用,“基礎框架層”除了微軟企業(yè)庫 Unity 和 PolicyInjection,也可以使用 Castle ffindsor>Spring. net、Autofac 等技術。Java-J2EE應用的“基礎框架層”相應選項就更多了。新軟件體系架構,還有很強的預留和伸縮空間,可以輕易更換或加入將來出現的眾多的簡便自動工具軟件,實現自身的豐富完善和功能擴展。3新軟件體系優(yōu)勢說明新軟件體系架構,降低了系統(tǒng)開發(fā)的復雜度,在設計、開發(fā)、測試、部署及維護等各個環(huán)節(jié)為應用系統(tǒng)帶來了高可用性、高延展性等正面效應,其巨大優(yōu)勢概括如下I)提高了系統(tǒng)的可測試性多層架構,層與層之間是低耦合的,增加了各層的獨立性,也提高了可測試性,這樣開發(fā)出來的系統(tǒng)更加健壯。2)簡單化了解決方案的維護和管理層內高內聚、層間低耦合的結構,使得系統(tǒng)實現與分層組織方式變得非常靈活方便,維護和管理的直接、高效,顯而易見。3)增加了系統(tǒng)的可移植性企業(yè)軟件開發(fā)中,許多模塊都是可通用的,如日志、異常、緩存、驗證模塊等。通過分層,很容易分離出通用模塊,便于迅速應用到其它的項目,展現了模板化的組織架構。4)數據庫由編碼自動生成軟件框架采用最新的數據庫自動操作技術,并融入ORM機制,實現了從代碼生成數據庫的強大功能,既使開發(fā)測試階段的數據庫也可以很容易地應對業(yè)務的變化,大大提高了開發(fā)效率。
5)能夠對多種類型客戶端提供一致功能服務具體業(yè)務應用領域中有多種終端,如手持移動操控儀、立/掛式操控臺以及個人計算機。軟件架構設計中通過網絡邊界分離服務層和表現層,就可以輕易的使這些不同類型終端,獲取統(tǒng)一的系統(tǒng)功能服務。6)增強系統(tǒng)的可伸縮性借助于分層的優(yōu)勢以及架構中各部分設計的高內聚性,各層自成模塊體系,互相獨立;增刪各個獨立的模塊,不會影響到其它模塊或層的功能,系統(tǒng)的可伸縮性強大。7)實現了編碼自動化,避免了人為因素影響軟件框架采用了眾多的網絡編程新技術,實現了數據庫訪問的封裝,日志、異常捕獲以及AOP攔截等常用功能,減少了重復模塊編碼量,同時也避免了因人為因素導致的性能問題。4趨向于“瘦客戶端”的應用新系統(tǒng)軟件體系架構,以最大限度地簡化設計、測試、部署及維護等各個環(huán)節(jié)為目 的,針對具有本地硬件的操作,趨向采用“瘦客戶端”的架構,將“服務層”的服務“本地化”,即在Web瀏覽器中操作本地硬件。在Web瀏覽器中操作本地硬件,新軟件體系架構,對于C#_ASP. NET的應用可以通過“ActiveX-C/C++驅動”技術實現,對于Java_J2EE/J2ME的應用可以通過“Applet-JNI-C/C++驅動”技術實現。傳統(tǒng)的系統(tǒng)軟件,混合應用B/S和C/S (Client/Server)體系結構,通過C/S體系在現場的客戶機終端上安裝應用軟件來操作本地硬件;開發(fā)設計上需要B/S和C/S兩班人馬,而且需要逐一客戶端進行部署,維護起來也比較麻煩。采用了“瘦客戶端”架構的新系統(tǒng)軟件體系,在Web瀏覽器中操作本地硬件,開發(fā)人員僅需要掌握并應用B/S機制即可,技術上易于精益求精,除了首次客戶端運行時間長些外,沒有部署環(huán)節(jié),維護只需在服務端進行,無需每個客戶端逐一進行,設計、測試、部署及維護等各個開發(fā)環(huán)節(jié)大大簡化了。

圖I為新建的網絡系統(tǒng)軟件體系框架示意框圖。圖2為典型新系統(tǒng)軟件層和層間典型接口構造示意圖。圖3為新系統(tǒng)軟件體系的典型基礎項目樹結構示意圖。圖4為簡易商品交易系統(tǒng)的業(yè)務行為邏輯軟件模塊構造示意圖。圖5為采用VS-EF/MVC工具的系統(tǒng)應用軟件自動構造的示意圖。
具體實施方式新系統(tǒng)軟件體系,結構清晰,層次分明,模塊化規(guī)范,層間接口明了,很容易編程實現,而且易于實現自動軟件體系架構。系統(tǒng)軟件開發(fā)應用,目前主要采用兩種通用的集成開發(fā)環(huán)境# Java-J2EE Eclipse+StrutsII+Spring+Hiberate/iBatis,簡稱 Eclipse-SSH/I ;# C#-ASP. NET :VisualStudio+EntityFramework/nHiberate,簡稱 VS-EF/nH。其中前一種是可以跨操作系統(tǒng)平臺的應用,后一種只能應用在微軟的Windows操作系統(tǒng)環(huán)境。
以SQLServer數據庫為例,建立系統(tǒng)軟件集成開發(fā)環(huán)境的最少主要支撐軟件如下# Java-J2EE :JDK、MyEcl ipse (Eel ipse/SSH)、Tomcat、Ant、Xdoclet、SQLServer2008 C#-ASP. NET .NET4.0、VisualStudio2010SPl、AD0. NET Entity Framework4. I、Unity2. 0/MicrosoftEnterpriseLibrary5. 0、SQLServer2008> ASP. NET MVC3在通用集成開發(fā)環(huán)境下,編程構造新系統(tǒng)軟件體系并實現針對具體的業(yè)務領域應用,其主要環(huán)節(jié)如下I新軟件框架體系的實例化構造的新系統(tǒng)軟件體系框架的具體實現方法,即新軟件框架體系的實例化,主要是典型軟件層和層間典型接口的構造,如圖2所示。 典型軟件層構造的主要工作如下:首先建立抽象類型,主要是涉及領域模型概念的抽象類型或接口,如實體、值對象、倉儲、工作單元、規(guī)約、等;接著建立領域模型根據領域驅動設計的規(guī)范,建立實際的領域模型,包括尋找對應的聚合、聚合根、值對象、等,還有定義相應的聚合根倉儲接口 ;以上兩步建立“領域模型層”后,進而建立“基礎框架層”,主要是實現“持久化訪問”領域模型,大部分情況是數據庫的訪問,通常由“工作單元接口(Unit Of Work)”實現事務式的持久化,同時具體實現上述領域聚合根對應的倉儲接口 ;最后,實現“服務層”,針對業(yè)務行為的用例邏輯,向“表現層”的用戶界面UI (UserInterface)提供粗粒度的功能接口,通常通過調度領域模型來隱藏更細粒度的業(yè)務處理邏輯。軟件層間典型接口構造的主要工作如下: 領域模型層接口,針對對象有實體、值對象、倉儲、工作單元、規(guī)約等; 服務層接口,針對對象有増 / 查 / 改 / 刪 CRUD (Create/Retrieve/Update/Delete)基本操作及其相關的業(yè)務功能; 基礎設施層接口,針對對象有工作單元、領域聚合根倉儲實現。新系統(tǒng)軟件體系框架實例化,涉及的各個軟件層和層間接口,無論是Java_J2EE的Eclipse-SSH/I開發(fā),或是C#-ASP. NET的VS-EF/nH開發(fā),都有規(guī)律可循,其簡便快速實現有以下捷徑 由設計的模板代碼庫中的典型程序段,進行拷貝并做簡單對應更改,即設計成模板代碼供給軟件設計人員拷貝并略加變通使用; 通過設計的含有簡單友好人機交互的軟件體系代碼架構工具快速自動生成,這種方法設計效率高,腦力勞動強度低,人為錯誤少。分別以Java_J2EE 的 Eclipse-SSH/I 和 C#_ASP. NET 的 VS-EF/nH 構造的新系統(tǒng)軟件體系的基礎典型項目樹結構如圖3所示。2業(yè)務行為邏輯的簡易實現業(yè)務行為邏輯的簡單實現過程如下首先在領域模型層添加表達具體業(yè)務行為邏輯的需求,在服務層添加相應的粗粒度邏輯業(yè)務服務,進而通過IoC技術,面向接口編程,實現具體的接口類,連接層與層,將信息返回給“表現層”的用戶界面UI,實現松耦合關聯(lián),做到代碼重構。具體實際的業(yè)務領域的行為邏輯及其服務,無論是Java_J2EE的Eclipse-SSH/I開發(fā),或是C#-ASP. NET的VS-EF/nH開發(fā),都有規(guī)律可循,其的簡便快速實現有以下捷徑 由設計的模板代碼庫中的典型程序段,進行拷貝并做簡單對應更改,即設計成模板代碼供給軟件設計人員拷貝并略加變通使用; 通過設計的含有簡單友好人機交互的軟件體系代碼架構工具快速自動生成,這種方法設計效率高,腦力勞動強度低,人為錯誤少。下面給出一個簡易商品交易系統(tǒng),對其進行業(yè)務邏輯行為分析和具體應用領域層 設計。該系統(tǒng)經過簡化后的業(yè)務邏輯行為是商戶交易流通節(jié)點注冊;交易商品在流通節(jié)點做入場操作,形成“電子臺賬”;交易完成生成交易單,顯示記錄碼,通過查詢記錄碼,實現過程跟蹤。其“領域模型層”的業(yè)務行為邏輯可以概括為交易單實體、流通節(jié)點實體、臺賬實體和商戶實體,進行C#-ASP. NET的VS-EF/nH系統(tǒng)軟件開發(fā),相應的簡要軟件模塊構造如圖4所示。3應用軟件系統(tǒng)的自動構造主要是基本系統(tǒng)軟件體系的構造,包括具體應用數據庫的自動生成和簡單靜態(tài)“増/查/改/刪CRUD”用戶界面的自動產生。對于Java_J2EE的Eclipse-SSH/I開發(fā)應用,自動構造過程如下 使用Hibernate+Ant+Xdoclet,實現hbm配置文件和數據庫從代碼自動生成; 采用JunJava、JFrameClass或RapidGenerate等軟件工具,由代碼生成基本的“增/刪/改/查CRUD”簡易靜態(tài)用戶界面。對于C#-ASP. NET 的 VS-EF/nH 開發(fā)應用,通過基于 Entity Framework 及其 MVC3自動生成 基于EF(Entity Framework)Code First由代碼自動生成數據庫,包括必需的各個數據表及其關聯(lián); 通過MVC (Module/View/Control)腳手架工具由代碼生成基本的“增/刪/改/查CRUD”簡易靜態(tài)用戶界面。針對上述簡易商品交易系統(tǒng),圖5顯示了 VS-EF/nH下通過Entity Framework與MVC3腳手架工具由簡易人機交互窗口操作自動構造系統(tǒng)應用軟件的過程示意,其中左圖是簡易人機交互操作窗口,右圖是產生的對應代碼框架。4增加網頁界面的豐富渲染主要針對主頁面和上述產生的“增/刪/改/查CRUD”簡易靜態(tài)用戶界面,采用通用的 JS、JQuery、Ajax、DIV+CSS、AS-Flash 等技術,修改模板文件(如 C#-ASP. NET 的VS-EF/nH的_Layout. cshtml),更換界面效果,增加用戶體驗,達到導航、布局、感覺、視覺、動畫、立體及其人機操作的簡便和快捷,達到前端網頁界面豐富絢麗,實現盡可能友好而益人的人機交互。 前端網頁界面的豐富絢麗,對于C#-ASP. NET的VS-EF/nH開發(fā)應用,還可以采用功
能強大的RIA---WPF或Silverlight技術;對于Java_J2EE的Eclipse-SSH/I開發(fā)應用,還
可以采用功能強大的“快速Web應用” Struts II技術。
5添加本地硬件操作功能新系統(tǒng)軟件體系,對本地硬件的操作,采用“瘦客戶端”的架構,在Web瀏覽器中實現。在Web瀏覽器中操作本地硬件,對于C#_ASP. NET的應用通過“ActiveX-C/C++驅動”技術實現,對于Java-J2EE/J2ME的應用通過“Applet-JNI-C/C++驅動”技術實現。無論哪種開發(fā)應用,首先是針對相應的操作系統(tǒng),如Windows、Linux等,用C/C++編寫特定硬件設備的驅動程序并進行調試,然后是ActiveX或JNI (Java NativeInterface)封裝及其調試,接下來是ActiveX控件或Applet應用程序的設計和調試,最后是在Web瀏覽器中對此ActiveX控件或Applet應用程序的調用。需要特別注意的是對ActiveX控件或Applet應用程序的權限的開放,開放權限后才可以被順利引用?!?br> 權利要求
1.一種網絡系統(tǒng)軟件體系框架,其特征在于,構造了一個四層基本軟件框架結構表現層、服務層、領域模型層和基礎框架層,其中“領域模型層”是核心層,獨立于服務層外 領域模型層展現業(yè)務領域的行為邏輯、業(yè)務處理狀態(tài)以及實現業(yè)務的規(guī)則,同時含有領域對象的狀態(tài)信息; 表現層通過用戶界面向用戶顯示系統(tǒng)軟件體系的數據信息,同時接收用戶輸入的干預反饋; 服務層提供對“領域模型層”的業(yè)務封裝,并通過網絡或接口向“表現層”暴露粗粒度的邏輯業(yè)務服務; 基礎框架層為“服務層”和“表現層”內應用程序的數據存取提供服務,它是應用程序的“持久化訪問”機制,或者為外部系統(tǒng)提供數據訪問的網絡瀏覽服務。
2.如權利要求I所述的網絡系統(tǒng)軟件體系框架,其特征在于,“領域模型層”因具體業(yè)務領域邏輯行為的需要由一層而擴展為若干層。
3.如權利要求I所述的網絡系統(tǒng)軟件體系框架,其特征在于,“領域模型層”內包括有以下概念和內容實體、值對象、領域服務、倉儲契約或接口。
4.如權利要求I所述的網絡系統(tǒng)軟件體系框架,其特征在于,“基礎框架層”為其它各層的“訪問”提供通用技術框架,所述“訪問”包括異常的捕獲與處理、日志、認證、授權、驗證、跟蹤、監(jiān)視、緩存之一或組合。
5.如權利要求I所述網絡系統(tǒng)軟件體系框架,其特征在于,“基礎框架層”融入有新軟件技術“控制反轉”、“工作單元”、“緩沖操作”,使“領域模型層”連接“服務接口 ”和“倉儲接口”進而通過“實體框架”(Entity Framework)、Hibernate與“數據庫”通信。
6.如權利要求I所述的網絡系統(tǒng)軟件體系框架,其特征在于,“服務層”選用新軟件技術“窗口通信基礎WCF”、服務分層架構Spring。
7.如權利要求I所述的網絡系統(tǒng)軟件體系框架,其特征在于,“表現層”選用新軟件技術“窗口展現基礎WPF”、快速網頁瀏覽應用Struts II。
8.如權利要求I所述的網絡系統(tǒng)軟件體系框架,其特征在于,“基礎框架層”內含有“Enttity Framework”或“Hibernate”持久化訪問技術和“目標對象映射0RM”框架,結合具體的“領域模型層”業(yè)務邏輯行為實現,自動產生實際應用所需的具體數據庫內容。
9.如權利要求I所述的網絡系統(tǒng)軟件體系框架,其特征在于,“領域模型層”通過“表現層”的人機交互界面,及其相應“服務層”的服務,結合“MVC腳手架工具”、“RapidGenerate”軟件代碼生成工具,自動產生基本的“增/刪/改/查CRUD”用戶界面代碼。
10.如權利要求I所述的網絡系統(tǒng)軟件體系框架,其特征在于,“服務層”具有“一致的網絡通信服務”,對于C#-ASP. NET具體應用,通過采用“窗口通信基礎WCF技術”,實現業(yè)務功能的網絡傳輸,為多客戶端應用場合提供統(tǒng)一的服務接口 ;對于Java_J2EE具體應用,采用“服務分層架構Spring技術”。
11.如權利要求I所述的網絡系統(tǒng)軟件體系框架,其特征在于,“基礎框架層”含有“面向方面編程AOP”,對于C#-ASP. NET具體應用,采用微軟企業(yè)庫的Policy Injection模塊實現;對于Java-J2EE具體應用,采用集成有面向方面編程AOP功能的Spring技術實現。
12.如權利要求I所述的網絡系統(tǒng)軟件體系框架,其特征在于,“基礎框架層”含有“依賴注入”技術,對于C#-ASP. NET具體應用,采用微軟的Unity2. 0實現,它包括控制反轉IoC、依賴注入和攔截技術;對于Java_J2EE具體應用,采用含有“控制反轉IoC”功能的Spring技術來實現。
13.如權利要求I所述的網絡系統(tǒng)軟件體系框架,其特征在于,還包括位于“表現層”的前端頁面應用,采用通用的JS、JQuery, Ajax、DIV+CSS、AS-Flash技術,實現導航、布局、感覺、視覺、動畫、立體,進一步“友好”人機界面;對于C#-ASP. NET應用,還采用RIAWPF或Silverlight技術;對于Java_J2EE應用,還采用Struts II技術。
14.如權利要求I所述的網絡系統(tǒng)軟件體系框架,其特征在于,“服務層”的“服務”還包括進行“本地化”處理,通過“瘦客戶端的實現”在網絡瀏覽器中操作本地硬件,具體實現對于C#-ASP. NET應用,采用“ActiveX-C/C++驅動”技術;對于Java_J2EE/J2ME應用,采用“Applet-JNI-C/C++ 驅動”技術。
15.一種如權利要求I至14的任一項網絡系統(tǒng)軟件體系框架的實現方法,其特征在于,具有如下主要典型軟件層的構造 首先,建立涉及領域模型概念的抽象類型或接口,如實體、值對象、倉儲、工作單元、規(guī)約; 籲接著,根據領域驅動設計的規(guī)范,建立實際的領域模型,包括尋找對應的聚合、聚合根、值對象,定義相應的聚合根倉儲接口 ; 以上兩步建立“領域模型層”后,進而建立“基礎框架層”,實現“持久化訪問”領域模型,包括數據庫的訪問,通常由“工作單元接口 ”實現事務式的持久化,同時具體實現上述領域聚合根對應的倉儲接口; 最后,實現“服務層”,針對業(yè)務行為的用例邏輯,向“表現層”的用戶界面提供粗粒度的功能接口,通常通過調度領域模型來隱藏更細粒度的業(yè)務處理邏輯。
16.一種如權利要求15的網絡系統(tǒng)軟件體系框架的實現方法,其特征在于,具有如下主要典型軟件層間接口的構造“領域模型層”接口的針對對象實體、值對象、倉儲、工作單元、規(guī)約;“服務層”接口的針對對象増/查/改/刪CRUD基本操作及其相關的業(yè)務功能;“基礎設施層”的針對對象工作單元、領域聚合根倉儲實現。
17.—種如權利要求15的網絡系統(tǒng)軟件體系框架的實現方法,其特征在于,“系統(tǒng)軟件體系框架的各個軟件層及其層間接口 ”與“具體實際的業(yè)務領域的行為邏輯及其服務”的實現有以下方法 提供由設計的模板代碼庫中的典型程序段,進行拷貝并做簡單對應更改; 通過設計的含有簡單友好人機交互的軟件體系代碼架構工具自動生成。
18.—種如權利要求15的網絡系統(tǒng)軟件體系框架的實現方法,其特征在于,自動構造如下的基本系統(tǒng)軟件體系 籲對于 Java_J2EE 的 Eclipse-SSH/I 開發(fā)應用,使用 Hibernate+Ant+Xdoclet 實現hbm配置文件和數據庫從代碼自動生成,采用JunJava、JFrameClass或RapidGenerate軟件工具,由代碼生成基本的“增/刪/改/查CRUD”靜態(tài)用戶界面;對于C#-ASP. NET的VS-EF/nH應用,基于EF Code First由代碼自動生成數據庫,包括各個數據表及其關聯(lián);通過MVC腳手架工具由代碼生成基本的“增/刪/改/查CRUD”靜態(tài)用戶界面。
全文摘要
本發(fā)明提供一種網絡系統(tǒng)軟件體系框架,包括領域模型層展現業(yè)務領域的行為邏輯、業(yè)務處理狀態(tài)以及實現業(yè)務的規(guī)則;表現層向用戶顯示數據信息,接收干預反饋;服務層封裝“領域模型層”業(yè)務,通過網絡或接口向“表現層”暴露粗粒度的邏輯業(yè)務服務;基礎框架層為“服務層”和“表現層”應用程序的數據存取提供服務。本發(fā)明還提供所述框架的實現方法。通過“領域驅動設計”思想的運用和新軟件設計技術的組合,本發(fā)明把系統(tǒng)軟件設計直接集中到“業(yè)務行為邏輯實現”和“前端頁面豐富”方面,加之“軟件體系及其代碼自動發(fā)生”手段,為企業(yè)應用系統(tǒng)軟件的開發(fā)設計提供簡便快速高效化。
文檔編號G06F9/44GK102750145SQ201210182668
公開日2012年10月24日 申請日期2012年6月5日 優(yōu)先權日2012年6月5日
發(fā)明者怯肇乾 申請人:怯肇乾
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1