模块化Java:声明式模块化
本文是模块化Java系列文章的第4篇,介绍的是声明式模块化。文中描述了组件如何以声明的方式来定义并组织在一起,而无需让代码依赖于OSGI API。
作者 霍泰稳 发布于 2007年10月12日 上午1时34分
在《程序员》杂志2007年第十期的“2.0时代的软件商业模式——SaaS”专题中,作者方舟撰文“服务不够,还得有软件——微软S+S战略初窥”的文章中,介绍了微软目前提出的Software plus Services(S+S)战略。
软件领域从来不缺少名词,比如现在比较热门的Web 2.0、SOA、REST和SaaS等。与其他几个名词不同,SaaS好像自诞生之初就不受微软的欢迎,微软架构策略总监John Devadoss就曾质疑表示,SaaS单纯地依靠服务的模式是不合时宜的,因为“我们并不是活在‘一个尺码全适用’的世界里。”,这也是微软提出S+S战略的初衷:
几年以来,微软一直在针对S+S进行研究和思索,发现在实际当中,用户并不是只需要软件或者只需要服务,而往往是对两者都有欲罢不能的需求,因此S+S的核心要义在于,并不是“软件‘或’服务”,而是“软件‘和’服务”——你不必在软件和服务当中选择,你可以也应该两者兼备。软件与服务在S+S中扮演了互补的角色。
在文章中,作者还阐述了S+S战略所包含的支柱性内容,如体验(Experience)、交付(Delivery)、联盟(Federation)、聚合(Composition)等:
在体验方面,S+S涵盖3个关键的客户组件:易于部署的浏览器、富客户端、信息工作平台Microsoft Office软件。 在交付方面,S+S提供了多种交付方式并存的方案,让客户来选择软件交付的形式。 在联盟方面,S+S是跨组织的、自底向上的方式,数据、业务逻辑、服务联接形成了有机整体。 在聚合方面,S+S达到了新的开发层级,将服务、数据和用户体验聚合在一起,首先是以服务为基础单元,在服务的基础上建立SOA、然后再在SOA的基础上搭建Office商业应用,作为实际的用户层面接口。
SaaS的特点是软件部署为托管服务,通过Internet进行存取。Google的Desktop和Amazon的AWS都是SaaS的代表产品,无论是面向个人还是企业的服务,都取得了不小的成绩。微软在这时推出S+S是否源于SaaS的压力不得而知,但可以知道的是,微软之所以推出S+S战略和其积累多年的强大产品基础密不可分:
首先,近十年来微软最大的赌注.NET仍然是微软所仰仗的支柱; 其次,微软的WCF所蕴含的宏大愿景使得WCF成为微软的SOA方面的实现基础; 其三,以WPF以及Silverlight为代表的新一代用户体验技术构成了S+S中新的用户接口模型; 其四,微软Office已经成为商业中不可或缺的基本应用软件,另外微软推出的VSTO给微软Office的应用和整合提供了更加完备的技术集。
虽然微软在面向服务领域的脚步貌似迟到了一些,但谁也不敢忽视“软件霸主”的每一手出招。至于最终结局如何,尚不可知。SaaS和开源软件密不可分,Gartner的数据显示“开源软件在2011年预计达到的1692亿美元的收入中占据27%的份额,较2006年的13%增长近一倍”。而微软公司的一名资深员工在接受记者采访时则表示:
Software as a Service(SaaS)并不能终结客户端软件,比如Salesforce实际上是提供客户端软件,Google的SaaS应用也需要安装客户端软件,所以SaaS只是一种想象中的软件在线订阅模式,而SOA更加集中在Server端技术和服务整合上。微软的S+S是指整合“服务+客户端+服务器端”,只有微软才能提供这个最完整的整合服务,因为微软在这三个领域都很强。
谁将最终胜出,是SaaS?还是S+S?我们且拭目以待。你的观点呢?
以WPF,Silverlight作为Desktop的Software,使用WCF,SOA实现Server上的Service。
如果说S+S实际上就是RIA,我不是特别认同,这会大大小看了S+S。根据我的了解,微软推S+S的初衷其实是针对IBM的SOA战略的,因为IBM在SOA方面已经确立了自己的领先地位,微软是不会选择跟进策略的,所以另辟蹊径,创造了“S+S”的概念。但现在SaaS起来之后,微软发现真正的竞争对手不是IBM,而是Google,所以现在在宣传中开始着重突出用户体验和协作等。
没事就整出个新名词,搞得人头都大了.
其实都是差不多的概念.
大家都是新瓶装旧酒,只是标签不同,赠品不同而已.
本采访是在伦敦举行的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谈论了跟他的新作。
3 条回复
关注此讨论 回复