亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2013-04-27 03:32:30張娟萍
        山西廣播電視大學學報 2013年2期
        關鍵詞:二次開發(fā)程序服務

        □張娟萍

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        * 在運行時構造任意一個類的對象

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

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

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

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

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

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

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

        CodeDOM提供可用于表示(獨立于編程語言之外的)源代碼的類、接口和結構,這就意味著CodeDOM是不依賴于某一種編程語言的?;诖巳藗兛梢缘贸鲆韵掠^點:利用Code-DOM技術動態(tài)產(chǎn)生代碼,不需要具有某一種特定語言的編程知識,只要知道業(yè)務邏輯規(guī)則,按照自然語言的書寫風格即可產(chǎn)生合格的代碼。CodeDOM能將任何表示形式輸出為以CodeDOM所支持的任何語言表示的源代碼,在.NET Framework 2.0 中,CodeDOM 支持 VB.NET,C#,JScript的代碼生成器和代碼編譯器。

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

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

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

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

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

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

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

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

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

        四、結論

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

        [1]張育平.基于構件的軟件體系結構實現(xiàn)技術[J].計算機工程與應用,2010,(4).

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

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

        猜你喜歡
        二次開發(fā)程序服務
        淺談基于Revit平臺的二次開發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        服務在身邊 健康每一天
        淺談Mastercam后處理器的二次開發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        試論我國未決羈押程序的立法完善
        人大建設(2019年12期)2019-05-21 02:55:44
        服務在身邊 健康每一天
        服務在身邊 健康每一天
        西門子Easy Screen對倒棱機床界面二次開發(fā)
        “程序猿”的生活什么樣
        招行30年:從“滿意服務”到“感動服務”
        商周刊(2017年9期)2017-08-22 02:57:56
        英國與歐盟正式啟動“離婚”程序程序
        亚洲天堂av免费在线| 日本不卡在线视频二区三区| 欧美 日韩 人妻 高清 中文| 日本边添边摸边做边爱的网站| 四虎影视久久久免费| 日韩男女av中文字幕| 精品人妻少妇av中文字幕| 2020年国产精品| 中文字幕一区二区三区乱码不卡| 精品国产乱码久久免费看| 色熟妇人妻久久中文字幕| 午夜精品久久久久久99热| 最新亚洲人成网站在线| 亚洲影院在线观看av| 91九色免费视频网站| 少妇无码av无码专区线| 亚洲成a人片在线播放观看国产 | 一本色道久久88加勒比综合| 97色偷偷色噜噜狠狠爱网站| 又污又黄又无遮挡的网站| 久久精品国产av大片| 中文字字幕在线中文乱码解| 久久久老熟女一区二区三区 | 特级做a爰片毛片免费看108| 免费国精产品自偷自偷免费看| 日本高清在线播放一区二区三区| 人妻中文字幕一区二区视频| 久久久噜噜噜久久| 国产成人午夜福利在线观看者 | 韩国美女主播国产三级| 青青草免费手机视频在线观看| 黄瓜视频在线观看| 亚洲 无码 制服 丝袜 自拍| 视频一区二区三区国产| 少妇人妻中文字幕hd| 成年男女免费视频网站| 日本女优中文字幕在线观看| 亚洲av熟女少妇久久| 国自产偷精品不卡在线| 亚洲在战AV极品无码| 丰满人妻中文字幕一区三区|