簡介
企業核心物件,也稱企業核心對象,是一個適用於域驅動設計(DDD)的軟體框架,旨在通過利用對象關係映射(ORM)等設施來保持域對象,UML模型,從而提高生產力。用於以UML表示法定義的行為控制的域類和可執行狀態機。ECO框架旨在成為企業開發的一體化解決方案,包括記憶體中事務和撤銷 / 重做功能以及與UI層的輕鬆綁定。ECO聯合ORM具有即時代碼生成的框架和UML建模工具以及用於簡化記憶體和資料庫查詢,業務規則和其他有用工具的OCL表達式評估程式。企業核心物件用於快速套用開發的嶄新的模型驅動的運行時平台,它被包含在delphi8--bds2006中。ECO框架提供了多數應用程式需要的服務功能,比如:延續、快取、對象間關係管理,簽署和事務等,同時還更多高級服務功能,比如:撤消/重做和對象複製。所有這些功能只要在模型被配置了就可以被使用,從而使系統更加容易維護。選擇ECO做套用開發可以極大提高開發速度。開發者不再需要花費時間去創建和維關係資料庫結構,管理類和對象關係和轉換架構圖為可執行的原始碼。ECO甚至能使資料庫結構隨模型同步發展,從而大大節省了開發時間。
模型驅動架構
統一建模語言 (UML)標準在建模方面的實際價值已經得到了業界的認可,常常作為元模型語言來設計模型。本世紀初的時候,在 UML 建模語言正在被廣大套用者所接受的同時,對象管理組織(OMG)也發布了一種全新的軟體開發框架—模型驅動架構(Model Driven Architecture,MDA)。它的優越之處在於,在整個軟體系統開發的過程中一切行為由模型來驅動,將系統中的功能和實現更細化的分開,在這裡 UML 不僅僅像以前在設計需求中作為設計語言而出現,更多的是以開發程式語言來進行工作,更加嚴格的區分系統的功能規約與實現細節。
平台無關模型(PIM)與具體的實現技術沒有關係,只是針對系統業務模型架構的進一步抽象;它將關注點放在業務問題上,抽象且精確,更容易理解和驗證;而平台相關模型(PSM)則是要看使用什麼具體的技術來實現的,是跟平台相關。對於 MDA 的實現,先是根據業務確定到底要抽象出什麼樣的平台模型,然後按照一定的模型轉換進行定製相應的規則。
由於大型企業進行軟體開發的時候逐漸的套用 MDA 架構模式,因為對於一個大型軟體實施的是否成功,很大程度上不是決定的看程式設計師編寫的代碼質量如何,而是更多的看需求設計人員在業務邏輯的抽取上建模的檔次如何。這樣將平台抽取到更到的高度,至於使用什麼技術來實現,就顯得不是那么重要了,這樣我們要做的更多功能是對整個系統業務的邏輯功能性。 在對軟體具體的進行實現前更多的要做系統功能的需求分析於設計。隨著計算機軟體和硬體技術的高速發展給軟體產品的開發也帶來了強有力的拉動。基於 MDA 模型開發的軟體產品比以往的軟體有著更強的可移值性和用戶、程式設計師等與計算機之間的互操作性,在日後的維護和管理方面都讓人們期盼下一個美好前景的出現。
ECO 是 Borland/Code Gear 第一個在業界中流行的開放性開發平台,是一門合格的軟體開發過程方法。結合 BDS 的 Together(用於建模的工具)進行各種.Net 套用系統的開發,不僅可以減少學習成本,降低學習曲線,而且使開發人員避免在瑣碎的細節中浪費時間,能集中精力於業務邏輯的設計。
基礎
同以往傳統的開發模式來比,面向對象的開發模式更能適應複雜的業務特別是在大型企業系統中,但由於數據量大、業務邏輯墨跡複雜等問題的存在,緊隨誕生的新的開發框架 MDA 則更能有效的解決這些問題,提供較好的系統性能。而開發的軟體產品已經基本和採用什麼樣的技術沒有太大的關聯,包括對數據源,各大型資料庫都已提供統一的數據源進行互動,所以在移植性上的性能沒的說。要實現的功能,同具體技術,跟資料庫平台都已解耦,對於日後的兼容、維護管理都方便的多,相對應的缺點是對開發人員要求的知識面比較廣。
在對於一個成熟面向對象資料庫開發框架有以下的要求:
•對象持續性:在整個系統中,對於數據的操作,一切資料庫中的表都對應現實中的實體,支持複雜對象、包括多對象之間複雜的聯繫如:母子表、單表等;
•支持對象查詢:有著標準的語言對所需要查詢的數據,滿足的數據全部查詢出來;
•支持對象主鍵:對應大型資料庫中的主鍵,在框架中也要有業務主鍵,對應的每一條數據都有個對應標識來標識證明這個對象的確定性;
•支持事務:在大型系統中很有可能一個操作要進行很長的時間,那就需要必須保證業務的原子性,就是一件事要么做成功,如果中途有失敗的地方,就完全回滾到當初要做的那個點,相當什麼都不做。保證最後的結果一致性;
•支持 XML:平台支持元素據和模板的使用,更方便對日後的維護和移值性,常用的對象模型都用 XML 模板來表達;
•性能最佳化:一個平台系統是否能成功上線一個關鍵的因素就是它的性能執行效率,如果想讓大眾所接受,性能的保證是首要話題;
•支持多種套用:在保證正常單軌運行的前提下,也應該留下接口為程式的可擴容性打下基礎,這裡包括 C/S 的開發、桌面程式的開發等等; 資料庫及數據存取 API 無關性:在底層換資料庫平台的時候,用戶和套用開發人員是感覺不到的,直接在結構底層做平滑的轉化,保證平滑的移植;
ECO 就是基於 MDA 的一項技術,由 Borland 公司用來開發企業級的軟體。其中包含了當前很多高端的技術在內,針對上述的特點,它都包括了,並且留下了大量接口可以讓人在接著開發新應用程式來對其進行擴展。在資料庫的移值方面,也結合著效率問題而行動的,在 WEB、中間層都很有很高的效率,讓開發者不必擔心複雜的多執行緒和對象池等問題。