已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,廖峻鋒 (try) 台大資工所 智慧型機器人及自動化實驗室,OSGi: 服務導向的Java模組系統,大綱,OSGi : Yet another framework ? 發展沿革 元件模型與運作方式 相關開源專案 結語: OSGi的未來發展,Java類別版本混合問題,Java cp crack.jar;mylib-v3.jar;mylib-v2.jar;mylib-v1.jar,org.coscup.s1,org.coscup.s1,org.coscup.s1,A,B,C,B,C,B,C,D,E,D,A,C,Java類別版本混合問題,存取權限管理限於package level的問題 Classloader只會載入在classpath中第一個遇到的類別 造成同時載入各版本類別 設定classpath的順序影響了那一個類別會被載入 對類別使用者來說 不同版本無法併存,使用者也無法指定要使用那一個版本的類別 對類別提供者來說 類別一但宣告為public,所有clients都可以存取,無法做個別的控制,Java類別使用權限問題,MySecretA,org.coscup.s1,ClientX,ClientY,com.evil-empire.client,ClientZ,org.coscup.s2,如何才能達成更精細的存取設定?,Java模組概念 單獨設定各Packages的對外權限,MyScretA,org.coscup.s1,ClientX,ClientY,com.evil-empire.client,ClientZ,org.coscup.s2,設定: 只有 MyPublicB可以讓外面存取,MyPublicB,Java模組概念: 不同模組可以用不同版本的類別庫,org.coscup.s1,B,C,E,D,org.coscup.s1: 3個版本,設定: 只載入第5版,org.coscup.s1,設定: 只載入第1版,A,B,C,如何動態提供服務,電話服務,視訊服務,視訊電話應用程式,服務導向軟體架構,電話服務 機動性:高,體積:小,位置:客廳,電話服務 機動性:無,體積:大,位置:書房,電話服務 機動性:無,體積:中,位置:客廳,視訊服務 面板:大,位置:客廳,視訊服務 面板:小,位置:客廳,視訊電話應用程式,服務目錄,服務目錄管理員,Hi,請給我一個電話服務和視訊服務,電話服務最好是機動性高的,視訊服務最好是在廚房,最符合您的要求的只有這些,你要不要?,OSGi 平台,由Intel、IBM、NEC、Mitsubishi、Motorola、NTT、Nokia、Oracle、Samsung、Siemens AG、BenQ等數十家廠商聯合制定並推動。 OSGi是一個直接建構在JVM上的通用的中介軟體(Universal Middleware)規格。,OSGi沿革,創始於1999年,初期以支援嵌入式裝置為主的家庭閘道器中介軟體為目標 2003 : 新版本設計時加入支援Java手機功能 2004 : 開始有大量的開放源碼社群投入,Eclipse 3.x核心改用OSGi 2006 大量的Java端企業應用程式伺服器改用OSGi為核心,OSGi元件模型,OSGi中的軟體元件稱為Bundle 從實體觀點來看Bundle只是一個 Java-based的jar檔案 Bundle元件必須在Bundle容器中才能執行,Bundle的結構,目錄結構 (標準的jar型式) / / META-INF/MANIFEST.MF / (java classes) / (.jar) (如果要執行邏輯,必須包含一個org.osgi.framework.BundleActivator的實作類別) 在MANIFEST.MF中 package 的import / export設定 Bundle及版本資訊,一個Bundle就是一個Java Module,在MANIFEST.MF中設定模組間相依性 除了明確export的套件之外,外界一律無法存取 可以指定相依bundle 可以透過import設定,指定所要引入的類別版本,Import-Package: org.coscup.telephony; version=“(1.0.0,1.0.5”; location=“Kitchen”;,Require-Bundle: my-telephony-service,Bundle類別載入採用次序,系統Classpath Required Bundle Imported Bundle Local classpath,Bundles具有生命周期,可以在OSGi伺服器執行期間動態地被安裝、移除、更新及重新啟動 元件容器在啟動Bundle時會先檢查相依性,不能滿足相依性的Bundles無法啟動,Bundles可以提供服務,Bundles中可將提供服務或呼叫其它服務的POJO註冊到ServiceRegistry中 可以發佈(publish)、發現(discovery)及繫結(bind)到其它服務。,ServiceReference sr = context.getServiceReference(EventAdmin.class.getName(); EventAdmin ea = (EventAdmin) context.getService(sr);,服務導向架構必須處理的問題,使用中的服務忽然中斷或消失時? 有更好的合格服務出現時? 同時有很多合格服務時? 可用工具 ServiceTracker類別 Spring OSGi,相關開源專案與工具,OSGi 實作品 Knopflerfish Felix (Apache專案,前身為Oscar) Equinox (Eclipse專案) OSGi開發工具 Eclips
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安仁公务员公务员考试试题及答案
- 2026年网络直播设备租赁公司租赁延期管理制度
- 2026年能源加工公司环保合规性评价管理制度
- 2026年建筑装饰公司研发失败复盘分析管理制度
- 2025电信联合英才通信限公司北方通信工程限公司招聘(河北)易考易错模拟试题(共500题)试卷后附参考答案
- 2025甘肃省兰州市事业单位招聘易考易错模拟试题(共500题)试卷后附参考答案
- 十五五品牌建设推进:提升市场竞争力的制度改革
- 我国交通运输物流服务规范化标准研究
- 环保型光致变色玻璃产品及其工艺分析
- 2025浙江嘉兴南湖区经济信息商务局招聘编外用工2人易考易错模拟试题(共500题)试卷后附参考答案
- 2025辽宁省咨询产业集团招聘考试参考题库及答案解析
- 铝锭贸易专业知识培训课件
- 2025年及未来5年中国建筑劳务行业投资潜力分析及行业发展趋势报告
- 2025年中考历史试题分类汇编:世界近代史(选择题汇编)(第1期)解析版
- 安全生产相关工作主要业绩及研究成果
- 机房运维题考试题及答案
- 会诊制度存在问题及整改措施
- 外国语学校文化建设方案
- 黄河防汛业务知识培训课件
- 大学生职业规划大赛《生物科学专业》生涯发展展示
- 大国兵器(中北大学)学习通网课章节测试答案
评论
0/150
提交评论