国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于云端的面向構(gòu)件開(kāi)發(fā)的企業(yè)軟件架構(gòu)

2018-12-13 07:02季定業(yè)華為軟件技術(shù)有限公司
數(shù)碼世界 2018年11期
關(guān)鍵詞:云端代碼組件

季定業(yè) 華為軟件技術(shù)有限公司

1 引言

軟件產(chǎn)業(yè)經(jīng)過(guò)多年的發(fā)展,與各行業(yè)的融合逐漸深入,傳統(tǒng)制造業(yè)和服務(wù)業(yè)的信息化程度日益提高,但一個(gè)個(gè)獨(dú)立的“信息孤島”卻也逐漸成為企業(yè)的負(fù)擔(dān),企業(yè)IT部門(mén)的投資比例逐年上升,但是對(duì)企業(yè)核心競(jìng)爭(zhēng)力的提升和經(jīng)營(yíng)目標(biāo)的貢獻(xiàn)卻未能達(dá)到預(yù)期。

2 基本開(kāi)發(fā)流程

圖1為云構(gòu)件平臺(tái)的開(kāi)發(fā)流程;與傳統(tǒng)的開(kāi)發(fā)模式相似,以傳統(tǒng)的軟件定制模式為切入點(diǎn),使用數(shù)據(jù)庫(kù)驅(qū)動(dòng)為主,但它并不依賴如Eclipse、IDEA這樣開(kāi)發(fā)工具,它的載體是瀏覽器;它是具備面向構(gòu)件模式(具有高可重用性的特性)和云端部署(有效地體現(xiàn)共享模式和實(shí)時(shí)發(fā)布)。

3 具體方案設(shè)計(jì)

3.1 面向構(gòu)件開(kāi)發(fā)

(1)構(gòu)件的實(shí)現(xiàn)構(gòu)件是整個(gè)架構(gòu)的主要部分,是一種把代碼包裝成一個(gè)個(gè)粒度極少的組件,每個(gè)組件會(huì)完成一個(gè)微少的功能,不同組件的組合,就可以完成一個(gè)完整的業(yè)務(wù)功能,然后又可以被重新使用,轉(zhuǎn)化為一個(gè)更大粒度的組件;因此它具有高的可重用性;構(gòu)件主要有三種表現(xiàn)形式,分別是預(yù)編譯的構(gòu)件、動(dòng)態(tài)編譯的構(gòu)件,還有兩者混合組成的構(gòu)件。

圖一 云構(gòu)件平臺(tái)的開(kāi)發(fā)過(guò)程圖

①預(yù)編譯的構(gòu)件就是指預(yù)先編譯好的代碼(下面以Java為例,編譯后會(huì)產(chǎn)生class文件),其本質(zhì)上是一個(gè)函數(shù),有標(biāo)準(zhǔn)的入口和出口參數(shù),如下代碼:

這是一個(gè)簡(jiǎn)單Java函數(shù),功能是把兩個(gè)字符串合成一個(gè)字符串;象這類(lèi)函數(shù),我們編譯好class文件后,傳統(tǒng)的開(kāi)發(fā)模式是放到開(kāi)發(fā)環(huán)意下就能直接使用;但在云模式中,我們要像在開(kāi)發(fā)環(huán)境一樣地使用它,就得先讓使用者知道它放在哪里和怎么使用,因此需要預(yù)先登記這個(gè)函數(shù)的信息,并保存進(jìn)容器中(如數(shù)據(jù)庫(kù)),如圖2。

圖二 Java函數(shù)信息

被成功登記并發(fā)布后就會(huì)形成我們所說(shuō)的構(gòu)件;通過(guò)上述的配置,使用者就能夠通過(guò)代碼(上圖中為join)在云端找到這個(gè)函數(shù),并在自已的設(shè)計(jì)業(yè)務(wù)中使用,而云端也能夠獲取使用這個(gè)構(gòu)件的方法,并且可以利用Java反射機(jī)制設(shè)置它的入?yún)?,?zhí)行它,得到回參。

②動(dòng)態(tài)編譯工件預(yù)編譯組件有一定的局限性,依賴于用戶開(kāi)發(fā)環(huán)境進(jìn)行編譯,最終打包到平臺(tái)上使用,嚴(yán)格來(lái)說(shuō)這種方式并不是真正開(kāi)發(fā)的云模型所使用的,這個(gè)功能就是這個(gè)一種組件更適合一些經(jīng)常不修改的,如電子郵件,短信和刪除操作的數(shù)據(jù)表等。

同樣地,我們需要保存這些代碼進(jìn)容器中(如數(shù)據(jù)庫(kù)),并通過(guò)代碼(上圖中為join)在云端找到這個(gè)函數(shù)并使用,而云端也能夠獲取使用這個(gè)構(gòu)件的代碼體,并選擇適當(dāng)?shù)囊鎴?zhí)行它。

③兩者混合組成的構(gòu)件

既指預(yù)編譯組件又動(dòng)態(tài)編譯組件,為了更合理地利用云平臺(tái)中的資源,應(yīng)該允許不同類(lèi)型組件的組合恢復(fù),這個(gè)組件是一種重用現(xiàn)成的和歷史資源,軟件企業(yè)的重要表現(xiàn)之一經(jīng)歷了一段時(shí)間,由于許多不同的原因留下了大量的歷史資源,這些資源可能是一個(gè)功能包,一些功能等;而且這種資源具有很大的應(yīng)用價(jià)值,使用應(yīng)用程序的組件,組成組件,不僅可以重用現(xiàn)有資源,而且資源更抽象,形成一個(gè)通用組件,它與這兩個(gè)組件的使用過(guò)程是相似的,還有一個(gè)獨(dú)特的代碼,可以通過(guò)云查看和運(yùn)行。

(2)性能優(yōu)化

通過(guò)第一點(diǎn)對(duì)構(gòu)件的實(shí)現(xiàn)描述不難發(fā)現(xiàn),構(gòu)件基本上運(yùn)作在反射機(jī)制和動(dòng)態(tài)編譯的環(huán)境下,這會(huì)給運(yùn)行環(huán)境帶來(lái)極大的資源損耗,使性能是急速下降;為此我們需要為云構(gòu)件平臺(tái)考慮緩存機(jī)制。

由于使用Java反射機(jī)制,相比正常的類(lèi)調(diào)用,性能會(huì)下降很多,例如當(dāng)lass會(huì)被調(diào)用時(shí)會(huì)用Class.for Name進(jìn)行加載,而Class.forName方法的調(diào)用會(huì)執(zhí)行Class類(lèi)文件在整個(gè)類(lèi)路徑下的搜索,頻繁調(diào)用比較影響性能,同樣地還有對(duì)方法的執(zhí)行等,那么這類(lèi)操作,我們需要使用緩存機(jī)制、靜態(tài)集合或者緩存中間件en cache等都是一個(gè)不錯(cuò)的選擇;如下代碼片段:

圖三 代碼片段

3.2 云端部署與資源共享

云端開(kāi)發(fā)與部署云端是一個(gè)很好的軟件聚合平臺(tái),它能提供一系列的強(qiáng)大的服務(wù),包括代碼的編譯、版本的管理、模塊功能的導(dǎo)出、安裝、部署、以及軟件授權(quán)與發(fā)布等;在云端上進(jìn)行開(kāi)發(fā),我們不需要額外安裝第三方的開(kāi)發(fā)環(huán)境,只需要準(zhǔn)備一個(gè)瀏覽器就可以進(jìn)入開(kāi)發(fā)工作。云端上的應(yīng)用開(kāi)發(fā)一般是實(shí)時(shí)進(jìn)行的,基于SaaS的即見(jiàn)即所得的應(yīng)用服務(wù),而這些應(yīng)用中包含構(gòu)件、業(yè)務(wù)模塊、UI界面等;被開(kāi)發(fā)出來(lái)的應(yīng)用,經(jīng)過(guò)云端平臺(tái)提供的授權(quán)配置,可以供應(yīng)給第三方使用。

3.3 更多的應(yīng)用價(jià)值

在過(guò)去的項(xiàng)目實(shí)施中,往往都有這樣的場(chǎng)景,是新成員加入的發(fā)展過(guò)程,還是有些成員暫時(shí)分配其他項(xiàng)目團(tuán)隊(duì),新成員,這種情況接管人員必須了解 當(dāng)前項(xiàng)目來(lái)自相關(guān)文檔和代碼關(guān)系中的邏輯,這將導(dǎo)致研究并了解時(shí)間的損失,以及成本和浪費(fèi)。

4 結(jié)語(yǔ)

在國(guó)家宏觀背景下一批業(yè)績(jī)優(yōu)異的高新科技企業(yè)紛紛走上并購(gòu)和整合之路,企業(yè)的并購(gòu)和整合必然會(huì)發(fā)生兩個(gè)企業(yè)產(chǎn)品線不統(tǒng)一的情況,在基礎(chǔ)設(shè)施和應(yīng)用架構(gòu)上都存在不同程度的沖突和異構(gòu)設(shè)計(jì),這時(shí)就需要站在企業(yè)高層和全局的視角,重新梳理和整合企業(yè)架構(gòu)。

猜你喜歡
云端代碼組件
四海心連·云端匯聚
無(wú)人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
Kistler全新的Kitimer2.0系統(tǒng)組件:使安全氣囊和安全帶測(cè)試更加可靠和高效
3月光伏組件出口量增長(zhǎng)164.6%至7.49GW!單價(jià)創(chuàng)新低
一種嵌入式軟件組件更新方法的研究與實(shí)現(xiàn)
在云端永生
云端之城
神秘的代碼
一周機(jī)構(gòu)凈增(減)倉(cāng)股前20名
一行代碼玩完19億元衛(wèi)星