999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

二次開發(fā)平臺的基礎(chǔ)探究

2013-04-27 03:32:30張娟萍
關(guān)鍵詞:二次開發(fā)程序服務(wù)

□張娟萍

(山西交通職業(yè)技術(shù)學(xué)院,山西 太原 030031)

隨著軟件開發(fā)行業(yè)的不斷發(fā)展,越來越多的企業(yè)利用計算機來管理企業(yè)的日常經(jīng)營、生產(chǎn)和銷售等活動,要是讓每個企業(yè)都去開發(fā)新的軟件系統(tǒng)不是很現(xiàn)實,但如果能夠在一個已有的軟件開發(fā)框架下增加上自己企業(yè)特別的管理功能模塊就相當(dāng)理想了,這就為二次開發(fā)平臺提供了廣闊的運用空間。二次開發(fā)平臺是指在某個已有的開發(fā)體系架構(gòu)下對一個基于此開發(fā)框架開發(fā)的應(yīng)用軟件進(jìn)行功能擴充的平臺。二次開發(fā)平臺的產(chǎn)生和發(fā)展都有其必然性和歷史性,一個良好的應(yīng)用軟件系統(tǒng)必然有一個與之對應(yīng)的二次開發(fā)平臺。正是基于此,針對二次開發(fā)平臺的理論和技術(shù)的相關(guān)問題進(jìn)行了分析與討論。

一、二次開發(fā)平臺的理論基礎(chǔ)

1.敏捷信息系統(tǒng)。敏捷信息系統(tǒng)(Agile Information System)是一種由計算機(包括網(wǎng)絡(luò))、人和管理規(guī)則集成的信息化系統(tǒng)。該系統(tǒng)是為組織或企業(yè)的作業(yè)、管理和決策提供有用的信息支持。它利用的是手工規(guī)程,計算機的軟硬件,數(shù)據(jù)模型和數(shù)據(jù)庫,其中數(shù)據(jù)模型和數(shù)據(jù)庫用于分析、計劃、控制和決策。

隨著經(jīng)濟的發(fā)展和計算機技術(shù)的廣泛應(yīng)用,越來越多的企業(yè)期望利用計算機來管理企業(yè)日常經(jīng)營、生產(chǎn)、銷售活動,以此提高企業(yè)的競爭力。但這并不意味著企業(yè)采用了信息管理系統(tǒng)其競爭力及生存狀況就一定能得到提高。

敏捷信息系統(tǒng)是隨著市場全球化而產(chǎn)生,隨著企業(yè)之間競爭的激烈而發(fā)展。敏捷信息系統(tǒng)的產(chǎn)生和發(fā)展的過程和現(xiàn)代管理理論的發(fā)展是相對應(yīng)的,所以,敏捷信息系統(tǒng)基本呈扁平的網(wǎng)狀結(jié)構(gòu),形成自主管理、分布式、講究輕薄和柔性的分布式、多元化、網(wǎng)絡(luò)化的體系結(jié)構(gòu)。

敏捷信息系統(tǒng)具備的特征:能夠信息集成和輔助決策;有標(biāo)準(zhǔn)的信息交換接口,能實現(xiàn)無縫傳遞信息;能夠推翻原有的設(shè)計模式和實現(xiàn)方法,具備敏捷性系統(tǒng)的可重構(gòu)、可重用和可擴展性;能夠根據(jù)不同的要求和管理功能進(jìn)行重組;能夠隨“任務(wù)”的開始而誕生,隨“任務(wù)”的結(jié)束而自行解體,因此具有時效性。

2.面向服務(wù)的體系結(jié)構(gòu)。近來比較流行的一種架構(gòu)技術(shù)是面向服務(wù)的體系結(jié)構(gòu)和思想。面向服務(wù)的體系結(jié)構(gòu)是一個組件模型,它將應(yīng)用程序的不同功能單元通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。體系結(jié)構(gòu)需要硬件平臺、操作系統(tǒng)和編程語言來實現(xiàn)服務(wù),而接口是獨立于它們的,因為它是采用中立的方式定義的。這便能達(dá)到所構(gòu)建的軟件和其他軟件之間互相通信的目的。

面向服務(wù)的體系結(jié)構(gòu)為二次開發(fā)的實現(xiàn)提供了一種方法,此方法是以構(gòu)建系統(tǒng)的元素形式存在的,主要分為功能元素和服務(wù)質(zhì)量元素兩大類,就組成面向服務(wù)的體系結(jié)構(gòu)的元素而言,其為實現(xiàn)二次開發(fā)從功能與質(zhì)量方面均提供了有力保證。

面向服務(wù)體系的三種角色分別是:服務(wù)提供者,服務(wù)注冊中心和服務(wù)請求者。面向服務(wù)的體系結(jié)構(gòu)中的每個組件都扮演著服務(wù)提供者、服務(wù)請求者和服務(wù)注冊中心這三種角色中的某一種(或多種)。面向服務(wù)體系的三種操作分別是:發(fā)布操作,查找操作和綁定操作。

面向服務(wù)體系中的不同角色的工作流程如下圖1所示:

圖1 面向服務(wù)體系中不同角色的工作流程

面向服務(wù)體系有以下五個特性:(1)可重用性。即一個服務(wù)創(chuàng)建后可以用于多個應(yīng)用和業(yè)務(wù)流程。(2)松耦合性。(3)明確定義的接口。服務(wù)交互必須是明確定義的。服務(wù)請求者不需要知道服務(wù)究竟是由哪種程序設(shè)計語言編寫的。(4)無狀態(tài)的服務(wù)設(shè)計。服務(wù)應(yīng)該是獨立的、自包含的請求,在實現(xiàn)時它不需要獲取從一個請求到另一個請求的信息或狀態(tài)。(5)基于開放標(biāo)準(zhǔn)。

二、二次開發(fā)平臺的技術(shù)基礎(chǔ)

1.反射技術(shù)。很多時候,反射為程序的動態(tài)性提供了一種可能,從而成了在程序開發(fā)設(shè)計中不可缺少的一種技術(shù)。其在主流的開發(fā)工具中應(yīng)用廣泛,如:在Java中,反射技術(shù)可以根據(jù)類名生成類的實例,獲取類的相關(guān)方法名稱、調(diào)用方法等;在Spring框架中,其依賴注入的基礎(chǔ)亦建立在反射技術(shù)的基礎(chǔ)之上。反射技術(shù)大量應(yīng)用于主流開發(fā)工具的理由很多,但其可以通過降低程序模塊的耦合性從而優(yōu)化系統(tǒng)的穩(wěn)定性、可靠性并可以通過后期綁定保證系統(tǒng)良好的可擴展性是主要原因。反射機制一般可以提供以下功能:

* 在運行時判斷任意一個對象所屬的類

* 在運行時構(gòu)造任意一個類的對象

* 在運行時判斷任意一個類所具有的成員變量和方法

* 在運行時調(diào)用任意一個對象的方法

例如,在使用Java進(jìn)行實時開發(fā)時,可以利用反射來分配線程,其首先設(shè)置一個優(yōu)先級值來確定期望的線程類型,根據(jù)類名稱實例化實時線程或常規(guī)線程而無需與類路徑上的實時類一起編譯。

在微軟的.net中,反射是一個運行庫類型發(fā)現(xiàn)的過程。舉例來說,通過反射,可以得到一個給定的程序集所包含的所有類型的列表,這個列表包括給定類型中定義的方法、字段、屬性和事件。也可以動態(tài)地發(fā)現(xiàn)一組給定類支持的接口、方法的參數(shù)和其他相關(guān)細(xì)節(jié)。如果想要通過類的程序集名和該類的名稱去動態(tài)地創(chuàng)建該類,調(diào)用該類的方法,屬性,甚至跨過訪問修飾符的限定去調(diào)用保護(hù)的、私有的方法和屬性也都能利用反射技術(shù)實現(xiàn)。這樣就可以用比較方便的方法來實現(xiàn)一個更為高效的框架,這樣的框架不需要關(guān)心類的具體的實現(xiàn)就能夠調(diào)用類的方法,實現(xiàn)了每個程序的按需組裝,很大程度上提高了應(yīng)用程序的靈活性和可擴展性。

在微軟的.net框架中,應(yīng)用程序的結(jié)構(gòu)被劃分為一個單樹結(jié)構(gòu),按照層級依次為應(yīng)用程序域、程序集、模塊、類型和成員。當(dāng)運行一個程序時,公共語言運行庫首先加載管理器,然后創(chuàng)建并管理應(yīng)用程序域,接著在應(yīng)用程序域中加載并控制每個程序集中類型層次結(jié)構(gòu)的內(nèi)存布局。

程序集中包含模塊,模塊中又包含類型,而類型中又包含成員,反射技術(shù)則提供了相應(yīng)的對象,能夠?qū)⒊绦蚣⒛K和類型都進(jìn)行封裝。使用反射技術(shù),可以從現(xiàn)有對象中獲取類型,再訪問其字段和屬性或者調(diào)用類型的方法,還可以動態(tài)地創(chuàng)建類型的實例并將類型綁定到現(xiàn)有對象。

2.動態(tài)編碼技術(shù)。CodeDOM是代碼文檔對象模型(Code Document Object Model)的縮寫,它允許.Net開發(fā)者以多種語言在運行時產(chǎn)生和編譯源代碼。CodeDOM是用于描述源代碼的類的一個集合。一旦源代碼被描述為CodeDOM,它就能被打印、編譯成匯編語言、或編譯到內(nèi)存中并執(zhí)行。應(yīng)用程序也能使用CodeDOM,作為閱讀源代碼的一個抽象層,而無需有具體語言的內(nèi)部知識。

CodeDOM提供可用于表示(獨立于編程語言之外的)源代碼的類、接口和結(jié)構(gòu),這就意味著CodeDOM是不依賴于某一種編程語言的。基于此人們可以得出以下觀點:利用Code-DOM技術(shù)動態(tài)產(chǎn)生代碼,不需要具有某一種特定語言的編程知識,只要知道業(yè)務(wù)邏輯規(guī)則,按照自然語言的書寫風(fēng)格即可產(chǎn)生合格的代碼。CodeDOM能將任何表示形式輸出為以CodeDOM所支持的任何語言表示的源代碼,在.NET Framework 2.0 中,CodeDOM 支持 VB.NET,C#,JScript的代碼生成器和代碼編譯器。

CodeDOM技術(shù)的優(yōu)點如下:

(1)CodeDOM是用單一模式來表現(xiàn)源代碼。

(2)CodeDOM可以允許程序員動態(tài)的創(chuàng)建、編譯和編碼程序。

(3)CodeDOM可以通過CodeDOM對象圖生成不同語言的源代碼。

3.插件技術(shù)。不同應(yīng)用軟件的體系結(jié)構(gòu)和開發(fā)方法隨著計算機技術(shù)的發(fā)展的不斷變化而改變。我們一直在尋找更好的軟件體系結(jié)構(gòu)和開發(fā)方法來實現(xiàn)軟件開發(fā)效率和產(chǎn)品質(zhì)量的提高,增加軟件的可擴展性。插件技術(shù)之所以能夠被越來越多的應(yīng)用,就是由于它能夠滿足以上要求。采用插件技術(shù)已經(jīng)成功開發(fā)出了當(dāng)前很多非常實用的軟件產(chǎn)品。比如說我們常用的圖像編輯軟件PhotoShop就是一個典型的例子。使用過PhotoShop的人對濾鏡一定不陌生。即使是初涉圖形制作的新手,只要去獲取一些好的濾鏡,也能夠輕易地作出特殊效果。還有就是MP3播放軟件Winamp也大量的應(yīng)用了插件技術(shù)。Winamp早期的成功雖然在于其快速的解碼引擎,但在MP3播放器中能夠保持重要地位,也正是由于內(nèi)置了健全的Skin和PlugIn(插件)。后期的Winamp中增加的midi、mod、wava等音樂格式的播放功能完全是靠插件技術(shù)來實現(xiàn)的。插件技術(shù)將程序按照其功能的不同劃分為一個個插件,它們之間沒有任何依賴次序,相互獨立,因此這樣的組件式結(jié)構(gòu)非常靈活。插件是可獨立開發(fā)的程序模塊,它不僅獨立于系統(tǒng),而且能夠動態(tài)地插入到系統(tǒng)中,還可以被自由地插入、替換和刪除。

最早的時候Erich Gama提出了插件技術(shù)的設(shè)計模式。該模式通用的通信模型是利用對象思想和架構(gòu)來實現(xiàn)的。只要組件的結(jié)構(gòu)相似,不管輸入和輸出是否相同,該設(shè)計模式都能利用面向?qū)ο蟮睦碚搧韼椭_發(fā)者解決問題。它只是描述解決問題方案的語言,而不用去管編程語言的具體細(xì)節(jié)。其關(guān)鍵點在于把整個方案如何根據(jù)功能進(jìn)行分解,從而不同程序按照不同功能分解開來執(zhí)行完成。插件技術(shù)就是利用這個原理,將程序劃分為主程序和子程序兩部分。在主程序的框架中來運行子程序,實際的業(yè)務(wù)操作由子程序完成,它都是按照一定的規(guī)范來編寫的。只要接口相同,主程序就可以通過反射技術(shù)最大靈活地動態(tài)加載子程序。

三、二次開發(fā)的開發(fā)要點

二次開發(fā)平臺,簡單來說就是讓開發(fā)人員利用已有的軟件框架快速地開發(fā)出符合其體系結(jié)構(gòu)的應(yīng)用程序,從而達(dá)到企業(yè)的要求。但在實際二次開發(fā)的過程中,往往不是原來軟件的編寫人員作為二次開發(fā)的技術(shù)人員,他們根本不知道原來軟件的體系架構(gòu),甚至根本不了解原來軟件的編程邏輯,這樣就會影響到二次開發(fā)的進(jìn)度。二次開發(fā)人員如果不了解原來軟件中的內(nèi)部邏輯,僅僅按照自己的開發(fā)技術(shù)水平的理解重新編寫程序,而不是有效的復(fù)用原來存在的程序邏輯,就大大降低了軟件開發(fā)的效率,嚴(yán)重時會對整個程序產(chǎn)生不可預(yù)見的重大影響。這樣就會影響用戶的正常工作。為了保證二次開發(fā)的順利進(jìn)行,現(xiàn)將二次開發(fā)的開發(fā)要點總結(jié)如下:

要進(jìn)行二次開發(fā),則必須保證平臺是開放的并提供了進(jìn)行二次開發(fā)的相關(guān)工具,這樣才有可能在現(xiàn)有的軟件框架下開發(fā)出滿足用戶需求且符合平臺的固有框架;要進(jìn)行二次開發(fā),則必須清楚二次開發(fā)的類型,一般包括功能擴充、功能覆蓋、新增功能三種類型,只有在確定了類型之后,才可確定工作量及所需的技術(shù)力量;要進(jìn)行二次開發(fā),則必須進(jìn)行整體設(shè)計,并盡可能地使二次開發(fā)的功能與原平臺保證相對的獨立性,以插件的形式來提供,如IBM公司的Rational系列軟件,都是基于Eclipse平臺進(jìn)行二次開發(fā)的典型案例,便是以插件的形式進(jìn)行二次開發(fā)的;要進(jìn)行二次開發(fā),最好選擇本身就是以面向服務(wù)的體系結(jié)構(gòu)進(jìn)行組織的二次開發(fā)平臺,這樣可以在減少功能開發(fā)難度的同時保證二次開發(fā)的質(zhì)量。

四、結(jié)論

文章主要通過對二次開發(fā)平臺理論及技術(shù)方面的研究,尤其是對面向服務(wù)的體系結(jié)構(gòu)和插件技術(shù)的深入分析,最終得出了二次開發(fā)平臺的開發(fā)要點,為進(jìn)行二次開發(fā)的編程人員在某種程度上提出了指導(dǎo)性的參考意見。在此研究基礎(chǔ)上,今后可以具體的為二次開發(fā)的開發(fā)模式及技術(shù)方面作進(jìn)一步的探討。

[1]張育平.基于構(gòu)件的軟件體系結(jié)構(gòu)實現(xiàn)技術(shù)[J].計算機工程與應(yīng)用,2010,(4).

[2]胡開順.企業(yè)集群化與制造系統(tǒng)敏捷化策略的拓展[J].工業(yè)工程,2010,(1).

[3]王 森.基于U8-ERP的二次開發(fā)平臺的研究[D].上海:復(fù)旦大學(xué),2007,(8).

猜你喜歡
二次開發(fā)程序服務(wù)
淺談基于Revit平臺的二次開發(fā)
甘肅科技(2020年20期)2020-04-13 00:30:02
服務(wù)在身邊 健康每一天
淺談Mastercam后處理器的二次開發(fā)
模具制造(2019年3期)2019-06-06 02:11:02
試論我國未決羈押程序的立法完善
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
西門子Easy Screen對倒棱機床界面二次開發(fā)
“程序猿”的生活什么樣
招行30年:從“滿意服務(wù)”到“感動服務(wù)”
商周刊(2017年9期)2017-08-22 02:57:56
英國與歐盟正式啟動“離婚”程序程序
主站蜘蛛池模板: 国产办公室秘书无码精品| 成人蜜桃网| 久久情精品国产品免费| 日韩精品免费在线视频| 日韩精品亚洲一区中文字幕| 欧美成人二区| 2021最新国产精品网站| 国产青榴视频| 91午夜福利在线观看| 无码国产伊人| 日本不卡在线视频| 久久特级毛片| 无码内射中文字幕岛国片| 亚洲日韩精品欧美中文字幕 | 亚洲第一页在线观看| 欧美日韩激情在线| 亚洲狠狠婷婷综合久久久久| 美女无遮挡被啪啪到高潮免费| 无码免费的亚洲视频| 久久国产亚洲欧美日韩精品| 国产黄在线免费观看| 在线欧美a| 日本高清成本人视频一区| 在线一级毛片| 国产95在线 | 国产最爽的乱婬视频国语对白| 99精品一区二区免费视频| 专干老肥熟女视频网站| 香蕉国产精品视频| 一本综合久久| a级毛片免费看| 欧美日韩在线亚洲国产人| 欧美另类图片视频无弹跳第一页| 制服丝袜一区二区三区在线| 在线中文字幕网| 亚洲永久色| 91精品免费高清在线| 国产毛片基地| 精品视频福利| 在线va视频| 女人18毛片久久| 色爽网免费视频| 亚洲三级片在线看| 91麻豆久久久| 99在线观看国产| 欧美激情一区二区三区成人| 国产极品粉嫩小泬免费看| 国产国语一级毛片| 婷婷色一区二区三区| 国产精品大白天新婚身材| 日韩精品一区二区三区视频免费看| 国产又大又粗又猛又爽的视频| 国产成人精品视频一区二区电影| 欧美另类精品一区二区三区| 精品欧美一区二区三区在线| 天堂亚洲网| 亚洲国产无码有码| 国产精品女在线观看| 国产96在线 | 国产精品伦视频观看免费| 成人在线天堂| 亚洲日韩高清无码| 在线一级毛片| 色婷婷在线影院| 亚洲精品无码人妻无码| 日韩小视频在线观看| 青青草91视频| 欧美97欧美综合色伦图| 动漫精品啪啪一区二区三区| 99精品影院| 99re热精品视频国产免费| 国产精品深爱在线| 国产成人久久综合777777麻豆| 欧美色综合网站| 五月综合色婷婷| 亚洲AⅤ波多系列中文字幕| 国产剧情无码视频在线观看| 亚洲一区二区三区中文字幕5566| 9966国产精品视频| 青青国产视频| 丁香婷婷在线视频| 亚洲视频在线网|