選擇構件技術還是加入SOA大潮?不僅IT用戶信息化選型過程中會碰到這樣的問題,就連許多軟件公司也會產生一些類似的疑惑。事實上,選擇構件技術和應用SOA并不矛盾。
構件是一種軟件開發技術,它的基本理念是將軟件開發過程中會重復用到的部分封裝起來,等到有新的同樣的需求時調用。這顯然會大大節省開發成本,縮短開發周期。
SOA是一種表現形式,是通過服務對企業的應用需求進行展現。SOA注重在將已經存在的應用系統進行集成,同時又可以根據標準規范新的應用系統的開發過程,使得企業內部甚至企業之間能夠基于相同的服務框架實現信息和數據的共享與交互。
不難看出,兩者的主要區別則在于,構件是應用開發層面的概念,適用于企業應用的開發,而對于企業現有的應用系統則是用構件封裝或是利用SOA集成。但是,兩者又同時強調能夠滿足企業業務流程不斷變化的應用需求。前者是通過調整系統中構件的組成秩序,重新研發和構建應用流程。SOA則是根據企業業務流程的變化而改變服務的布局和通信模式。
如此看來,兩者又十分相似。如果將構件和服務這兩種被賦予了不同意義的“軟件模塊”進行相同定位,兩種理念甚至可以合二為一。因此,一些專家認為SOA就是定位在應用表現層次的軟件構件化。
中國企業中,絕大多數仍然屬于中小企業范疇,他們最大的特點是成長性,業務流程會不斷變化。這些企業往往還沒有購置太多的IT應用系統,他們應該運用構件技術開發企業應用或購買基于構件技術的應用系統。而考慮到企業的未來,應用系統必須符合SOA相關標準,保證未來企業應用系統間以及與其它企業應用系統的集成與交互。
既然構件技術能夠提升軟件開發的生產率以及軟件的可用性,對軟件企業而言,運用構件技術是勿庸置疑的。根據普元公司的數據統計,在絕大多數應用普元EOS的軟件開發項目中,由于運用了構件技術,即使投入開發者數量減半,開發周期往往也會縮短一半。更重要的是,由于J2EE這樣的比較難以掌握的開發技術會被構件屏蔽起來,軟件開發工作的難度大大降低。至于SOA,如果能夠透徹掌握構件技術,學習這種新的軟件理念也不會很難。
需求是新技術應用的源動力。無論構件還是SOA,都代表著來自不同環境變革需求。但是殊途同歸,構件和SOA在2~3年會趨向融合。在多變的時代,快速響應市場變化的能力掌握著企業未來發展的生殺予奪大權。應用全新架構和開發設計工藝,正是即時之需。
文章來源于領測軟件測試網 http://www.kjueaiud.com/