??xml version="1.0" encoding="utf-8" standalone="yes"?>色在线视频网,91久久久久久久久久久久久,9999在线视频http://www.aygfsteel.com/junky/category/29091.htmlzh-cnMon, 21 Jan 2008 06:12:41 GMTMon, 21 Jan 2008 06:12:41 GMT60OSGi技?/title><link>http://www.aygfsteel.com/junky/archive/2008/01/21/176681.html</link><dc:creator>junky</dc:creator><author>junky</author><pubDate>Mon, 21 Jan 2008 02:11:00 GMT</pubDate><guid>http://www.aygfsteel.com/junky/archive/2008/01/21/176681.html</guid><wfw:comment>http://www.aygfsteel.com/junky/comments/176681.html</wfw:comment><comments>http://www.aygfsteel.com/junky/archive/2008/01/21/176681.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/junky/comments/commentRss/176681.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/junky/services/trackbacks/176681.html</trackback:ping><description><![CDATA[OSGi技?br /> <br /> 原文:<br /> <a >http://www.osgi.org/osgi_technology/index.asp?section=2</a><br /> <br /> ?br /> <br /> OSGi规范为网l化的服务定义了一个标准的,面向lg的计环?l网l设备添加OSGi服务q_,使之可以有能力在|络的Q何地点管理Y件组件的生命周期.lg可以在运行期间被安装,更新或删?无需打断讑֤的其他操?软glg是可以动态查扑֒使用其他lg的库或程?软glg可以通过购买或自行开?OSGi联盟已经开发了许多标准的组件接?诸如HTTP服务?配置,日志理,安全,用户理,xml{等q些常用功能.可以从不同的提供商那里获得这些即插即用的兼容实现.<br /> <br /> 软glg体系正面临一个日益凸现的问题:大量需要开发和l护的配|?而标准化的OSGilg体系极大的简化了q个配置q程.<br /> <br /> 框架<br /> OSGi规范的核心组件是OSGi框架.他ؓ(f)应用提供了一个被UCؓ(f)包捆(bundle)标准环境.OSGi包括q样四层:<br /> L0.执行环境<br /> L1.模块<br /> L2.生命周期理<br /> L3.服务注册?br /> 此外q包含一个安全系l?<br /> <br /> 执行环境?yu)是Java环境.J2SE,CDC,CLDC,MIDP{都是合法的执行环境.OSGi同时Ҏ(gu)核心定义(foundation profile)和一个最版本制定了一个标准的执行环境.<br /> 模块层定义了c装载策?OSGi框架是一个强大的c装载模?以Java为基但加入了模块化的思想.在Java?只有一个包含了所有的可用cd资源c\?OSGi的模块层qؓ(f)一个模块提供了U有cM及模块之间的q接.<br /> 生命周期层将包捆动态地安装,启动,停止,更新和卸?包捆依赖于模块层的类装蝲但提供了一套API来在q行期管理所有的模块.扩展的依赖机制用于确保正模块依赖关p?<br /> 服务注册表ؓ(f)包捆提供一个互操作模型实现动态?包捆可以通过传统的类׃n来互操作,但是cd享在当动态安装和卸蝲代码时会(x)表现得很不稳?服务注册表提供了一个易于理解的模型来在包捆之间׃n对象.大量的事件被定义于处理服务之间的交互.服务如同Java对象一?可以代表M事物.许多服务和对象是一L(fng),像http服务?服务是现实中的一个对?比如一个附q的蓝牙?sh)?<br /> <br /> 安全是徏立在Java和Java2安全模型之上.语言U的限制避免了许多可能出现的隐?zhn)?The language by design limits many possible constructs). 比如,病毒常用的缓冲区溢出是不可能?讉K修饰W可以限制代码的可见?OSGi通过"允许U有c?扩展了这一模型,在标准Java中不包含q种机制.Java2安全模型提供一个易理解的模型来查代码对资源的访问权?OSGi加入了完全的对访问请求动态管?<br /> <br /> 标准服务<br /> <br /> 在框架之?OSGi联盟制定了许多服?服务׃个Java接口定义.包捆可以实现q个接口q把实现注册到服务注册表.服务的用户可以从服务注册表中扑ֈ?或者对服务的加入或取消做出反应.<br /> 以下各部分给出OSGi release 3服务的一个简单介l?更多资料可以找OSGi服务q_release 3的书c或PDF下蝲.要注意每个服务都是先被抽象地定义然后׃同厂商独立实?<br /> <br /> 框架服务<br /> <br /> OSGi框架提供一个权限管理服?permission admin service ),一个包理服务(package admin servie),和一个启动别服?start level service).q些服务是可选的 and direct the orperation of the Framework(不知道怎么?.<br /> • 讉K理(Permission Admin) - 当前或将来的包捆的访问权限可以通过q个服务来操?<br /> • 包管?Package Admin) - 包捆之间׃ncd资源.包捆的更新可能需要系l重新更新包捆之间的依赖关系.该服务提供系l实际包的共享状态ƈh׃n的包.?取消或者重新计依赖关p?<br /> • 启动U别(Start Level) - 启动U别是一个包捆的集合,q个集合中的包捆必须一同运行或者要在其他服务启动之前初始化.启动U别服务讄当前的启动?制定某个包捆的启动?查看当前讄.<br /> <br /> pȝ服务<br /> <br /> pȝ服务提供横向功能(horizontal function),q些在每个真实的pȝ中都是存在的.比较常见的有,日志服务(Log Service),配置理服务(Configuration Admin Service),讑֤讉K服务(Device Access Service),用户理服务(User Admin SErvice),IOq接服务(IO Connector Service)和参数选择服务(Preferences Service).<br /> • 日志服务 - 信息,警告,调试信息的纪?或者处理错?他接收日志纪录信息然后分配他们给其他订阅了这些信息的包捆<br /> • 配置理服务 - 该服务提供一个易伸羃的动态模型来讄和获得配|信?br /> • 讑֤讉K服务 - 讑֤讉K是配|一个驱动器C个新讑֤q自动下载实现该驱动器的包捆的机?br /> • 用户理服务 - 该服务用一个用户信息数据库(U有和公?来鉴权和授权.<br /> • IOq接服务 - 实现了CDC/CLDC的javax.microedition.io包作Z个服?该服务允许包捆提供新?可选协议方?<br /> • 参数选择服务 - 提供属性数据库的访?和W(xu)indows的注册表或Java的Preferencesc?<br /> <br /> <br /> 协议服务<br /> OSGi联盟定义了以下外部协议服?<br /> • Http服务 - 一个servlet容器.包捆可以提供servlet.OSGi的动态更新机制服务^C得Http服务变得非常׃h,加入新的servlet而不需要重?<br /> <br /> • UPnp服务 - 通用x即用(Universal Plug and Play)是一个正在兴L(fng)用于用户?sh)子讑֤的标?OSGi UPnP 一个UPnP|络讑֤映射到服务注册表.或?一个服务映到UPnP|络(该服务在release 3中被推荐).<br /> • Jini服务 - Jini是一个网l协?用于在网l上发现Jini服务q下载执?(该服务在release 3中被推荐).<br /> <br /> 其他服务<br /> • 兌理服务(Wire Admin Service) - 通常包捆?x)自己徏立查找服务的规?但是在很多情况下,q是一个发布时需要考虑的问?因此兌理服务?x)通过一个配|文件把不同的服务连接v?使用消费者和生者的概念来达到对象之间的互操?<br /> • XML解析服务 - 允许一个包捆定位一个解析器q用相应的属?与JAXP兼容.<br /> <br /> l论<br /> OSGi规范的适用范围很广.因ؓ(f)它通过一个很单的层得同一个虚拟机的Javalg高效率的交互.通过一个扩展的安全模型来ɾlgq行在一个安全的环境?通过恰当的访问限?lg可以被重用和l合.OSGi 框架q提供了一个扩展的部v机制来让q种交互可行,安全.<br /> <br /> 各个领域构徏在OSGi之上的中间g的大量出?q就lOSGi软glg创造了一个很大的软g市场.The rigid definition of the OSGi Service Platform enables components that can run on a variety of devices, from very small to very big. <br /> <br /> 采用OSGi规范可以降低软g开发成?同时提供新的商业Z(x).<br /> <br /> q一步阅?br /> OSGi Service Platform, Release 3下蝲:<br /> <a >http://www.osgi.org/osgi_technology/download_specs2.asp?section=2</a><br /> 或买?<br /> <a >https://secure.inventures.com/osgi/sales/R3Book_order_form.asp</a><br /> <br /> OSGi联盟写的技术白皮书:<br /> <a >http://www.osgi.org/documents/osgi_technology/osgi-sp-overview.pdf</a><br /> 更深入介lOSGi的白板白皮书(whiteboard whitepaper):<br /> <a >http://www.osgi.org/documents/osgi_technology/whiteboard.pdf</a><br /> <br /> 译?derekzhangv.at.hotmail.com<br /> Ƣ迎指正Q讨?<br /> <img src ="http://www.aygfsteel.com/junky/aggbug/176681.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/junky/" target="_blank">junky</a> 2008-01-21 10:11 <a href="http://www.aygfsteel.com/junky/archive/2008/01/21/176681.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">β</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">ʯȪ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ҿ</a>| <a href="http://" target="_blank">Ӫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">dz</a>| <a href="http://" target="_blank">ϰ</a>| <a href="http://" target="_blank">ѭ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̫</a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">Ͼ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ϻ</a>| <a href="http://" target="_blank">¡</a>| <a href="http://" target="_blank">Ҿ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͨ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>