第一部分:OA架構設計
OA融合當前先進的管理理念和開發技術,采用主流的MVC架構和基于SOA體系建立三層魔方式結構,能輕松實現跨平臺、跨數據庫、跨架構、多語言任意使用,擁有魔方般的靈活性,無論是自己開發的還是采購的各種系統,啟航協同OA都能讓用戶輕松構建起一個數據共享、流程同步的綜合性信息化辦公平臺。
啟航協同OA魔方式架構
OA系統是一個魔方式架構,這個魔方由多個插接在一起的小方塊組成,這些小方塊能夠根據需求靈活地轉動,最終達到一個理想的、有序的位置。 “魔方”概念也是啟航協同辦公隨需應變戰略的一個具體表現。啟航魔方式架構的核心有二個,一是基于MVC架構,一是基于SOA體系。
1、采用MVC(Model-View-Controller)架構
MVC 結構是傳統三層結構的另外一種描述。MVC每個字母代表不同的含義,M模型(Model)、 V視圖( View )、 C控制器(Control)。換句話說,M代表著數據的存儲(數據庫),V代表著最終的用戶頁面,而C代表著業務的邏輯。
MVC將數據和業務規則從表示層分開,可最大化的重用代碼。而且模型返回的數據沒有進行格式化,因此同樣的構件能被不同界面使用。模型是自包含的,并且與控制器和視圖相分離,很容易改變應用程序的數據層和業務規則。如果你想數據庫從MySQL移植到Oracle,或者改變基于RDBMS數據源到LDAP,只需改變模型即可。而且,只要正確的實現了模型,不管你的數據來自數據庫或是LDAP服務器,視圖都會正確的顯示它們。另外, MVC應用程序的三個部件相互對立,改變其中一個并不會影響其它兩個,依據這種設計思想能構造良好的耦合構件。
MVC的優點不是體現在產品的功能上,而是讓軟件的結構變得更加合理,更方便修改。如果你想改動一個頁面,只需改動一下頁面與控制層的關聯關系,而不需要改動任何程序。
啟航對MVC架構的具體應用
第一、在數據層,可通過中間件進行溝通。這樣不需要書寫任何一行代碼,通過簡單的類與數據庫表的映射實現數據庫表的增刪改。整個程序中沒有一條SQL語句,不修改代碼就可實現自動切換到各種數據庫類型。(如MySQL/SQLSERVER/ORACLE)
第二、通過標簽定義實現與業務層的連接。在HTML頁面中,沒有一行程序代碼,只有標簽定義。如果頁面需要變更,只須更改標簽與業務層的連接關系。
第三、內部通過獨立的子工程管理,這樣既能保證各個子工程的系統獨立性,又能確保對系統的整體管理。第四、通過頁面與程序的分離,實現了多語言和多風格的不同展示系統。
2、采用SOA(Service-Oriented Architecture)面向服務架構
SOA,是一個很抽象的技術術語,也是當前最領先的技術架構之一,IBM也在重點推廣SOA架構。SOA,簡單的說就是以WEB為基礎,為每個應用提供相關的接口,類似于原來的API。這樣,系統以外的其他系統,不需要了解程序內部的具體釋放方式,就可以調用相關系統功能。
例如:以短信收發的接口http://www.???.com/sendsms?phonenumber=?? &content=???,如果該短信服務器提供這樣類似的接口,那么第三方軟件,就可以很方便地與之進行短信的發送。而一套復雜的系統,通常會提供成千上萬個類似的接口,外面系統可通過這些接口,在一定的規范內與原系統進行交互。
啟航對外提供二種接口類型:
第一種接口是BEAN型的,這是最初始的。通過他的類包和相關的類包定義,使其他的JAVA系統可以與該系統進行通迅。
第二種接口是WebService型的。其他系統通過啟航提供的Webservice接口,可實現調用OA系統的部分或整體的功能,而無需知曉OA內部系統的細節。例如,啟航的OA小助手本身沒有任何數據存儲,是一個瘦客戶端,不能進行數據庫的讀寫。但通過調用OA系統的接口,可實現與OA系統的交互。與JAVA 類包方式的接口不同,WebService接口不僅可以被JAVA程序調用,也可以被VB/Delphi/PB等幾乎所有的編程語言所調用。不僅在B/S使用,還可以被C/S程序所調用,這大大增強了程序的可擴展性。整個軟件基于WebService體系開發,是SOA的核心內容,這也是啟航能夠很好的以SOA作為架構的基礎。
魔方式架構優勢
從開發角度和應用角度來看,啟航協同辦公的魔方式架構更具優勢。它結合了MVC架構和SOA體系各自的優勢,大大提高了系統模塊的復用性、安全性和可擴展性。降低了開發的難度和開發周期,并有效的降低維護費用,使程序的調用變得更加方便和簡單。
從軟件使用者的角度來看,這種基于MVC和SOA的魔方式架構,可以讓軟件更易擴展,持續能力更強,更節省對未來預期的軟件投入,并可以與其他系統進行有效的數據整合,真正實現了企業應用軟件的“隨需而動”。