企業級應用的概念和特點
1企業級應用概念
企業級應用是指那些為商業組織、大型企業而建立的解決方案及應用程式。這些人大型的企業級應用具有使用者數多、資料量大、事務密集等特點,往往能夠滿足未來業務需要的變化,易於升級和維護。
一個好的企業級應用體系結構,通常來自優秀的解決方案,同時自應用程式設計的開始就要考慮其體系結構的合理性、靈活性、健壯性,從而既能滿足企業級應用的複雜需求也能為今後系統的調整和升級留有餘地。這樣處理實際上是延長整個應用的生命週期,增強了使用者在多變的商業社會中的適應性,減少了系統維護的開銷和難度,從而給使用者帶來最大的利益。
2企業級應用的特點
企業級應用通常具有如下特點。
(1)資料持久化(Persistent data )
(2)海量資料的儲存。一般來說,企業級應用包含的資料量是巨大的。一箇中型的系統就會包含超過1GB的資料量一一被組織成上千萬條記錄。管理這些資料就成為這個系統的主要部分。較早的系統使用索引檔案結構像IBM
(3)資料的併發訪問。多使用者併發地存取資料是企業級應用的常見情況。對很多系統來說,使用人員可能不到百人,但是對於基於Internet的Web系統來說,使用者的遞增速率是幾何級的。這麼多的使用者,確保他們都能從系統中正常地訪問資料就是一個非常重要的問題。但即使沒有那麼多使用者,也要保證兩個人不會在同一時刻對同一個資料進行存取。使用者數量過多帶來的沉重壓力,通過事務管理工具來處理僅僅只能解決一部分。
(4)大量的使用者圖形介面。為了應付日益龐大的資料量,大量的UI介面被投入使用,所以即使出現成百上千個截然不同的介面也並不稀奇。普通使用者與專業使用者的習慣差異很大,他們很少有技術層面的專長。為了滿足不同的需求,資料的表現形式也是千差萬別的。
(5)需要和其它應用整合。企業級應用並不是資訊孤島,它們經常需要和遍佈在企業角落的其它企業級應用整合在一起。這些系統通常是在不同的時期,採用不同的技術建成的,甚至協作的機制也各不相同,如可能是COBOL資料檔案、CORBA、訊息系統等。企業會盡力將其不同的系統通過一個通用的通訊技術整合起來,但是即使這樣也很難圓滿地完成任務,所以企業會同時使用幾套不同的整合方案。
(6)資料概念不統一。即使統一了整合的技術,也經常會碰到千差萬別的業務處理方式和不統一的資料概念等問題。企業的一個部門可能會認為:顧客是一個和公司擁有正式協議的人;另一個部門會把那些曾經簽訂過合同的那些人也算上,雖然現在己經解除了;還有一個部門會把產品銷售算進去,服務銷售排除在外。乍聽上去可能會感覺這很簡單,很好解決,但是當成百上千條記錄,在每個領域都有截然不同的意思時,問題的艱鉅程度不能不說是個嚴峻的挑戰,即便公司裡有人能夠區分不同領域不同的意思。結果資料不得不被經常讀取,按照各種各樣的不同的語法或語義格式記錄下來。
(7)複雜的業務邏輯。業務邏輯是由企業根據自身的需要制定的業務規則決定的。有時候規則會很隨意,看上去似乎沒有任何的邏輯。企業往往有自己特定的需求,特殊的情況。這些層出不窮的特例導致了業務的複雜性,無邏輯性,使得商業軟體的開發十分困難。
3企業級應用面臨的新挑戰和解決之道
根據以上對分散式計算、企業級應用和他們相互關係的分析可以看出,隨著Internet的發展,上述傳統的分散式計算技術暴露出很多問題,已經不能滿足供應鏈背景下的企業級應用的需要。無論使DCOM、RMI還是.Net Remoting都使用自身而非業界標準的基於二進位制程式碼的協議來實現機器間的整合,使得跨平臺的應用程式在資料共享方面的能力相當有限。具體講:
1、無論是DOOM, CORBA,RMI還是.Net Remoting,在跨Internet方面都存在著嚴重的缺陷:不能利用現有的Internet協議順利穿過防火牆,必須使用各自對套接字的封裝機制程式設計,這導致了功能和安全性失衡的缺陷。
2、DOOM, CORBA,RMI和.Net Remoting都只能限於自己的平臺,相互使用不同的工作機制和二進位制資料標準,直接的資料交換是不可能的。如果供應鏈上的各個系統使用不同的平臺,那麼必須藉助其他的技術才能實現整合。這意味著協作程度的降低和成本的增高。
3、DOOM, CORBA,RMI和.Net Remoting技術無法貫徹面向服務的、以客戶為中心的協作原則。在供應鏈上,每個組織都是其他組織的客戶。合作的企業希望相互能夠貫徹全方位服務客戶的理念,元件級的整合呼叫、但又保持足夠的獨立性、適當的成本,成為新的重要需求。
基於Internet、面向服務、提供元件級的呼叫、跨平臺的需要,促使了新一代基於Internet的面向服務的分散式物件技術——Web服務技術的產生。