模块化Java:声明式模块化
本文是模块化Java系列文章的第4篇,介绍的是声明式模块化。文中描述了组件如何以声明的方式来定义并组织在一起,而无需让代码依赖于OSGI API。
作者 Abel Avram 译者 张龙 发布于 2009年6月18日 下午10时28分
志在改变互联网的Opera Software于近日发布了其最新版的浏览器:Opera 10 Beta 1,该浏览器使用了一项称为Opera Unite的服务器端技术,用户可以凭借该项技术直接进行互联以共享数据和交流而无需借助于中间服务。
使用Opera Unite的前提条件是互联网是自由的,不被任何人控制。现在,大多数的互联网活动都会通过各种服务器实现,这些服务器上运行着特定的服务,如Email、聊天、照片共享以及社交网络等等。Opera希望通过在浏览器内构建服务器端技术来改变这一切,这样用户就可以在自己的计算机上保存所有数据并进行共享。Opera Software的产品分析师Lawrence Eng谈到了Opera Unite背后的动机:
社交网络很重要,但拥有虚拟房产以及那些共享资源的人是谁呢?使用他人的站点来保存我们的个人信息会不会导致我们对自己的言论、图片以及身份失去控制呢?现在我们的依赖性变得越来越大了。我想在没有任何预兆的情况下一旦Web邮件服务关闭,那么我们当中的很多人都将与朋友失去联系。我们很多人都使用过像MySpace和Facebook这样的交友网站,那你就必须得接收其“服务条款”。通过这种虚拟网络每天与成百个“亲密”朋友保持联系的意义何在?我们真实的社交网络是怎样的呢?我们都是每隔一段时间(比如一周一次或是每天)与朋友进行联系。在线解决方案为何能弥补现实世界中的那些不足呢?
要想开启内建的服务器,浏览器需要具备Opera Unite Services——一种特殊的Widgets。默认情况下有很多服务:
- Opera Unite页面:一个预览页面,列出了服务和活动的种子,同时还列出了其他人正在运行的服务。
- 文件共享: 采取简单且安全的方式直接共享计算机上的文件。
- Fridge: 存放随笔的地方。
- 照片共享:无需上传就能与世界各地的朋友共享你的照片。
- 媒体播放器:无论在哪都能访问自己的音乐库
- Web服务器:托管运行在本机上的Web站点。
- Lounge:可以邀请朋友在Lounge中聊天。
开发者可以通过JavaScript构建自己的服务并将其上传到Opera站点与他人共享,或是干脆就不上传。一旦服务运行,其他用户只需在任意的浏览器中输入相应的URL地址就能访问服务了,无需自己运行服务。
Opera Unite并不是完全不需要中间层。它会打开一个防火墙端口(8840),同时服务需要连接到Opera的代理服务器上,这也就解释了为何用户只需一个URL地址而无需任何的防火墙配置就能访问服务了。因此,服务仍旧依赖于第三方服务器,最近有报告说由于不断增长的用户,服务器已经不堪重负了。
根据Net Applications的调查,目前Opera浏览器的市场份额不到1%。
查看英文原文:Opera Unite Gives the Power Back to the People
本采访是在伦敦举行的QCon2009上记录的,Ian Robinson和Jim Webber探讨了如何将Web作为整合平台以及REST在理论上和实践中的好处。
项目管理对于项目成败至关重要,但实践中每个项目都有自己的独特性,没有现成的解决方案可以套用。书中从应对实际风险的角度出发,讲述了从项目启动、项目规划到项目结束的整个管理流程,展示了作者的思考过程。本迷你书从原书中精选出5个章节。
在这个演讲中,Fred将会揭示敏捷的一些外在因素,并会重点关注敏捷获得成功的内在原因。从案例研究和真实的项目经验来看,Fred认为:工具、管理体系都不能让你变得敏捷。敏捷的成功,植根于士气高涨、充分授权的工作者身上,他们能够以不同以往的方式思考问题。
Eben Hewitt的新书《Java SOA Cookbook》从Java实现的角度讨论了面向服务架构。Eben在书中讨论了SOA基础、工具、最佳实践和SOA治理等主题。
Mark Richards的新书《Java消息服务》第二版覆盖了JMS的许多主题, 包括发布和订阅模式以及点对点模式,消息过滤和事务等。InfoQ与Mark谈论了跟他的新作。
2 条回复
关注此讨论 回复