Suche senden
Hochladen
OSGi.NET理论与应用实践
•
Als PPTX, PDF herunterladen
•
0 gefällt mir
•
1,402 views
B
baihmpgy
Folgen
尤埃开放服务平台原理简介
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 54
Jetzt herunterladen
Empfohlen
Yii php framework
Yii php framework
KeaNy Chu
Cdep introduction (中文版) --201005
Cdep introduction (中文版) --201005
自強 權
Prezentacja skm
Prezentacja skm
Piotr Pieczyński
愛無國境協會重要紀事回顧 201010起
愛無國境協會重要紀事回顧 201010起
Sonia Chen
OSGi
OSGi
xlight
OSGi理论与实战
OSGi理论与实战
bluedavy lin
Ce07ncs002006000056
Ce07ncs002006000056
jbcinvest
GlassFish特性介绍
GlassFish特性介绍
Jim Jiang
Empfohlen
Yii php framework
Yii php framework
KeaNy Chu
Cdep introduction (中文版) --201005
Cdep introduction (中文版) --201005
自強 權
Prezentacja skm
Prezentacja skm
Piotr Pieczyński
愛無國境協會重要紀事回顧 201010起
愛無國境協會重要紀事回顧 201010起
Sonia Chen
OSGi
OSGi
xlight
OSGi理论与实战
OSGi理论与实战
bluedavy lin
Ce07ncs002006000056
Ce07ncs002006000056
jbcinvest
GlassFish特性介绍
GlassFish特性介绍
Jim Jiang
Js高级技巧
Js高级技巧
fool2fish
Introduction to ngn sce
Introduction to ngn sce
gdems
Osgi Intro
Osgi Intro
Ching Yi Chan
常用Js框架比较
常用Js框架比较
Adam Lu
美团点评技术沙龙05 - Node.js业务应用实践和服务监控
美团点评技术沙龙05 - Node.js业务应用实践和服务监控
美团点评技术团队
台灣 AngularJS 社群小聚
台灣 AngularJS 社群小聚
Jimmy Ho
YUIconf2010介绍
YUIconf2010介绍
ling yu
從open data角度談網站api應用
從open data角度談網站api應用
Yu Shu Huang
2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设
Tianwei Liu
51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry
Hong Cai
ForumSentry客戶解決
ForumSentry客戶解決
Kevin Kao
4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf
ssuserd6c7621
Private cloud and open stack
Private cloud and open stack
zhangxiao2016
Ryu Learning Guide
Ryu Learning Guide
呈 李
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
Du Yamin
20141212 html5 及微軟跨平台佈局 long
20141212 html5 及微軟跨平台佈局 long
Meng-Ru (Raymond) Tsai
Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出
Eric Xiao
V5.6 ui 总结
V5.6 ui 总结
Baoyu Xu
AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...
AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...
土撥 JIE
Appcan平台介绍
Appcan平台介绍
36Kr.com
Weitere ähnliche Inhalte
Ähnlich wie OSGi.NET理论与应用实践
Js高级技巧
Js高级技巧
fool2fish
Introduction to ngn sce
Introduction to ngn sce
gdems
Osgi Intro
Osgi Intro
Ching Yi Chan
常用Js框架比较
常用Js框架比较
Adam Lu
美团点评技术沙龙05 - Node.js业务应用实践和服务监控
美团点评技术沙龙05 - Node.js业务应用实践和服务监控
美团点评技术团队
台灣 AngularJS 社群小聚
台灣 AngularJS 社群小聚
Jimmy Ho
YUIconf2010介绍
YUIconf2010介绍
ling yu
從open data角度談網站api應用
從open data角度談網站api應用
Yu Shu Huang
2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设
Tianwei Liu
51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry
Hong Cai
ForumSentry客戶解決
ForumSentry客戶解決
Kevin Kao
4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf
ssuserd6c7621
Private cloud and open stack
Private cloud and open stack
zhangxiao2016
Ryu Learning Guide
Ryu Learning Guide
呈 李
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
Du Yamin
20141212 html5 及微軟跨平台佈局 long
20141212 html5 及微軟跨平台佈局 long
Meng-Ru (Raymond) Tsai
Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出
Eric Xiao
V5.6 ui 总结
V5.6 ui 总结
Baoyu Xu
AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...
AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...
土撥 JIE
Appcan平台介绍
Appcan平台介绍
36Kr.com
Ähnlich wie OSGi.NET理论与应用实践
(20)
Js高级技巧
Js高级技巧
Introduction to ngn sce
Introduction to ngn sce
Osgi Intro
Osgi Intro
常用Js框架比较
常用Js框架比较
美团点评技术沙龙05 - Node.js业务应用实践和服务监控
美团点评技术沙龙05 - Node.js业务应用实践和服务监控
台灣 AngularJS 社群小聚
台灣 AngularJS 社群小聚
YUIconf2010介绍
YUIconf2010介绍
從open data角度談網站api應用
從open data角度談網站api應用
2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设
51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry
ForumSentry客戶解決
ForumSentry客戶解決
4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf
Private cloud and open stack
Private cloud and open stack
Ryu Learning Guide
Ryu Learning Guide
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
20141212 html5 及微軟跨平台佈局 long
20141212 html5 及微軟跨平台佈局 long
Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出
V5.6 ui 总结
V5.6 ui 总结
AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...
AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...
Appcan平台介绍
Appcan平台介绍
OSGi.NET理论与应用实践
1.
OSGi.NET 理论与应用实践 西安尤埃信息技术有限公司 架构师 陈贞宝 2010.9.14
2.
目录 OSGi.NET概述 OSGi.NET原理 OSGi.NET基础服务 OSGi.NET辅助工具 OSGi.NET实践
3.
OSGi.NET概述
4.
什么是OSGi OSGi:Open Service Gateway
Initiative Wiki定义:一方面它指OSGi Alliance组织; 另一方面指该组织制定的一个基于Java语言 的服务规范——OSGi服务平台(Service Platform) OSGi服务平台是一个动态的模块化框架:支 持模块化与插件化、具有热插拔与动态特性、 支持SOA、支持模块扩展、提供安全性支持 等
5.
OSGi应用现状 IBM的Eclipse、WebSphere Oracle的Weblogic Paramus的Infiniflow Service Fabric ProSyst的ModuleFusion Red
Hat的JBoss SpringSource的SpringSource应用平台 Sun Microsystem的GlassFish企业服务器 BWM车载系统 其它
6.
什么是OSGi.NET OSGi规范移植到.NET平台的实现 基于.NET的开放服务平台,支持.NET Framework 2.0+ 微内核+模块+面向服务架构思想 高内聚与低耦合 支持面向服务编程模型 热插拔与动态性 复杂系统=模块+服务+模块+…
7.
OSGi.NET主要功能 模块化与插件化 热插拔与动态性支持 面向服务架构支持 模块扩展性支持 安全与隔离支持 支持控制台、Windows服务、WinForm、 WPF、ASP.NET等各种.NET环境
8.
OSGi.NET 3分钟体验 尤埃开放服务平台UIOSP (XAUI Open
Service Platform) Demo
9.
为什么OSGi 开放平台 简单易懂,快速集成 标准模块化开发 组件级复用的解决方案 高可扩展性支持 面向服务架构支持 动态与热插拔
10.
OSGi.NET原理
11.
OSGi.NET体系结构
12.
模块层概述 提供了对模块化和插件化完整规范与定义 模块层定义了 模块和片段模块 模块间依赖与解析 模块类加载模型 模块扩展支持
13.
模块定义 定义 封装了特定的功能,向其它模块提供服务契约与 实现 由.NET类和其它资源组成 定义了模块基本信息、模块激活信息、模块运行 时描述、模块的服务以及模块扩展信息
14.
模块定义 标准目录结构 位于OSGi.NET框架指定的plugins目录下 由模块定义文件Manifest.xml和相关运行文 件组成
15.
Manifest.xml 模块清单文件 基本信息——<Bundle>XML节点 激活器信息——<Activator>XML节点 运行时描述——<Runtime>XML节点 服务信息——<Services>XML节点 扩展信息——<ExtensionPoint>和 <Extension>XML节点 详细信息——<BundleInfo>XML节点
16.
Manifest.xml 示例结构
17.
模块类型空间 模块 = Manifest.xml
+ 类 + 资源 模块类型空间是指这个模块可以访问的所有类 型的集合 模块类型空间 = 本地程序集类型 + 依赖程序 集类型 在Manifest.xml的<Runtime> XML配置节点定 义
18.
模块运行时定义 <Runtime> XML配置节点 模块本地程序集 模块依赖的程序集 使用<Assembly> XML配置节点声明本地程序 集 使用<Dependency>
XML配置节点声明依赖 依赖其它模块的程序集 依赖其它模块(所有程序集)
19.
运行时定义示例
20.
模块类型加载 模块类型空间组成 本地程序集 片段模块(子模块)本地程序集 依赖的程序集 依赖的模块 类加载支持 对CLR类加载机制进行扩展 通过IBundle.LoadClass提供类加载功能
21.
模块类型加载 类加载顺序 .NET类库 本地程序集 片段模块本地程序集 依赖的程序集 片段模块依赖的程序集 依赖的模块 动态依赖的程序集
22.
模块扩展支持 通过<ExtensionPoint> XML节点定义一个可 扩展点 使用XML Schema定义了扩展信息的格式 使用IBundleContext的GetExtensionPoints、 GetExtensions等方法获取扩展信息 使用IBundleContext.ExtensionChanged事件监听 是否有模块对其进行扩展 模块在启动时添加扩展,停止时卸载扩展 通过<Extension>
XML节点定义一个扩展 标准XML描述了扩展信息 动态实现扩展
23.
生命周期层状态 INSTALLED——模块已经成功安装 RESOLVED——模块已经解析了所有依赖, 意味着模块准备启动或者已经停止 STARTING——模块正在启动 ACTIVE——模块已经成功激活且正在运行 STOPPING——模块正在停止 UNINSTALLED——模块已经被卸载
24.
生命周期层状态迁移
25.
生命周期层操作 通过IBundleContext提供了模块的安装操作 通过IBundle提供了模块生命周期操作接口 解析IBundle.Resolve 启动IBundle.Start 停止IBundle.Stop 卸载IBundle.Uninstall
26.
服务层概述 服务=服务契约+实现 服务契约:接口 实现:接口实现类 将接口与实现分离 允许提供不同实现 动态发现与绑定服务
27.
面向服务支持 服务注册表ServiceRegistry 服务的容器 通过IBundleContext访问,包括:AddService、 RemoveService、GetService 通过<Sevices> XML配置节点自动注册和卸载服 务
28.
面向服务支持 服务发现与引用 通过使用IBundleContext.GetService等接口搜索 服务 获取返回值绑定到服务契约
29.
模块安全 确保模块不被非法篡改 非对称加密 数字签名
30.
模块安全 模块安全沙箱,避 免非法访问 操作系统资源 .NET框架类库功 能 OSGi.NET框架 其它模块
31.
模块安全沙箱 基于.NET Code Access
Security(CAS)技 术 使用程序集证据对代码进行授权 提供了代码操作权限认证 CAS基本权限 扩展权限BundleLifecyclePermission、 BundleMetadataPermission、ServicePermission、 BundleEventPermission等
32.
模块隔离 模块隔离目的 确保模块不会影响到OSGi.NET框架 确保模块不会影响另一个模块 使用逻辑进程对模块进行隔离 OSGi.NET框架实时管理与监控模块运行状况 模块占用资源 模块故障检测 模块故障恢复
33.
OSGi.NET基础服务
34.
模块管理服务 模块管理 查询模块 监控模块变化 生命周期操作 模块元数据 模块依赖管理 更改模块信息 提供IBundleManagementService服务契约
35.
启动级别服务 控制启动和停止Bundle的顺序 提供了一下功能 安全模式启动 启动进度报告 处理不稳定模块 处理高优先级模块 提供了IStartLevelService服务契约
36.
启动级别服务 原理 启动级别为非负整数, 0表示没有任何模块启动 OSGi.NET启动级别为1 启动时,框架从级别1开始增加,每增加一次便启 动相应级别的模块,直到级别增加到设置的启动 基本 停止时,从设置的启动基本开始减少,每减少一 次便停止相应的模块,直到级别为0
37.
服务组件管理服务 提供了对OSGi.NET框架内服务的管理 注册服务 卸载服务 服务查询 服务监控 模块间服务引用关系 服务计数
38.
消息总线服务 提供了模块间 基于消息总线 的通讯 基于消息主题 发布消息 订阅消息 处理消息
39.
OSGi.NET辅助工具
40.
OSGi.NET模板
41.
模块配置工具
42.
远程管理控制台
43.
监控与管理工具
44.
OSGi.NET实践
45.
UIOSP简介 UIOSP:XAUI Open Service
Platform 支持面向服务构架的开放服务平台 OSGi在.NET平台的实现,目前是RC2版本 兼容各种.NET环境,包括桌面环境、Web环 境和移动应用环境 目前与HP、Microsoft合作在某国企实施基于 UIOSP的应用 成功应用于AppStore和SaaS Engine研发
46.
基于UIOSP应用架构
47.
UIOSP应用——云计算平台
48.
UIOSP基本功能实践 模块化 面向服务 模块扩展
49.
UIOSP实践——模块化 1 创建默认模块 模块项目结构和目录结构 Activator与IBundleActivator、IBundle、 IBundleContext Manifest.xml介绍 2 初始状态 3
启动级别
50.
UIOSP实践——模块化 4 模块运行时与类加载 本地程序集 共享本地程序集与程序集依赖 类加载 5 模块生命周期操作 6
晚激活 7 片段模块等其它(略)
51.
UIOSP实践——面向服务 1 服务提供者 通过激活器注册服务 通过Manifest.xml注册 2 服务消费者 服务查询与绑定 服务事件
52.
UIOSP实践——模块扩展 1 扩展点 暴露扩展点 处理扩展点 处理扩展点事件 2 扩展 扩展定义
53.
Q & A
54.
The end Thanks!
Jetzt herunterladen