成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Eclipse平臺架構技術分析及基于RCP的應用研究

開發 后端
由于Eclipse提供了一個開放靈活的框架,Eclipse技術現在廣為流行,基于Eclipse構架的應用越來越多。本文先對Eclipse的結構進行了剖析,分析了Eclipse使用的技術及實現原理。最后給出了一個基于Eclipse RCP應用的項目實例。

Eclipse是一個具有先進軟件設計和實現技術的開發框架。應用軟件在Eclipse中被稱為“插件”。它們在架構中互動工作,完美的集成。隨著Eclipse3.0加強了對RCP(Rich Client Program)開發的支持,Eclipse已成為廣為業界所支持的開放性標準軟件開發環境,業界已成事實的工業標準。

Eclipse的特點:跨平臺;提供了GUI和非GUI;語言中立;基于插件的開放的、可擴展的平臺。

1. Eclipse技術剖析

1.1 Eclipse體系結構概述

Eclipse的結構體系如下圖所示:

Eclipse體系結構圖  
圖1 Eclipse體系結構圖

Eclipse類似于“軟總線”的體系結構,Eclipse的核心部分(Platform Runtime)類似于一條“即插即用”的“總線”,它提供了許多的“插槽”(擴展點:extension point)。其余的部分都可看成類似于外部設備的“插件”(Plug-in),可隨時加載和卸載。更為靈活的是每個插件又提供了“插槽”可繼續安裝其他的插件。

Eclipse分為Eclipse平臺、JDT、PDE、其他的插件幾個部分。其中Eclipse平臺是整個系統的基礎,Eclipse的核心。JDT 是提供了用于編輯、查看、編譯、調試和運行Java代碼的專門插件。PDE構建于Eclipse平臺和JDT之上,提供了專門開發插件的工具。

Eclipse平臺是在其上創建插件擴展的核心框架和服務的名稱,是一個通用的基礎架構。平臺由平臺運行時、工作空間、工作臺、幫助、小組、調試構成。平臺在結構上大致可分為核心(core)和用戶界面(UI)兩層。核心是與用戶界面無關的基礎結構,包含平臺運行時和插件管理、工作空間和資源管理以及版本和配置管理。其中平臺運行時又是Eclipse平臺的核心。

1.2 平臺運行時(Platform Runtime):

運行時相當于一個微內核,是插件的核心引擎。它位于平臺核心中最低級別的部分,由org.eclipse.osgi和org.eclipse.core.

runtime兩個插件組成,其他所有的插件都依賴于這兩個插件。

1)運行時的功能:

a)定義插件的結構以及它們包含的實現詳細信息(bundle 和類載入器)。

b)查找和執行主要的Eclipse應用程序以及維護插件的注冊表、擴展和擴展點。

c)提供實用程序(例如,記錄、調試跟蹤選項、適配器、首選項庫和并發性基礎結構)。

2)運行時工作原理:

運行時管理著一個插件注冊表(所有插件的標識),當Eclipse啟動時,運行時內核先是定位JRE的位置,然后啟動startup.jar掃描 plugins和features目錄下的插件配置文件,對插件進行初始化注冊到OSGi中,并保存配置文件中的信息。然后查找清單文件中聲明的 extension point和extension,將二者匹配,保存插件的依賴關系。最后啟動應用。

運行時對插件實行“lazy load“,只有當需要使用插件時才將其調入內存。不需要時選擇適當的時機清除出內存。

1.3 OSGi-1.4 Eclipse平臺技術的核心參照

1.3.1 OSGi概述:
Eclipse體系架構是參照OSGi實現的。核心插件org.eclipse.osgi就是OSGi的實現。

OSGi(Open Service Gateway Initiative)是一個為家用硬件設備的遠程互訪建立的一個開放的規范。它包括構建開放的可交付網絡服務的各方面。

OSGi中的應用稱為bundle,每個bundle可提供一定數量的服務(Services)。每一個安裝在OSGi服務平臺的bundle都有一個與之關聯的bundle對象(object),它負責管理bundle的生命周期。bundle有諸如安裝、停止、活動等多種狀態。

1.3.2 OSGi主要的規范

◆n 框架規范(Framework):OSGi規范的核心,提供了一個通用的、安全可管理的Java 框架。提供了以下功能:

管理bundle的安裝和更新。bundle安裝后會注冊一定數量的服務,可被同一Framework下的其他bundle使用。不同bundle提供的Services可構成一個大規模的Services,不同的bundle和Services形成依賴。這種依賴關系由Framework負責管理。
Framework為bundle提供了代碼動態加載的功能, OSGi兼容設備可以任意加載和卸載OSGi bundle。使得開發者開發、部署一個大規模的Services變的很容易。Framework還為Java bundle開發者提供了簡明一致的編程模型,允許開發者將自己的接口規范綁定到OSGI環境中的Services。

◆包管理服務(Package Admin Service)規范:管理不同n bundle之間的引用關系。 當bundle更新或者卸載時判斷是否有其他的服n 務正在使用當前的bundle。

◆啟動層次(Start Level)規范:定義了啟動和停止一個OSGi服n 務平臺時,n 不同n bundle的啟動或者停止的先后順序。

◆權限管理服務(Permission Admin Service)規范:對bundle間的訪問權限進行控制。

Eclipse實現了OSGi規范,平臺運行(runtime)實現了Framework標準,提供了相應的核心功能。插件在效果上相當于bundle,整個體系靈活而且強大。

1.4 Eclipse的插件技術:

1.4.1 與插件相關的概念

◆ 插件(Plug-in):Eclipse功能實現的最小單位,包含Java代碼或其他文件。實現插件的類一般都繼承或實現某些類或接口。插件位于plugins目錄下,n 使用清單文件plugin.xml向系統說明如何集成到平臺。

◆ 擴展點(extension point):具有命名n 特性的信息收集點,n 也就是為插件提供的接口。每一個插件都是在已有的擴展點上開發,同n 時可自定義擴展點,n 以便在這個插件上繼續開發。正是由引入了擴展點,n 插件不n 僅可以安裝在Eclipse的平臺上,n 還可以安裝到其他插件上。

◆擴展(extension):對擴展點的實現。每個插件至少實現了一個擴展點。

1.4.2 Eclipse插件的通信機制

插件之間的通信是通過擴展點來實現的。首先插件A聲明了擴展點P及其實現規則接口I。插件B如果要擴展插件A的擴展點P,則生成一個實現接口I的類C,從而實現對P的擴展。在實際運行時,插件A找到類C并實例化,然后調用其實現了接口I中的方法。

插件的通信機制 
圖2插件的通信機制

當需要與實現某擴展點的插件通信時,根據實現擴展的插件清單plugin.xml中extension標簽聲明中的“class”屬性查找并裝入類,再根據實現擴展類的規則來調用該類中的方法,從而實現了擴展。

2 Eclipse技術的應用:

2.1 開發插件

利用PDE可以方便快捷把應用程序開發成插件,打包后放到plugins目錄下,Eclipse啟動時會找到相應的插件。這種方式可開發GUI和非 GUI插件。如開發GUI插件,一般是對平臺的操作組(actionSets)進行擴展,實現在菜單欄中添加菜單項。然后提供透視圖、視圖、編輯器的擴展。其過程如下。使用這種方式開發的應用只能作為Eclipse的插件運行,必須安裝Eclipse。

插件開發的流程

1)決定插件如何與平臺集成

2)標識需要進行添加的擴展點以便與用戶的插件進行集成

3)根據擴展點的規范來實現這些擴展。如實現擴展點所要求的特定的接口。

4)提供清單文件(plugin.xml),它描述用戶正在提供的擴展以及代碼的封裝。Eclipse就是解析這個文件來加載插件的。

2.2 開發RCP應用

胖客戶端程序(RCP)是指運算和商務邏輯是在客戶端實現的應用,相反的在服務器端實現的稱為瘦客戶端程序。

Eclipse RCP提供了一個通用的工作臺,開發人員可以擴展該工作臺來構造自己的應用程序。利用RCP可以開發出獨立的應用,從而脫離了Eclipse平臺的IDE環境。一個RCP至少要實現一個插件,并且可以使用與 Eclipse IDE 相同的用戶界面元素。運行Eclipse RCP不需要安裝Eclipse。

開發Eclipse RCP的步驟:

1)確定擴展點。插件需要實現哪些擴展點。

2)編寫插件清單plugin.xml。

3)生成組件類來實現擴展。

4)創建WorkbenchAdvisor 類。構建 RCP的核心任務之一就是創建一個實現抽象類WorkbenchAdvisor的類。WorkbenchAdvisor負責配置工作臺,當執行 RCP 應用程序時,將顯示該工作臺。

5)接下來需要創建Application類。它相當于與Java類中的main方法,是RCP應用程序的主要入口點,需要定義org.eclipse.core.runtime.applications 擴展點,并實現IPlatformRunnable接口。

6)創建并導出一個應用程序,并生成一個插件。將其放在plugins目錄。

7)配置config.ini文件。需要定義product、application和閃屏等信息。

信息家電嵌入式仿真開發平臺目錄結構 
圖3 信息家電嵌入式仿真開發平臺目錄結構

2.3 構造開發環境IDE

由于Eclipse實現了RCP 技術,重構了Eclipse的核心,使得工作平臺與IDE分離。實現了一個獨立的工作平臺。利用平臺提供的擴展點可以更加方便的構建IDE,把工具開發成插件,添加到平臺即可。比如添加JDT插件,就會構造出開發Java的IDE,提供了CDT就可以用來開發C/C++。理論上可以構建任何類型的IDE。

3 Eclipse技術在信息家電嵌入式仿真開發平臺研制中的應用

3.1信息家電嵌入式仿真平臺系統概述

系統通過對ARM系列處理器指令集及體系結構的模擬、外部設備功能的仿真,構造了一個虛擬運行環境,其上運行LINUX操作系統和應用。系統具有很好的仿真性能。

仿真平臺系統總體結構圖 
圖4 仿真平臺系統總體結構圖

整個系統為一個RCP應用,各子系統以插件的形式實現。在實現過程中充分利用了Eclipse技術:如利用了Workbench能夠添加“標準操作”的特點;借鑒JDT的模式封裝了系統的調試器;在開發圖形界面方面用到了SWT和JFace,還有SWT多線程等。

3.2 仿真平臺系統功能結構:

1)項目管理插件:

本子系統包括家電控制軟件開發階段所涉及的工具:工程管理器、編輯器、編譯器、匯編器、連接器以及常用標準庫等。

2)調試插件:

包括調試器、調試代理。調試器實現了通常調試器的常用功能,采用了JDT調試器的實現方法,內部封裝了GNU的調試工具。界面上采用Eclipse調試器的Views及Editors。

調試代理運行在“目標板”上,通過接口與宿主機上的調試器進行通信,接收調試命令。

3)仿真運行環境維護插件:

該子系統包括構件庫管理器、構件庫、仿真運行環境配置器、仿真運行環境管理器。其中構件庫管理器實現構件屬性信息的存儲、檢索。仿真運行環境配置器的功能相當于“組建目標板”,而仿真運行環境管理器則提供了整個仿真系統得以正確運行的機制。

4)邏輯信號分析插件:

包括軟件邏輯分析儀、邏輯分析儀代理。邏輯分析儀代理接收邏輯分析儀的命令對“目標板”上的“電路信號”進行檢測。軟件邏輯分析儀將代理采集到模擬信號呈現給用戶。

5)第三方工具集成支持插件:

在版本控制方面用到了SVN工具,UML工具使用了Together。

4 結束語

本文對Eclipse的結構進行了分析,說明了Eclipse“核心+插件”的機制。介紹了Eclipse技術的應用,重點以實際項目為例對RCP的開發進行了介紹。

【編輯推薦】

  1. Eclipse插件之Spring IDE
  2. Eclipse 3.5新特性預覽
  3. Spring定時器的兩種實現方式
  4. 在Eclipse RCP中使用Spring框架
  5. 開發NetBeans Spring MVC基礎入門
責任編輯:yangsai 來源: 計算機與信息技術
相關推薦

2011-09-08 10:03:05

2013-12-04 10:48:05

虛擬化云計算平臺架構

2009-05-20 14:48:07

ibmdwEclipse開發技巧

2013-05-30 09:58:31

100G100G技術100G應用

2009-01-19 13:54:58

ERP數據倉庫應用研究

2023-05-26 00:51:52

2009-02-11 10:02:00

2021-02-22 10:32:53

大數據大數據平臺大數據技術棧

2021-04-07 10:12:36

區塊鏈技術商標

2012-11-12 17:27:37

2011-03-08 09:40:26

Java多態性

2021-09-12 22:23:14

區塊鏈比特幣技術

2016-12-12 13:56:39

2009-07-07 14:39:07

對等網絡IPTV

2015-11-16 09:57:54

大數據時代新媒體研究

2013-10-12 14:44:33

H3CSDN技術應用

2018-03-02 10:31:48

大數據 供應鏈金融

2014-08-21 13:43:26

移動互聯網租車應用研究報告

2019-11-04 19:30:28

人工智能AI

2019-11-13 15:20:30

人工智能AI
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本久草视频 | 999久久久国产精品 欧美成人h版在线观看 | 国产高清一区二区 | 国产乱码精品一区二区三区五月婷 | 亚洲人在线观看视频 | re久久| 精品粉嫩aⅴ一区二区三区四区 | 亚欧洲精品在线视频免费观看 | 国产91久久久久蜜臀青青天草二 | 欧美日韩亚洲国产综合 | 日韩三级 | 毛片网站在线观看 | 欧美xxxx色视频在线观看免费 | 日韩欧美中文 | 在线免费观看成年人视频 | 国产成人免费视频 | 一区在线观看视频 | 久久免费精品视频 | 夜夜操天天干 | 天天看天天操 | 免费网站国产 | 久久久久久91 | 亚洲精品天堂 | 一级片在线视频 | 日韩欧美国产不卡 | 在线第一页 | 成年人精品视频在线观看 | 免费一级毛片 | 日韩中文一区二区三区 | 日日夜夜精品视频 | 久久亚洲一区 | 亚洲成人免费在线观看 | 激情五月婷婷综合 | 久久久入口 | 中文字幕国产视频 | 久久首页 | 中文字幕亚洲欧美日韩在线不卡 | 日韩一区二区精品 | 国产小视频在线 | 夜夜夜操 | 成人在线观看免费 |