【IT168技术分析评论】
【提要】最近,WPS将推出在线版,Adobe将推网络版Photoshop,微软推在线托管软件Google占在线办公市场92%,Skype创办者推在线电视百度推在线杀毒,SaaS运营商“永久免费”普及在线CRM。毫无疑问,这主要是Web 2.0技术推动的结果。在线软件有无发展潜力?上面这种“热炒”究竟存在怎样的问题?在本文中,让我们尽可能以冷眼对在线软件作一番探讨。
一、 何谓“在线软件”?
所谓“在线软件”,主要是指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公司宣布,将在全球范围内推出一个全新的宽带电视服务。目前这一服务在其网站www.joost.com上提供测试,并让用户报告测试的情况和问题。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开发框架的一个高端透视图。
图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在如此短的时期内所取得的巨大成就,足以证明在线软件存在着巨大的发展潜力,但是仍然需要一个过程,而这不仅仅是产品本身的问题了。