一、 何谓“在线软件”?
所谓“在线软件”,主要是指SaaS(Software-as-a-Service的简称,软件即是服务)。这是一种新的软件交付方法。通过这种方式,软 件功能可以以基于Web的服务方式提交给客户。SaaS允许相关组织以较之传统基于注册许可的软件更低的成本来访问业务功能―典型情况下,它是以基于月租 费方式实现的。另一方面,因为软件宿主是远程的,所以用户不需在额外硬件上投资。因此,SaaS使用户消除了安装,调试及日常维护等一系列麻烦。
据报导,目前,仅Google一家占居了在线办公近92%的市场。使用过gmail的用户都知道,Google的gmail看似普通却基于Web 2.0技术捆绑了大量在线功能,例如:在线文档编辑,在线图片编辑与管理,在线聊天等等。
尼尔森公司最近的统计发现,Google文件自从去年六月份以来已经是互联网在线协作办公软件的“老大”。Google文件目前的用户已经达到44.6万 人,这是全球在线办公软件用户的92%。除了人数上占据92%之外,Google文件在使用时间上更是占据了95%。据悉,每个Google文件的用户每 次使用时间长达十四分钟。其他的8%的在线办公软件用户流向了其他提供“在线Word”和“在线Excel”类似服务的产商,比如EditGrid、 Zoho、ThinkFree、Mumsum和WriteBoad。
最近,微软计划将与BT联手推出基于微软的连接服务框架(一种服务聚合平台)的面向中小型企业的在线托管软件。在这种发布机制中,软件被远程地托管在服务 器上,客户按月购买使用权,而不是运行在客户的服务器上,客户也无需支付先期购买费用。在初发布时,BT应用软件市场将提供约30种应用软件。
新年尹始,全球最大的个人信息安全厂商赛门铁克与全球最大的中文搜索引擎百度宣布,双方正式达成战略合作伙伴关系,将结盟推出在线杀毒服务。
据业内专家分析认为,赛门铁克和百度的结盟,是中国线上杀毒领域具里程碑意义的重要事件。一方面,随着国内互联网的迅速发展和对日常生活的逐步渗透,广大 网民正面临前所未有的个人信息安全风险,网络形态下的个人信息安全需求正在取代单机形态下的需求,成为杀毒厂商最主要的服务响应来源;另一方面,由于网民 的需求特点和使用习惯的变化,全球个人信息安全市场也正经历从完全线下销售的盒装“杀毒软件”到在线信息安全服务转型的变革。这位专家分析说,百度长期以 来积累的互联网用户资源,以及丰富的用户体验,与赛门铁克全球领先的个人信息安全技术的结合,为合作的成功奠定了基础。
CNET科技资讯网3月1日国际报道,为了迎接Google等竞争对手的挑战,Adobe计划在未来6个月内发布一个托管版本的Photoshop图像编 辑软件。这一在线服务是推出广告支持的在线服务,主要目的在于弥补现有产品线,扩大Adobe在消费者市场上地盘的更大计划的一部分。
几乎与此同时,业界知名的P2P软件商Skype公司宣布,将在全球范围内推出一个全新的宽带电视服务。目前这一服务在其网站 [url]www.joost.com[/url]上提供测试,并让用户报告测试的情况和问题。Joost的定位是成为一个全球范围的在线电视平台,并联合广告商、内容服务商和用户一起,提供没有版权限制的交互式电视服务。
最后,我们不妨再提一下前面占8%的在线办公软件。下图1展示了ThinkFree提供的在线Office套件。基于这种软件,在线用户可以实现与桌面 Office几乎一样的常规功能,如编辑与排版文档,打印与保存为指定格式等。最近,ThinkFree又推出其ThinkFree AJAX Edition,从而使其在交互性方面提升到更高的层次。
图1.ThinkFree提供的在线Office套件。
二、 在线软件开发主要技术剖析
在线软件究其本质就是一个网站。现在,我们来简单归纳一下在线软件开发的主要技术。目前,在线软件的开发平台主要可分为两大类:一类是基于微软的Windows+.NET平台的ASP.NET 2.0框架,另一类则基于Java平台。
基于.NET平台的ASP.NET 2.0开发技术
ASP.NET 2.0是一个基于Windows+.NET框架的Web开发平台,提供了相当完善的构建企业级应用所需的服务、编程模型和软件基础结构。下图2提供了ASP.NET 2.0开发框架的一个高端透视图。
而Visual Studio.NET 2005为构建ASP.NET应用和前端集成了大量的关键工具,提供了一个一体化的容器环境。尽管上图中涉及到大量内容,但是借助于Visual Studio.NET 2005对ASP.NET 2.0模型的高度集成,许多开发仅需要直观的向导操作或填充式属性设置即可完成。这个新IDE内置了一个本地Web服务器,从而使IIS成为可选,大大加 快了Web开发过程的测试和调试工作。此外,Visual Studio.NET 2005为ASP.NET 2.0开发直接提供了对SQL Server数据库后端的集成,从而使得开发者不必脱离集成环境即完成对后端的配置及相应SQL编程。当然Visual Studio.NET 2005体积过于庞大,致使ASP.NET 2.0开发的某些环节上许多加载/更新操作速度缓慢。
基于Java平台的Web开发技术
相对于微软的Visual Studio.NET 2005,基于Java平台的Web开发技术工具要丰富和复杂得多。
在J2EE技术发展中最迅猛的当属JavaServer Page(JSP)技术。几乎所有基于Java的Web应用都使用JSP。目前,Java Web应用的核心技术是JavaServer Page和Servlet。当然,开发一个完整的Java Web应用还涉及如下一些技术:JavaBean组件、EJB组件、自定义JSP标签、XML、Web服务器和应用服务器。下图3展示了典型Java Web应用的架构。
图3.典型Java Web应用的架构。
许多大公司,例如SUN,IBM,Oracle,Borland,等都有自己高度集成的Web开发环境;同时,这些公司也维持着许多以社团形式维护的 Web开发框架,并及时地从这些框架中吸收新鲜技术,从而进一步完善了自己的产品。各式的Web服务器,Web容器;各种IDE;各种数据库支持方案;各 种Web开发框架(商业及开源);这些技术往往都能融合到某个特定版本的统一环境下使用。很明显,开源极大地加快了基于Java平台的Web开发技术的发 展,但同时由于门派众多,技术层次不一,也加剧了基于Java平台在线软件开发的竞争度和复杂程度。这也正是许多商家选择价位高但高度集成的Visual Studio.NET 2005方案而放弃成本低廉的Java平台的最大原因。
其它Web开发技术
其它著名的Web开发技术有:PHP脚本语言,Adobe的Flex 2框架,Ruby+Rails框架等。
其中,PHP+MySQL以其简单直观性成为本文发达国家许多中小型企业构建在线软件平台的首选。
最 近,Adobe公司凭借其独创的Flash技术,并结合最新的AJAX技术,提供了新式的基于异步Flash和XML的集成开发环境―Flex 2。基于这一框架,用户可以在企业内部或在Web上创建丰富的互联网应用程序(即“RIA”),堪称最完整、最强大的RIA开发解决方案。它使企业能够创 建个性化的丰富多媒体应用程序,极大地提高用户的体验,彻底革新人与Web的交互关系。下图4展示了这个框架的整体架构视图。
图4.Flex 2整体架构视图。
此外,Ruby是一种发布很早但最近才流行起来的解释型的方便快捷的面向对象脚本语言。而Rails是一个用Ruby编写的全栈式、开源的Web框架,可 以使用它来轻松编写实际的应用程序,所需的代码也要比大多数框架花在处理XML上的代码少。下图5对Rails堆栈和典型的J2EE Web堆栈进行了比较。
图5 Rails堆栈和典型的J2EE Web堆栈比较。
AJAX技术
为什么SaaS能在ASP(网络应用服务供应商)遭受失败后仍能站住脚根呢?从技术角度看,异步JavaScript与XML(AJAX)以及异步Flash和XML使基于浏览器的应用程序看上去更像是桌面程序。这也将是Web 2.0时代在线软件成功的技术本源。
借助于AJAX技术,客户机不必从服务器下载用户界面。在传统B/S模式中,用户每一次点击都需要从服务器下载新网页,并全面刷新一次,而利用Ajax技术却只而作网页局部刷新。
此外,今天的软件在设计上采用了多用户架构,它使一个应用可以为多家企业提供服务,而不是ASP为不同的企业管理应用的副本。
SaaS成功的另外一个本源是互联网的环境发生变化,互联网上的电子商务发展,互联网的产品广告崛起,互联网作为重要通讯手段等都与90年代的ASP风潮环境有所不同,成功属于特定时代、特定环境、特定技术中的成熟模式。
另外,无线和带宽技术提供的近乎无处不在的接入和速度大大改进了接入和性能。用户完全不必要为网络连接担心。
总之,从对上面各种技术方案的粗略分析看来,Web 2.0时代在线软件的开发技术已不再成为问题。那么,还有哪些因素会影响到在线软件的发展呢?
三、 在线软件的困境
在线软件从其上市的那天起,就引起人们的广泛关注。今天,ASP服务、软件租用、月租型、托管型、在线软件充斥着软件世界,月租型CRM、在线OA、托管型ERP一涌而上。但仔细分析,SaaS(软件即服务)似乎会引发一场软件行业的大变革!
一边是“火焰”
与传统软件应用相比,在线软件开创了新的操作、办公、交付模式。SaaS完全以服务为中心,对IT人员而言,标准浏览器为交互界面简单易操作,移动办公不 受束缚,任何可以上网的地方都可实现,对CIO而言也无软件、硬件甚至IT人员等任何新包袱。任何SaaS的用户都面对同样的系统架构,因此,软件升级也 是服务商的职责之一。SaaS实现了按需付费,企业需要什么样的IT应用,就对该种应用付费,付费方式多元化,可以按年支付,也可按月支付,或者买断一定 年限。
另外,友好的数据交换接口,包括数据的导入和导出等,便于数据与客户内部的系统进行传输,而且可以满足个性化要求,能自由定义界面。
当很多企业仍停留于与传统软件服务商讨价还价的拉锯战中时,在线软件开创了一种新型模式,从而使企业抖掉负担基础结构、应用程序管理、监控、维护和灾难恢复等操作性问题的成本包袱。
一边是“海水”
“股 市有风险,入市须谨慎。”这话说得不错,使用软件托管服务尽管轻松省事,但也前途难测。试想,将公司财务数据、客户信息等重要核心数据放在第三方服务器 上,CIO们的心情可以想象。特别是服务器和网络遭遇不可预知的故障时,这种服务就实在充满置疑。归根结底,信用度问题是企业的心头大患,也是在线软件服 务提供商必须跨过的一道坎。例如:实施一个ERP系统的在线托管,如何确保线路99.9%的连通率,如何避免恶意攻击等问题。
对于缺乏谨慎的用户而言,SaaS(软件即是服务)协议中的漏洞可谓无处不在,不经意间,就可能给你制造棘手的麻烦。以下总结了在SaaS协议中经常驻存在的十大陷阱。
理 论上说,如果CIO们不希望承担用户安装和软件支持的繁重负担和高昂成本,SaaS是一种具有极高性价比的理想选择。用户可以通过自己的浏览器访问基于 Web的软件服务,IT部门无须添置大量服务器,也不需要支付昂贵的电费,甚至可以在数据中心节省大量的空间,从而有效降低成本。而采用SaaS方式真的 便宜吗?
Gartner分析师Rob DeSisto说:“如果认为签订SaaS协议后所有情况下都能省钱,那就大错特错了。”DeSisto指出,SaaS客户需要支持各种各样的间接费用, 客户必须保持警惕。为此,他总结了SaaS协议中隐藏的十大陷阱:在协议中,你同意了哪些内容?极具诱惑力的分期付款方案;缺少服务水平协议(SLA); 性能水平;系统的正常运行时间问题;附加成本;无形的集成;数据权归属问题;不可谈判的协议问题;合同终止费问题;等等。
总之,现在是该敲响警钟的时候了,企业在热衷于该技术之前,需要降低其内在风险,许多网络安全公司的研究人员已经意识到,企业允许员工访问诸如 YouTube和Wikipedia之类的网站可能会使其系统濒临危险。这是因为这些网站依赖于用户产生的内容,而这些内容则会被别有用心的人所利用,来 写各种恶意代码并上载到服务器。尽管这些威胁目前仅停留在理论假设阶段,然而,随着该技术的普遍应用,这种威胁便会成为现实。因此,2007年一个热门话 题就是:评估网络使用策略并致力于良好的内容扫描技术。
Ajax――异步java以及XML技术是被列入潜在危险的另一领域。诚然,该技术为改善网络用户体验带来了革命性变化,然而,正如McAfee、 Symantec以及其它安全技术公司所指出的,这将增大跨网站脚本以及其它的攻击几率。并非该技术本身固有缺陷,而是为困惑软件开发已久的不良代码大开 方便之门。
然而,事物都是一分为二的。很明显,Web 2.0正面因素还是远大于负面影响,只是需要三思而后行。
需要一个过程
大致估计来看,目前Web 2.0网站技术上主要面临五大问题:技术投入大,周期长;产品差异化大,定制需求强;开发持续到整个运营过程中;互动性、实时性强,压力要求高;开发产品和用户之间需要有效沟通。
我们不妨以在线聊天为例作简单分析。在线聊天软件的优势是十分明显的―客户端只需要一个浏览器,而无需下载安装任何其它工具。但是,这种目前上市的这类软 件实在表现得过于简单。然而如果这种软件结合优势掩盖缺陷,应该会有自己的生存空间。比如实现一些在IM软件客户端上要受到使用限制的功能、比如多考虑与 移动终端的结合。这方面的另外一个例子是gmail―我们通过gmail收发邮件的同时,还可以通过附加的聊天工具聊上几句。总之,必须抓住用户需求,寻 找自己的突破口。
从时间上来看,Web 2.0刚刚开始,于人于技术莫不如此;而Web 2.0在如此短的时期内所取得的巨大成就,足以证明在线软件存在着巨大的发展潜力,但是仍然需要一个过程,而这不仅仅是产品本身的问题了。
四、 在线软件引发的数据安全问题
在我们大家都全心拥抱Web 2.0技术支持下的在线软件热潮时,许多人都犯下一个严重的错误―忽略了安全问题,或者至少是把安全放到了问题的最后。
Web 2.0互动技术引发大量危机
以上开发技术存在的问题是一个方面:各种技术在不断发展中,也各自存在各自的安全漏洞。
毫无疑问,AJAX是Web 2.0时代实现互动网页的最重要技术。现有的相对成熟的Web开发框架结合AJAX技术使很多IT技术公司看到了在线软件的发展势头,于是有的公司全线迎 战在线软件,而许多的公司正在试探性把自己的成熟的桌面产品逐渐“在线”化。然而,AJAX的“功能”不只是把网页变得更互动。AJAX软件意味着客户端 浏览器要放行JavaScript的运行。因此,从某种角度讲,这也向黑客提供了击垮Web服务器,攻击使用者的有利渠道。
对此,安全专家Hoffman作了最形象的比喻:“我们可以用房子来比喻。传统网站好比一幢没有窗子、只有一扇门的房子,而AJAX网站则是一个有数不清窗子和旋转门的房子,尽管你在前后大门上加了最安全的锁,但我还是可以从窗口钻进去。”
此 外,AJAX也增加了跨网站指令码的可能性,如果网站源代码撰写不留意就可能发生。专家指出,攻击者可以利用这项弱点绑架使用者帐号,发动网钓诈骗窃取信 息,甚至把恶意源代码下载到使用者电脑中。一些知名公司,例如微软、eBay、雅虎与Google等网站,都曾出现跨网站指令码的漏洞。
风险还不只如此。“AJAX其他可能风险包括程序竞争条件、源代码正确性、违反物件模型、不安全随机以及错误处理不当等等”,源代码分析工具供应商 Fortify软件首席科学家Brian Chess说。上述错误都可能导致信息外泄、A使用者控制B使用者的通讯,恶意源代码被执行或引发其他攻击等等。
Yammaner、Samy与Spaceflash是网络上赫赫有名的攻击程序。Yammaner蠕虫锁定雅虎Mail而来,专门收集邮件帐号并将自己复 制到雅虎使用者的所有通讯录中。Samy与Spaceflash两只蠕虫都已在MySpace上扩散,将这个知名社交网站的使用者信息加以变更。
前不久发现的Yamanner蠕虫就是利用雅虎Mail可在信息中附加JavaScript的功能而来。只要使用者一打开件,描述语言就会执行,并对雅虎Mail服务下指令把使用者的通讯录寄到远端服务器。这只蠕虫也会命令邮件服务把恶意信息寄给所有联络人。
去年十月爆发的Samy被视为第一个跨网站指令码漏洞攻击。它攻击了MySpace网站,把数百万用户加入到作者的“好友名单”上。MySpace用户看到被感染的使用者信息时,他自己的使用者信息也会被感染,并且会去感染别人。
幸好,上面两种攻击都没有引发实质性的危害,但专家警告这些漏洞未来可能遭到更为严重的攻击。
最后,还有一个最普遍又关键的问题就是:目的众多的AJAX开发框架中,几乎没有一个框架提供良好的相关安全性解决方案―这里面隐藏的危机可想而知!
解铃还需系铃人
伴随Web 2.0新技术的兴起,特别是MySpaces、Flickr或Google Maps等案例的成功自然会引发网络另一波拓荒浪潮。乍看起来,进入Web 2.0新技术门槛并不高,但事情决不只是架设一个网站那么简单。相比来看,先前那种“封闭”的桌面时代所涉及的安全问题相对于互联互动的网络时代要容易克 服得多。
WEB 2.0时期,微软的主打产品为Windows Live和Office Live。“微软能够做到的工作,就是用围堵的方式保证终端的安全。”据微软中国首席技术执行官李志霄介绍,终端与软件在互联网上是相连的,微软如果要保 证自身在平台里的代码的安全性,就必须努力做好用户认证管理和终端的管理,通过信息过滤和围堵,最大限度地推行用户的认知。
还好,在信息安全整合的浪潮中,微软具有诸多优势:既有操作系统、数据库,还有备份软件、系统管理软件。这种“过滤”和“围堵”对于桌面时代的安全问题可 能相当有效;但是,但信息是在互联网上传送的,互联网是公共平台,微软对互联网并没有控制权。因此,WEB 2.0时代的安全危机决非是一个简单的“过滤”和“围堵”所能解决的!
近一年来,国内外一系列的病毒案例足以说明问题:针对基于最新技术的病毒,大多安全公司往往采取的是“亡羊补牢”的方案―“××公司率先截获××病 毒……”。不知者往往会一句简单的“早干什么来?”,但是内行人士也许就为在这块领域吃饭的高手们暗暗喊冤了。记得“唐山大地震”期间,地震工作者在现场 勘查时遭到众多过激百姓的指责甚至围攻,这实在不足为怪。
因此,理想的Web 2.0在线软件开发者同时也必须是一位安全高手,或者此类产品是Web开发者与安全高手的有机结合。“……只有实际撰写Web应用程序的人才能真正解决安全问题。”国际级安全专家Hoffeman说。的确如此。
Chess的观点是,AJAX本身不会引发漏洞,只是它让旧有问题变得更容易发生。软件产业现在还停留在桌面应用时代,缓冲溢位在那是相当严重的问题。但AJAX中的JavaScript则为“老问题”注入了活力,“简直就是历史重演!”
值得庆幸的是,Web应用的好处之一是修补漏洞又快又简单,而所有这些不必有劳终端用户。
因此,在利用新技术进行开发的同时,应该把安全问题作为公司产品与服务设计、开发、上线及运营中不可或缺的一环来操作;同时,还应尽最大努力加大安全方案的研究,努力确保客户的数据安全。
五、 总结
虽然说“观棋不语真君子”,但是原本就已热血冲动,要按捺住急躁的情绪,谈何容易?Web 2.0吸引了几乎所有IT产品开发商的热切关注;然而,“关注”终归是“关注”,在线软件要真正走向市场并面对广大在线客户可能还要经历一个漫长的过程。 在中国的发展问题上,邓小平强调两句话:“实践是检验真理的唯一标准”;“发展是硬道理”。随着各方面因素不断发展和逐渐走向成熟,随着Web 2.0及其实践的不断深入人心,作为Web 2.0时代代表的在线软件也必将会不断壮大并走向成熟。
本文出自 “青峰” 博客,转载请与作者联系!