<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>cutesource</title>
    <description></description>
    <link>http://cutesource.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>SOA架构十大设计原则</title>
        <author>cutesource</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cutesource.javaeye.com">cutesource</a>&nbsp;
          链接：<a href="http://cutesource.javaeye.com/blog/231160" style="color:red;">http://cutesource.javaeye.com/blog/231160</a>&nbsp;
          发表时间: 2008年08月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          日前国外网站报道介绍了面向服务架构(SOA)的基本原则，提出了公共接口与内部实现要有明确界限等原则。虽然这些原则并不是绝对的真理，但可作为一个应用开发参考。<br /><br />    一、明确的边界<br /><br />    通过跨越定义明确的边界进行显式消息传递，服务得以彼此交互。有时候，跨越服务边界可能要耗费很大的成本，这要视地理、信任或执行因素而定。边界是指服务的公共接口与其内部专用实现之间的界线。服务的边界通过 WSDL 发布，可能包括说明特定服务之期望的声明。<br /><br />    二、服务共享和约和架构<br /><br />    服务交互应当只以服务的策略、架构和基于合约的行为为基础。服务的合约通常使用 WSDL 定义，而服务聚合的合约则可以使用 BPEL 定义(进而，对聚合的每个服务使用 WSDL)。服务使用者将依靠服务的合约来调用服务及与服务交互。鉴于这种依赖性，服务合约必须长期保持稳定。在利用 XML 架构 (xsd:any) 和 SOAP 处理模型(可选标头)的可扩展性的同时，合约的设计应尽可能明确。<br /><br />    三、策略驱动<br /><br />    尽管它往往被认为是最不为人所了解的原则，但对于实现灵活的 Web 服务，它或许是最有力的。单纯依靠 WSDL 无法交流某些业务交互要求。可以使用策略表达式将结构兼容性(交流的内容)与语义兼容性(如何交流消息或者将消息交流给谁)分隔开来。<br /><br />    四、自治<br /><br />    服务是独立进行部署、版本控制和管理的实体。开发人员应避免对服务边界之间的空间进行假设，因为此空间比边界本身更容易改变。<br /><br />    五、采用可传输的协议格式，而不是API<br /><br />    通常,服务提供商基于某种传输协议(例如HTTP)提供服务,而服务消费者只能通过另一种不同的协议(比如MQ)通信。因此，也许需要在服务提供商与消费者之间建立一座异步起动同步运行的连接桥梁,超越HTTP和Java Messaging Service消息服务(JMS)等协议.从技术角度讲，Java Messaging Service消息服务(JMS)并不是一种传输协议,而是一组供应商中立(vendor-neutral)的通信APIs。<br /><br />    六、面向文档<br /><br />    消息被构造为“纯文本的”XML文档(换句话说，数据的格式只对XML有意义)。 消息通常用于传输业务文档，比如购买订单、发票和提单。这种交互类型与同步消息排队系统的兼容性很好，比如MQ Series、MSMQ、JMS、TIBCO、IMS等等。<br /><br />    七、松偶合<br /><br />    服务之间要求最小的依赖性，只要求它们之间能够相互知晓。<br /><br />    八、符合标准<br /><br />    当通过Web的服务实现时，最原始的(基本的)面向服务的架构(SOA)的模型仅仅提供了很低程度上的关于可靠性、安全性以及事务管理的标准化机制。第二代的技术条件和框架，如WS-ReliableMessaging规范、 WS-Security规范和WS-Coordination规范 (与WS-AtomicTransaction规范和WS-BusinessActivity规范相联系)，它们试图以工业标准的方式定位存在的缺陷。<br /><br />    九、独立软件供应商<br /><br />    向SOA的转变正在深刻改变了经济现实。客户们会期待更合理的费用以及不必重新进行投资就能改进业务的能力。因此，独立软件供应商没有选择，只能使自己的业务更加灵活，以期让自己的客户也变得同样灵活。于是，面向服务不仅是简单的在现有的、紧耦合的、复杂的、不灵活的以及非组件化的业务功能上添加基于标准的接口。更重要的是，为了兑现SOA的承诺，独立软件供应商必须改变他们构建、打包、销售、交付、管理和支持自身产品的方式。<br /><br />    十、元数据驱动<br /><br />    开发元数据本身并不是元数据驱动应用程序的本意。使用元数据来驱动服务在系统边界的传播是一个更为正确的方法。
          <br/>
          <span style="color:red;">
            <a href="http://cutesource.javaeye.com/blog/231160#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 21 Aug 2008 14:00:23 +0800</pubDate>
        <link>http://cutesource.javaeye.com/blog/231160</link>
        <guid>http://cutesource.javaeye.com/blog/231160</guid>
      </item>
      <item>
        <title>SOA 的生命周期</title>
        <author>cutesource</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cutesource.javaeye.com">cutesource</a>&nbsp;
          链接：<a href="http://cutesource.javaeye.com/blog/228656" style="color:red;">http://cutesource.javaeye.com/blog/228656</a>&nbsp;
          发表时间: 2008年08月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          导读:一开始就对 SOA 项目进行细心的规划和设计。您需要考虑项目的整个生命周期，从最初的阶段到第一个实现，再一直到可能的修订和重用。<br /><br />由于 SOA 涉及到业务的诸多方面，因此需要从一开始就对 SOA 项目进行细心的规划和设计。您需要考虑项目的整个生命周期，从最初的阶段到第一个实现，再一直到可能的修订和重用。<br /><br />　　现在让我们看看 SOA 生命周期，如图 1 中所示。此部分概略说明了在生命周期的各个阶段发生的事项，并详细介绍了实现生命周期的各个步骤。<br /><br /><br />　　建模<br /> <br />　　面向服务的体系结构项目的第一步几乎和技术没有任何关系，所有事项都与您的业务相关。请记住，面向服务的方法将业务所执行的活动视为服务，因此第一步是要确定这些业务活动或流程实际是什么。对您的业务体系结构进行记录，这些记录不仅可以用于规划 SOA，还可以用于对实际业务流程进行优化。通过在编写代码前模拟或建模业务流程，您可以更深入地了解这些流程，从而有利于构建帮助执行这些流程的软件。<br /><br />　　建模业务流程的程度将依赖于预期实现的深度。另外，这个程度还依赖于您在开发团队中担任的角色。如果您是企业架构师，您将会对实际的业务服务进行建模。如果您是软件开发人员，您将可能对单个服务进行建模。<br /><br />　　组装<br /><br />　　对业务流程进行了建模和优化后，开发人员可以开始构建新的服务和/或重用现有的服务，然后对其进行组装以形成组合应用程序，从而实现这些流程。在“建模”步骤中，您已经确定了需要何种类型的服务以及它们将访问何种类型的数据。已经存在某种形式的实现这些服务或访问该类数据所需的一些软件。“组装”步骤将要找到已经存在的功能，并为其添加服务支持。另外，还涉及到创建提供功能和访问数据源所需的新服务，以便满足您的 SOA 涉及的业务流程范围内的需求。<br /><br />　　部署<br /><br />　　进行了建模和组装后，要将组成 SOA 的资产部署到安全的集成环境中。此环境本身提供专门化的服务，用于集成业务中涉及的人员、流程和信息。这种级别的集成可帮助确保将公司的所有主要元素连接到一起协同工作。此外，部署工作还需要满足业务的性能和可用性需求，并提供足够的灵活性，以便吸纳新服务（并使旧服务退役），而不会对整个系统造成大的影响。<br /><br />　　管理<br /><br />　　系统就位，一切都正常运行。 现在您可以对一切放手不管了，对吗？不对。部署后，需要从 IT 和业务两个角度对您的系统进行管理和监视。在“管理”步骤中收集的信息用于帮助实时地了解业务流程，从而能更好地进行业务决策，并将信息反馈回生命周期，以进行持续的流程改进工作。您将需要处理服务质量、安全、一般系统管理之类的问题。<br /><br />　　在本步骤中，您将监视和优化系统，发现和纠正效率低下的情况和存在的问题。由于 SOA 是一个迭代过程，因此，在此步骤中，您不仅要找出技术体系结构中有待改进之处，而且还要找出业务体系结构中有待改进之处。<br /><br />　　完成此步骤后就要开始新的“建模”步骤了。在“管理”步骤中收集的数据将用于重复整个 SOA 生命周期，再次进行整个过程。<br /><br />　　控制<br /><br />　　SOA 是一种集中系统；其中可以包含来自组织的不同部门的服务，甚至还能包含来自组织外的服务。如果没有恰当的控制，这种系统很容易失控。<br /><br />　　控制对所有生命周期阶段起到巩固支撑作用，为整个 SOA 系统提供指导，并有助于了解系统全貌。它提供指导和控制，帮助服务提供者和使用者避免遇到意外情况。
          <br/>
          <span style="color:red;">
            <a href="http://cutesource.javaeye.com/blog/228656#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 16 Aug 2008 13:30:22 +0800</pubDate>
        <link>http://cutesource.javaeye.com/blog/228656</link>
        <guid>http://cutesource.javaeye.com/blog/228656</guid>
      </item>
      <item>
        <title>颠覆传统运营模式 SaaS搅动中国软件产业</title>
        <author>cutesource</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cutesource.javaeye.com">cutesource</a>&nbsp;
          链接：<a href="http://cutesource.javaeye.com/blog/222569" style="color:red;">http://cutesource.javaeye.com/blog/222569</a>&nbsp;
          发表时间: 2008年08月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          SaaS（软件即服务）已经为越来越多的中小企业所熟知，通过租赁的方式享受软件服务，对许多中小企业来说是应用先进技术的最好途径。它不仅降低了企业的软件服务拥有成本，缩短了信息化建设周期，还大大减少了中小企业的运维成本。SaaS的出现彻底颠覆了传统软件的运营模式。<br /> <br />SaaS六大表现 搅动中国软件产业<br /> <br />　　 SaaS的出现让本就百家争鸣的中国软件产业又添新军，SaaS的运营模式、价格优势、服务方式让传统软件模式为之一震，SaaS何以“搅局”中国软件产业，主要表现在：<br /> <br />　　① SaaS对传统软件带来价格冲击。<br /> <br />　　SaaS改传统软件的买Licence为租用服务，让企业的拥有成本降到最低。拿中小企业用的比较多的 “进销存”软件来说，传统软件下，五个人使用的一套进销存软件需要壹万元以上，而一些基于SaaS模式的在线“进销存”只需两千多元，大大降低了中小企业信息化的实施门槛。<br /> <br />　　② 颠覆传统软件交付模式。<br /> <br />　　在SaaS的领域中，客户已看不到软件的影子，变成了100%的服务。软件供应商与客户的关系发生了彻底的转变：从售卖关系转变为服务关系，SaaS彻底革了传统软件交付模式的命，改变了人们对买软件的认识。<br /> <br />　　③ “先试后买”降低了信息化实施风险。<br /> <br />　　SaaS让软件供应商与客户之间的沟通更加透明，在保证价格和功能公开公正的同时，为潜在用户提供“先试后买”的消费体验，在实施之前先使用，让用户提前评估使用后的效果，大大降低了企业信息化的实施风险。这在传统软件中简直难以想象。<br /> <br />　　④ 促进软件与互联网融合。<br /> <br />　　2007年刚刚开始，阿里巴巴就宣布进军软件行业，要通过SaaS的模式提供软件服务。不仅有越来越多的软件企业开始通过互联网提供软件服务，同时越来越多的互联网也加入到了SaaS服务中来，加速了软件与互联网的融合。互联网给企业带来的不仅仅是发布和收集信息的窗口，更为企业的数据管理和信息应用提供了丰富的信息资源。通过SaaS把这些信息管理起来，成就了互联网和软件的融合。<br />　　⑤ Ajax把互联网技术引入软件。<br /> <br />　　Ajax（Asynchronous JavaScript and XML）结合了Java、XML以及JavaScript等编程技术，可以让开发人员构建基于Java技术的Web应用，并打破了使用页面重载的惯例。让用户享受SaaS应用服务的同时可以实现页面的局部刷新，使用基于浏览器的B/S软件像象使用传统的C/S软件一样习惯、流畅。像Ajax这样的应用正不断透过SaaS使用到软件行业中来。<br /> <br />　　⑥ 普及软件思想，促进整个市场发展。<br /> <br />　　有人说SaaS对于传统软件来说是洪水猛兽，但笔者认为不然。在线租用模式可以使整个企业信息化的门槛降到最低，让那些高不可攀的信息化应用成为可能，SaaS还可以让那些不知道什么是CRM，不知道什么是ERP的企业主能够试用、并切实了解到信息化的好处和作用，使信息化的普及成为可能。很多实例证明，SaaS服务商在推广SaaS应用的同时，也帮助了传统软件的应用和推广。<br /> <br />SaaS为中国信息化带来意外收获<br /> <br />　　SaaS在颠覆传统软件运营模式的同时，也为中国信息化建设带来了意外收获：<br /> <br />　　① 通过SaaS政府服务中小企业信息化服务实现落地。<br /> <br />　　近些年来，政府服务中小企业信息化建设的决心越来越大，但是苦于找不到合适的方法和措施，使政府的重视与企业的需求之间无法实现顺利对接。 SaaS的出现成功解决了政府服务中小企业信息化的落地。去年，为推动北京市商业的发展，促进中小企业的信息化水平的提升，北京市科委开展了基于 ASP（应用服务提供）模式的中小企业信息化示范工程。该项工作通过组织实施企业联盟搭建了信息化公共平台，为北京中小企业（特别是商业中小企业）引入了 “低成本、快实现”的信息化解决方案。<br /> <br />　　② 没有软件只有服务，SaaS让盗版无版可盗。<br /> <br />　　SaaS没有软件只有服务，用户只为服务付费。软件则沦为SaaS服务商的少量需求，没有了大量的软件需求市场，盗版软件便没有了生存的根本。同时SaaS服务通过互联网升级和正版认证，也让盗版无版可盗。<br /> <br />　　越来越多低使用成本的SaaS应用逐渐覆盖了传统Licence模式的软件，也让盗版市场无利可图。Google在2006年发布了自己的在线Office，正式发起对微软Office的挑战，相信随着SaaS的发展在线OS、在线播放器、在线IM、在线OA……等软件应用将越来越多，低廉的使用价格将让盗版无处生存。
          <br/>
          <span style="color:red;">
            <a href="http://cutesource.javaeye.com/blog/222569#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 01 Aug 2008 08:32:48 +0800</pubDate>
        <link>http://cutesource.javaeye.com/blog/222569</link>
        <guid>http://cutesource.javaeye.com/blog/222569</guid>
      </item>
      <item>
        <title>软件产业裂变 SaaS生态渐成</title>
        <author>cutesource</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cutesource.javaeye.com">cutesource</a>&nbsp;
          链接：<a href="http://cutesource.javaeye.com/blog/222568" style="color:red;">http://cutesource.javaeye.com/blog/222568</a>&nbsp;
          发表时间: 2008年08月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          SaaS*发展至今已有近十年的历史，尤其是近几年来，随着互联网接入和使用的大规模普及，软件服务提供商和使用者的供需市场日趋繁荣，SaaS取得了飞速发展，其服务品类和用户数量得以剧增。不断变革的软件产业正经历着由传统软件向“软件即服务”的裂变。在如今这个变革时期，SaaS产业已初具规模，并渐成生态。<br /> <br />SaaS别于传统软件的三个特性<br /> <br />　　最早的SaaS服务之一当属在线电子邮箱，极大地降低了个人与企业使用电子邮件的门槛，进而改变了人与人、企业与企业之间的沟通方式。发展至今，SaaS服务的种类与产品已经非常丰富，面向个人用户的服务包括：在线文档编辑、表格制作、日程表管理、联系人管理等等；面向企业用户的服务包括：在线存储管理、网上会议、项目管理、CRM（客户关系管理）、ERP（企业资源管理）、HRM（人力资源管理）、在线广告管理以及针对特定行业和领域的应用服务等等。<br /> <br />　　与传统软件相比，SaaS服务依托于软件和互联网，不论从技术角度还是商务角度都拥有与传统软件不同的特性，表现在：<br /> <br />　　①互联网特性<br /> <br />　　一方面，SaaS服务通过互联网浏览器或Web Services/Web 2.0程序连接的形式为用户提供服务，使得SaaS应用具备了典型互联网技术特点；另一方面，由于SaaS极大的缩短了用户与SaaS提供商之间的时空距离，从而使得SaaS服务的营销、交付与传统软件相比有着很大的不同。<br /> <br />　　②多租户（Multi-tenancy）特性<br /> <br />　　SaaS服务通常基于一套标准软件系统为成百上千的不同客户（又称租户）提供服务。这要求SaaS服务要能够支持不同租户之间数据和配置的隔离，从而保证每个租户数据的安全与隐私，以及用户对诸如界面、业务逻辑、数据结构等的个性化需求。由于SaaS同时支持多个租户，每个租户又有很多用户，这对支撑软件的基础设施平台的性能、稳定性、扩展性提出很大挑战。<br /> <br />　　③服务特性<br /> <br />　　SaaS使得软件以互联网为载体的服务形式被客户使用，所以服务合约的签定、服务使用的计量、在线服务质量的保证、服务费用的收取等等问题都必须考虑。而这些问题通常是传统软件没有考虑到的。<br /> <br />　　* SaaS(Software as a Service，软件即服务)是通过互联网以服务形式交付和使用软件的业务模式。在SaaS模式下，软件使用者无需购置额外硬件设备、软件许可证及安装和维护软件系统，通过互联网浏览器在任何时间、任何地点都可以轻松使用软件并按照使用量定期支付使用费。<br />　　SaaS所具备的特性对互联网以及传统软件都带来了机遇与挑战，这两个行业在逐渐融合中形成SaaS产业的同时，也为更多想在Web 2.0时代创业的公司带来了机遇。由于没有商业模式和技术的遗留问题，他们在进入SaaS产业时具有极大的活力，甚至有可能领导这一新产业的发展。从早期的SaaS服务商集软件设计开发、服务运营、市场营销、系统集成等角色于一身，到现在逐步开始的分工细化合作，SaaS产业的生态系统正逐渐形成。<br /> <br />SaaS产业生态系统示意图<br /> <br />　　①硬件供应商<br /> <br />　　硬件供应商向SaaS应用软件提供商、基础设施及运营服务提供商，提供支持SaaS业务模式的硬件设备。比如支持虚拟化技术(Virtualization)的XML处理加速器，以及为SaaS服务定制的Appliance（集硬件、软件与服务一体的设备）。<br /> <br />　　②软件供应商<br /> <br />　　软件供应商向SaaS应用软件提供商，提供SaaS软件开发工具和中间件平台。有些传统的软件开发工具及中间件厂商开始专门为SaaS应用的开发与管理提供支持，比如多租户管理。也有很多的Web 2.0时代的创业公司在提供互联网上的SaaS开发与集成工具。软件供应商也向SaaS基础设施及运营服务提供商提供管理软件，包括：计量与记费、安全与隐私保护等等。<br /> <br />　　③服务组件供应商<br /> <br />　　SaaS服务可以通过Web Services/Web 2.0的技术被程序调用，所以有越来越多的厂商提供这些程序接口调用能力，使得其它SaaS应用软件提供商可以通过对这些服务组件进行组合，构建新的服务。比如，在www.programmableweb.com 上到今天为止已经有超过410个注册的服务组件。<br /> <br />　　④ SaaS应用软件提供商<br /> <br />　　SaaS应用软件提供商是整个生态系统的关键角色。他们掌握客户细分市场对SaaS软件的需求并具有满足需求所必须的知识和技能(比如：CRM或者行业应用的领域知识和程序开发的技能)。SaaS应用软件提供商通常分为两类：一类是专门为互联网及SaaS而建立的厂商（Net- Native）；另一类是传统软件厂商的互联网业务部门。Net-Native厂商的软件设计和整个商务运做都是为SaaS而设计，通常来讲采用先进的互联网技术，较低的运营成本，符合SaaS模式的营销渠道与手段，但他们需要时间建立客户信任的品牌；传统的软件厂商具有雄厚的实力，良好的品牌和巨大的传统软件客户群，但已有的软件应用及商务运作向SaaS的转型成为摆在他们的巨大挑战。<br />　　⑤ SaaS基础设施及运营服务提供商<br /> <br />　　这类厂商提供SaaS运营所需要的基础设施及管理服务，比如：网络带宽、24×7的在线保证、系统灾难备份与恢复、负载均衡与设备集群管理、软件升级更新、客户服务中心(Call Center)等等。大部分SaaS应用软件提供商通常不具备这些核心竞争力，他们把应用托管给这类厂商进行运营。扮演这类角色的厂商一般是ISP、电信运营商等。<br /> <br />　　⑥ SaaS零售商<br /> <br />　　SaaS服务虽然可以通过互联网随时被客户发现及使用，但同样需要有较强客户群、客户关系及品牌的零售商帮助进行销售。大部分SaaS厂商都积极发展自己的分销渠道，包括传统营销渠道（比如区域代理商），以及新的网络营销渠道。<br /> <br />　　⑦ SaaS系统集成商<br /> <br />对于相对比较复杂的SaaS 应用或者需求比较复杂的中等规模以上的客户，通常需要系统集成商的帮助，进行项目咨询、培训、软件配置、数据迁移以及与企业内部系统的应用集成。<br /> <br />　　⑧ SaaS客户<br /> <br />　　包括企业和个人客户，通常需要与SaaS服务商或者零售商签署服务合约，按照一定的服务规则付费。<br /> <br />　　从逻辑角度讲，参与SaaS产业生态系统的不同角色是相对独立存在的，但在实际环境中，很多企业扮演了多重角色。比如：绝大部分SaaS应用软件提供商在扮演SaaS零售商和集成商的角色；有些软件供应商同时也是SaaS应用软件提供商和零售商；有些SaaS基础设施和运营管理厂商也在扮演零售商的角色。<br /> <br />　　国内这两年SaaS行业取得飞速发展，SaaS生态系统也进行了有中国特色的演变。比如：<br /> <br />　　① 拥有大量中小企业客户群的B2B电子商务平台和服务于行业的互联网企业，一方面在扮演SaaS零售商角色，另一方面也开始自主开发和运营SaaS应用软件；<br /> <br />　　② 也有传统的应用软件厂商为配合SaaS业务的发展，建立B2B电子商务社区，并将自己传统的应用（包括软件资产和营销渠道）通过电子商务社区与SaaS服务捆绑在一起；<br /> <br />　　③ 还有一些SaaS应用软件提供商在取得较大的客户信任后，开始利用品牌和技术，运营在线的SaaS交易市场；<br /> <br />　　④ ISP和电信运营商也开始积极尝试做SaaS的零售和整合业务。<br /> <br />　　虽然目前整体的SaaS市场规模很小，但在政府扶植、媒体关注、各厂商努力投入的大势下，在今后几年内SaaS会在国内将取得更迅速的发展，从而对互联网及软件行业整体格局带来重大影响。
          <br/>
          <span style="color:red;">
            <a href="http://cutesource.javaeye.com/blog/222568#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 01 Aug 2008 08:28:54 +0800</pubDate>
        <link>http://cutesource.javaeye.com/blog/222568</link>
        <guid>http://cutesource.javaeye.com/blog/222568</guid>
      </item>
      <item>
        <title>SaaS开始在全球普及</title>
        <author>cutesource</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cutesource.javaeye.com">cutesource</a>&nbsp;
          链接：<a href="http://cutesource.javaeye.com/blog/222566" style="color:red;">http://cutesource.javaeye.com/blog/222566</a>&nbsp;
          发表时间: 2008年08月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          SaaS(Software as a Service,软件作为服务，或称为软件即服务)是应用软件的一种销售方式，客户按使用时间或使用量付费。这些应用软件通常是在企业管理软件领域，并通过互联网来使用。根据最近Gartner研究机构的预测，SaaS将在全球范围内快速成长，到2011年，市值将从2006年的63亿美元增长到192亿美元。<br /><br />   按照字面理解，现在流行的网络游戏或网络会议软件也应该是SaaS模式。像最近美国思科公司32亿美元收购了最大的网络会议软件公司网迅（Webex），个别记者也将网迅公司称为SaaS公司，这可能是因为网迅前一段时间正在开发基于网络会议系统的管理软件平台。但根据Gartner等市场研究机构的理解， SaaS只用于客户关系管理系统（CRM）、人力资源管理系统（HCM）、ERP或供应链管理系统等企业管理软件。其中，在CRM和HCM领域目前最为流行。这个领域的领头羊是美国的Salesforce、Taleo等公司。国内在2004年也出现了八百客和沃力森等SaaS模式的管理软件公司。<br /><br />   大量中小企业早已经使用SaaS模式的软件， 占托管型CRM市场近50%份额的美国Salesforce公司拥有3万家公司客户，50万个付费用户。根据Gartner对近千个企业的调查，10%左右的中小企业准备在近期使用SaaS模式的管理软件。<br /><br />   而很多大型公司早已经使用SaaS模式的软件。Salesforce的多家客户的用户数超过三千人。而八百客去年也在国内创造了单个公司三百多人同时使用托管软件的纪录。<br /><br />   在SaaS全面普及的趋势下， 大型传统管理软件公司并没有迅速跟进。面对SaaS的挑战，微软、甲骨文和SAP等公司正在慢慢苏醒。<br /><br />   而这些大公司在SaaS的道路上还面临三个门槛。最低的门槛是技术，也就是基于互联网的多重租赁（multi-tenancy）管理软件技术。事实上这些大公司多在2006年已开发或收购到多重租赁技术。但像 Salesforce和八百客去年推出的在线开发平台技术还不多见。<br /><br />   第二个门槛是商业模式。卖软件授权（license）和卖SaaS的托管服务是两种截然不同的商业模式，价格差距极大，虽然对用户来讲使用的是同样功能的软件。而按月计费的记账方式让那些已经上市的传统软件公司无法接受。曾经是最大CRM公司的Siebel公司在2005年冒险同时推广这两个商业模式，但难免左手会伤右手，最终公司卖给了甲骨文。<br /><br />   第三个门槛是组织结构门槛。销售传统软件和SaaS软件需要的组织结构也不同。比如，传统管理软件需要大批项目实施顾问，在各个主要城市要设服务公司等。而像Salesforce和八百客通常是借助于代理商和基于SOA（面向服务的体系结构）的产品合作伙伴提供本地化服务，同时降低成本。<br /><br />   虽然在早期，SaaS的成长经历了许多挫折。但现在，SaaS的全面普及已经不再被认为是梦想。像Salesforce、Rightnow、Taleo等公司已经形成规模并成为上市公司。 SaaS是个机会，软件公司或抓住机会或面临被淘汰的危险。<br /><br />   对中国的软件企业， SaaS是个非常好的机会。 像全球制造业迁往成本较低的国家一样，SaaS模式的软件制造和服务中心将转到中国或印度。
          <br/>
          <span style="color:red;">
            <a href="http://cutesource.javaeye.com/blog/222566#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 01 Aug 2008 08:26:55 +0800</pubDate>
        <link>http://cutesource.javaeye.com/blog/222566</link>
        <guid>http://cutesource.javaeye.com/blog/222566</guid>
      </item>
      <item>
        <title>SaaS安全技术与最新进展</title>
        <author>cutesource</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cutesource.javaeye.com">cutesource</a>&nbsp;
          链接：<a href="http://cutesource.javaeye.com/blog/222565" style="color:red;">http://cutesource.javaeye.com/blog/222565</a>&nbsp;
          发表时间: 2008年08月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          　　由于SaaS（Software as a Service软件作为服务、软件即服务）的出现，软件行业正在经历一场深刻的变革。SaaS在西方国家已经流行并进入了普及阶段。在中国，虽然近年增长迅速，但大多数企业对SaaS这种新的交付模式还缺乏认识. SaaS的安全技术日新月异, 越来越多的企业开始认可SaaS安全性和可靠性。<br /><br />　　SaaS的安全从机房开始。机房的安全性包括气体灭火、恒温恒湿、联网电子锁防盗、24小时专人和录像监控、网络设备带宽冗余、口令进入机房等。服务器和防火墙的负载平衡、数据库集群和网络存贮备份在近几年也成为标准安全性技术。主流SaaS运营商多采用双数据中心运营，其中一个机房数据中心为冗余备份。多城市多机房的模式可提高访问速度，但因大大增加安全管理隐患和维护成本，很少被成熟的SAAS企业采用。<br /><br />　　伴随着J2EE和.NET等基于互联网浏览器软件开发技术的诞生，真正意义上的SaaS模式企业管理软件技术起始于2003年前后。基于互联网的特点，SaaS软件有许多区别于前一代软件的独特性，从服务器端软件和数据库、数据传输、到客户端浏览器都出现了许多新技术。<br /><br />　　开发 SaaS 软件系统和开发传统企业应用系统之间有重要区别，标准SaaS 系统是多重租赁的（Multi-tenant）,也就是一套软件和数据库平台，经过软件和数据库的隔离及保密技术，多个企业同时使用。虽然不是多重租赁的 SaaS产品不一定是“假SaaS”产品，多重租赁大大提高了运营效率、稳定性，降低运营商的维护和升级成本，变相的说最终消费者得到了价格上的实惠。其他重要的 SaaS 需求，如自定义、SOA集成接口、离线客户端等，也都会影响 SaaS 应用程序的体系结构。而国外的Salesforce的PaaS（Platform-as-a-Service）和国内八百客公司的800APP PaaS代表了SaaS的主流架构。<br /><br />数据库：<br />　　SaaS运营商普遍采用大型商用关系型数据库和集群技术。在数据库的设计上，多重租赁的软件会有三种设计，每个客户公司独享一个数据库 instance，或独享一个数据库instance中的一个schema, 或多客户公司以隔离和保密技术原理共享一个数据库instance的一个shema. 几乎所有SaaS软件开发商选择后两种方案，也就是说，所有公司共享一个数据库license,从而降低了成本。<br /><br />　　数据库隔离的方式经历了instance隔离、schema隔离、partition隔离、数据表隔离、到在应用程序的数据逻辑层提供根据共享数据库进行用户数据增删改授权的隔离机制， 从而在不影响安全性的前提下实现效率最大化。<br /><br />应用程序：<br />　　应用程序的安全围绕Web服务器展开，比如Apache、IIS等。基于这些Web服务器，主流厂商多采用J2EE或.NET开发技术并会采用特殊的 Web服务器或服务器配置以优化安全性并优化访问速度和可靠性。而有些厂商会采用PHP、Ruby等开发技术，相比之下，J2EE和.NET集成了更多更成熟的安全技术。同样，Oracle、SQL Server和DB2在数据库层面相比MySQL等数据库也更加成熟。<br />身份验证和授权服务是系统安全性的起点，J2EE和.NET自带全面的安全服务。J2EE提供Servlet Presentation Framework, .NET 提供.NET Framework，并持续升级，因多重租赁带来的整体升级效应使所有使用者共同受益并不需要支付额外的升级费用。应用程序通过调用安全服务的编程接口 (API)，来对用户进行授权和上下文继承。<br /><br />　　在应用程序的设计上，安全服务通过维护用户访问列表、应用程序Session、数据库访问Session等进行数据访问控制。并需要建立严格的组织、组、用户树的建立和维护机制。<br /><br />　　SaaS平台是近年来的商业模式热点。一种模式是单一厂商基于PaaS应用程序平台提供多种SaaS应用，并通过Web Service接口提供与其他厂商产品集成。 另一种模式是SaaS运营平台，平台厂商提供用户认证，其他软件厂商提供SaaS应用程序。在安全性上，PaaS应用程序平台有着先天的优势。SaaS运营平台的出现，为应用程序的开发带来了新的挑战，产品的安全由平台上SaaS软件厂商链条中最弱的一个决定，也就是短板效应。<br /><br />　　平台安全的核心是用户权限的在各个SaaS应用程序中的继承，Salesforce或八百客等厂商的PaaS产品自带成熟的权限树继承技术，自 2006年以来已经实现大规模商业运营。而第二种运营平台模式类似的集成需要专业的定制开发，相应的中间件技术或SOA总线技术还未成熟。<br /><br />　　ACL和密码保护策略也是SaaS软件成熟度的标志。客户可在自己系统中修改相关策略。有些厂商还推出了浏览器插件来保护客户登录安全。而在最近半年，国外厂商频繁地开始让用户登录后回答自己预设的秘密保护问题和答案，也是一种为了安全的保护策略，因中国人对这种密码保护策略没有使用习惯，所以在国内还没有广泛的推广开来。<br /><br />数据传输和客户端：<br />　　SaaS通过互联网而非企业局域网来传输数据和表格。SaaS和已经普及的网上银行和网银支付都采用SSL加密技术，加密位数随着硬件速度的提升而提升。主流厂商通常也会花大笔资金购买专用SSL加密设备。八百客、金蝶等国内厂商也提供类似网上银行的U盾客户端认证技术。<br /><br />　　SaaS软件都采用浏览器来访问使用，普遍采用的安全技术包括Cookie加密、URL随机码、SQL等代码的注入防范等技术。当然，浏览器及时升级也非常重要。<br /><br />　　成熟SaaS厂商也推出了可离线使用的客户端软件。虽然Salesforce用“不用软件”的口号吸引了很多关注，但其需要下载安装的离线版也得到了 10%左右的使用率。而像RightNow等其他厂商，在客户端上做了更多的开发和实施工作。八百客的专用客户端还做了呼叫中心、VOIP电话、短信、电子传真和企业邮局的集成。而这些专用客户端多采用本地数据加密，SSL传输加密等安全技术。<br /><br />结语：<br />　　不论是SaaS软件还是传统软件，企业安全事故多发生于在密码安全管理松懈的企业，虽然U盾会在会在很大程度上避免此类安全事故发生。<br /><br />　　与网上银行和邮件快递服务类似，优秀SaaS服务商承诺的安全和可靠性也将被更多企业用户接受。 安全是一个优秀SaaS厂商的长期承诺。
          <br/>
          <span style="color:red;">
            <a href="http://cutesource.javaeye.com/blog/222565#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 01 Aug 2008 08:22:53 +0800</pubDate>
        <link>http://cutesource.javaeye.com/blog/222565</link>
        <guid>http://cutesource.javaeye.com/blog/222565</guid>
      </item>
      <item>
        <title>国内热门的开放平台</title>
        <author>cutesource</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cutesource.javaeye.com">cutesource</a>&nbsp;
          链接：<a href="http://cutesource.javaeye.com/blog/214609" style="color:red;">http://cutesource.javaeye.com/blog/214609</a>&nbsp;
          发表时间: 2008年07月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1、      搜狐博客€€开放平台<br /><br />以博客作为个人应用平台,由开发者及搜狐爱好者开发相关博客应用小程序;由搜狐推出相关文档说明及参数。<br />网址:http://ow.blog.sohu.com/<br /><br />2、      谷歌OpenSocial<br /><br />通用 API 意味着,您仅需较少的学习,便可为多个网站进行构建。目前,OpenSocial 由网络社区的广大成员联合开发。最终目标是,对于所有社交网站都能够执行 API 并托管第三方社交应用程序。许多网站在执行 OpenSocial,包括 Engage.com、Friendster、hi5、Hyves、imeem、LinkedIn、MySpace、Ning、Oracle、 orkut、Plaxo、Salesforce.com、Six Apart、Tianji、Viadeo 和 XING、天涯。<br />网址:http://code.google.com/apis/opensocial/<br /><br />3、      淘宝开放平台<br /><br />淘宝开放平台项目(TOP: taobao open platform)是淘宝(中国)软件公司面向3rd app开发者,提供API接口和相关开发环境的平台。包括:<br />€€  API接口规范和定义及其规范<br />€€  API sandbox 在线开发测试环境<br /><br />网址:http://www.taobao.com/theme/tao_source/<br /><br />4、      天涯开放平台<br /><br />由Google Opensocial提供技术服务的天涯开放平台,主要整合商家;如:7天酒店。<br />网址:http://my.tianya.cn<br /><br />5、 校内网开放平台<br /><br />校内网将于7月8日正式启动校内开放平台插件功能大赛。现邀请三方公司及个人开发爱好者一起加入校内开放平台插件开发,共同探索平台开放之路。<br /><br />网址:http://www.xiaonei.com/developerIndex.jsp<br /><br />6、聚友(Myspace)开放平台<br /><br />MySpace聚友开发者平台(MySpace Developer Platform 简称MDP)是一个面向开发者的开放平台,开发者可以在上面开发并且发布符合OpenSocial规范的应用程序,比如Widget、Gadget。<br />网址:http://developer.myspace.cn/community/<br /><br /><br />7、51.com开放平台<br /><br />51开放平台API是采用REST基础的接口规范。所有的51开放平台API都是通过HTTP的GET或者POST请求来实现调用的。有了这些API,你就可以通过你的应用程序获得51.com社交网络的用户资料、好友关系、照片等几乎所有可开放的数据。<br />网址:http://sandbox.developers.51.com/index.php<br /><br />8、康盛uchome “我的空间”<br /><br />UCenter Home使用网站的开放平台应用开发标准(API),Manyou将有机会帮助您与数万网站之间建立合作的纽带,为这些网站上的网民提供个性化的互联网应用。<br /><br />网址:http://uchome.developer.manyou.com/uchome/<br /><br />9、雅虎开发者社区<br /><br />NCP是中国雅虎针对站长天下等产品推出的开放式的web应用/模块开发平台。<br />开发者可以在该平台开发基于Web的模块,即NCP扩展应用。<br />网址:http://dev.cn.yahoo.com/<br /><br />10、豆瓣API<br /><br />豆瓣API是豆瓣为第三方开发人员提供的编程接口。利用豆瓣API,你可以在你的网站或程序中使用豆瓣的数据和功能。<br /><br />11、新浪魔方<br /><br />新浪魔方通过组件化的功能组合,灵活方便地满足不同用户的个性需求<br />网址:http://mofun.sina.com.cn/<br /><br />12、Facebook开放平台(英文)<br /><br />Facebook应该说是开放平台的先行者了,Facebook的成功就是因为开放平台及API应用。对于已经在中国推出中文的Facebook。我们应该不能把它忘记。<br />网址:http://developers.facebook.com/<br /><br />最后,我希望一些公司能根据实际情况推出相关服务;切不要跟风,以免浪费财力与人力。最终却获得不了太多有价值的信息。<br />一项新技术的发展,需要更多的参与者,而不是服务的提供者。以免出现,供大于求的局面;反尔会把这些新的应用推向无价值的边缘。
          <br/>
          <span style="color:red;">
            <a href="http://cutesource.javaeye.com/blog/214609#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 14 Jul 2008 16:14:25 +0800</pubDate>
        <link>http://cutesource.javaeye.com/blog/214609</link>
        <guid>http://cutesource.javaeye.com/blog/214609</guid>
      </item>
      <item>
        <title>使用SaaS模式应规避四大风险（转）</title>
        <author>cutesource</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cutesource.javaeye.com">cutesource</a>&nbsp;
          链接：<a href="http://cutesource.javaeye.com/blog/212415" style="color:red;">http://cutesource.javaeye.com/blog/212415</a>&nbsp;
          发表时间: 2008年07月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          经过数年的发展，软件即服务(SaaS)已成为了一种对企业颇具吸引力的软件模式。有机构预测，到2011年，将有超过25%的软件以SaaS的方式提供。<br /><br />    到目前为止，已有一批批的企业软件(比如ERP与CRM)厂商纷纷加入了SaaS模式的阵营。然而，不管使用哪种技术，都有其自身的风险。掌握并管理这些风险才能给企业带来事半功倍的效果。<br /><br />    1. 数据安全 – 这是企业在向SaaS过渡时的首要考量。尤其是对财务服务，第三方呼叫中心，银证机构等公司而言，数据安全是根本命脉。一旦数据泄露，客户投诉以及接踵而至的法律诉讼会让公司焦头烂额。因此，企业需事先考虑诸如厂商的安全策略;软件内建的安全机制(比如数据加密、入侵侦测系统、防火墙，以及SQL攻击保护)等因素。了解并评估SaaS厂商的数据处理流程及可靠程度，以降低数据泄露的风险。<br /><br />    2. 自定义 – 从总体上看，SaaS的自定义能力尚无法与预置型应用相提并论。对企业来说，SaaS的多租户特性虽然是一种低成本的模式，但这也决定了SaaS软件的趋同性。因此，企业在选择SaaS解决方案时应当明确自己想达到何种程度的灵活性。此外，鉴于SaaS软件的趋同性，企业或许还要自己花费一番功夫来完成合规工作。<br /><br />    3. 总体拥有成本 – SaaS的用户订阅模式可以让公司随着用户和功能的添加而相应调整。除此之外，软件、硬件和人力成本都需要被计入到总体拥有成本(TCO)中。相比之下，传统预置型软件的TCO计算相对简单，进行商业决策也比较容易。<br /><br />    4. 厂商的稳定性 – 许多厂商都搭上了SaaS的高速列车。在选择一名长期商业伙伴之前，企业应仔细评估SaaS厂商的财务稳定性与兑现承诺的能力。如果有厂商决定终止运营，那么它们应根据TOS提前通知使用方。另外，你还需事先考虑到，一旦该厂商出售了自己的公司，或者更改了使用策略，你的数据会受到怎样的影响?<br /><br />    小结<br /><br />    SaaS是一种基于持续收费结构的商业模式，它可以让企业在迅速接受的同时形成回报。
          <br/>
          <span style="color:red;">
            <a href="http://cutesource.javaeye.com/blog/212415#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 07 Jul 2008 17:56:34 +0800</pubDate>
        <link>http://cutesource.javaeye.com/blog/212415</link>
        <guid>http://cutesource.javaeye.com/blog/212415</guid>
      </item>
      <item>
        <title>探索在线会计服务模式(转)</title>
        <author>cutesource</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cutesource.javaeye.com">cutesource</a>&nbsp;
          链接：<a href="http://cutesource.javaeye.com/blog/212412" style="color:red;">http://cutesource.javaeye.com/blog/212412</a>&nbsp;
          发表时间: 2008年07月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          传统软件业这些年来一直是以产品升级模式带动需求和业务增长的，然而在市场竞争激烈、产品同质化严重、用户需求多样化的今天，传统的软件企业增长日渐乏力、渐显疲态。此时，一种通过互联网向用户提供所需服务的软件业务模式让这些企业看到了新的希望，这就是SaaS （Software as a service)。SaaS摒弃了传统软件备受诟病的交付模式和收费方式，用户按需使用，按使用付费，从而彻底改变了人们对软件的认识。<br /><br />    SaaS在理念上的先进加上以Salesforce.com和RightNow公司为代表的SaaS提供商已经取得了初步的成功，给人们带来巨大的想像空间，有人认为它将给软件业带来一场革命，也有人把它称为传统软件的终结者。<br /><br />    咨询机构一致看好SaaS: Gartner公司预测SaaS市场将以22.1%的增长率增长至2011年，这比预期的9%的市场总体增长率高出一倍多; IDC把2008年列为SaaS年，并预测2009年全球SaaS开支将达到107亿美元。<br /><br />    我们看到，包括传统软件企业在内的众多企业先后高调出手，SAP、微软、Oracle、用友、金蝶、金算盘等纷纷发布自己的战略，推出自己的SaaS服务，中国电信、阿里软件、八百客等一批新生力量也纷纷试水SaaS。<br /><br />    然而，SaaS热潮的背后难掩一个令人尴尬的现实，这就是用户的反应与厂商预期之间的反差，以及众多SaaS服务提供商的经营情况并不乐观。问题出在哪里？ SaaS作为一种新的运营模式，目前到底还存在哪些不足？SaaS是否真的能带来期待之中的软件产业革命？特别是，对于处于变革期的传统软件厂商而言，从传统的软件销售模式转变成基于互联网的软件服务模式，将面临哪些挑战？它们该如何应对？<br /><br />    本期重点采访金蝶移动互联公司总经理冯颉，他是金蝶专门面向SaaS服务市场的友商网的主要负责人，冯颉对SaaS业务有着许多独到的理解。<br /><br />    换种思维做SaaS<br /><br />    核心观点:   基于互联网的SaaS运作模式和传统软件的运作模式存在很大不同，这种不同不仅体现在产品设计上，还表现在思维方式上。<br /><br />    记者: 作为中国提供SaaS服务的实践者，您如何看待SaaS这种新的经营模式？你认为，软件企业在向服务转型的过程中，会遇到哪些挑战？<br /><br />    冯颉: SaaS作为一种新的软件运营模式，其先进性毋庸置疑。它可以使整个企业信息化的门槛降到最低，让那些高不可攀的信息化应用成为可能，让更多的企业从信息化的普及中受益成为可能，因此受到用户的欢迎自然在情理之中。同时，也有实例证明，SaaS服务商在推广SaaS应用的同时，也帮助了传统软件的应用和推广。<br /><br />    但是，总体来讲，我认为SaaS这种模式要广泛推广开，确实还会遇到很多挑战，其中一个重大挑战是用户的接受问题: SaaS对用户来说有一个接受的过程，从操作习惯到对产品理念的认可都需要时间。此外，对使用安全性的担心是用户对SaaS模式应用最大的疑点，这些需要时间来证明。其次，从供应商角度来讲，提供稳定、安全、增值的服务产品是另一个重大挑战。过去，在传统模式下，我们一般以产品为中心去思考问题，而 SaaS模式下，客户的体验和感受将是核心，一切围绕着客户的需求而不断改变，客户选择SaaS服务，就是选择更加专业的服务、更加安全的保障、更加有前景的在线服务的未来。<br /><br />    因此，推广SaaS，需要各方的努力，其中包括中国的政府。对于政府来讲，选择优秀的SaaS服务厂商，并且面向企业用户推广在线服务模式将带给企业的价值，就会让更多的用户去认识SaaS，由此推进企业的电子商务进程。<br /><br />    记者: 作为同时提供传统软件和SaaS服务的开发商，您认为SaaS和传统软件的最大不同在哪里？<br /><br />    冯颉: 最大的不同是对客户需求的全面理解。过去我们在开发及推广一个新软件的时候，也讲客户需求调查，但是更多地还是基于对行业的经验，然后来进行产品推广，在推广的过程中客户的体验是什么、他有什么不同需求，这些反馈信息受制于传统模式，很难及时了解，有很大的局限性。但是今天我们在做在线业务时，我们突然发现，能够迅速获得很多客户的需求和反馈，以及客户使用行为的分析数据，更便于我们创新更好的服务产品，为客户提供价值。但在这些需求中，如何把握住一些关键、通用的需求，然后给他们提供增值服务应用，是一个挑战。<br /><br />    基于互联网的运作模式与传统软件的运作模式的不同还表现在思维方式上。传统的软件公司一般思维比较严谨，按照战略规划往前推进，半年推出一个好的产品，而基于互联网的运作模式放弃了以产品为中心，强调到以客户需求为中心，重视客户体验。<br /><br />    这种商业模式不求一次就达到完美，而是不断改进，强调速度。即要先抓住客户的需求，在满足客户需求的过程中不断去修改产品。随着客户的体验越来越多，产品在不断地修正，变得越来越符合客户的需要。产品的改版会是非常快，可能是一个星期、甚至几天就要改变一次。因此，在营销过程中非常强调随需应变，强调客户参与，让客户成为一个消费者，同时也会成为建议参与者，来为服务提供者提供一些好的建议。然后，他还会把这些信息传递给他周围的朋友，形成口碑营销。友商网的很多付费用户会在向周围的同行推荐这种在线服务模式，因为他们使用了觉得很好，很方便，带给他们价值。这是对我们工作的最大认可。<br /><br />    从会计业务切入<br /><br />    核心观点:   会计业务的标准化程度高、市场规模也比较大，比较适合采用SaaS模式开展业务。<br /><br />    记者: 我们看到，金蝶的“友商网”首先选择了会计业务切入SaaS，而我们知道，金蝶在中国的ERP、CRM等软件领域也占据着很大的市场份额。为什么金蝶会选择会计业务而没有选择目前国际上运作较成功的在线CRM 业务切入SaaS市场？<br /><br />    冯颉: 以会计为切入点，是金蝶友商网的一个重要举措。会计群体是中国最大的一个从业群体，有一个完整的会计服务产业生态链，金蝶在这个行业有品牌优势。3月份我们在北京举办了“在线会计服务模式高峰论坛”，这个会议的听众反馈给了我们很大信心，也证明了这个模式存在的生命力。<br /><br />    据统计，全国有1500万会计从业人员，这是一个相当大的市场，他们需要在线会计服务，还有一些会计服务公司则需要提供在线服务的推广，比如代理记账公司、会计师事务所、会计培训及服务公司提供在线的服务产品发布，让企业与会计服务公司进行会计行业的电子商务服务。因此，从产业规模来说，我们认为会计服务市场远大于CRM市场，而且从标准化的程度来说，会计服务的应用最标准，也最具有中国本土特色。<br /><br />    记者: 财务数据是一个企业的核心，很多用户担心将核心数据交给第三方网站会面临数据安全的威胁，您如何消除用户的这种担心，让用户愿意把财务数据放到互联网上？<br /><br />    冯颉: 安全问题本身可以分为技术和观念两个方面。首先，全球的SaaS都是这样一种经营方式，从技术上来说，全球已经有了一个相对安全的技术，大家都在使用。我们最近发布了友商网安全白皮书，阐述了我们对客户数据安全的保证。而在观念上，用户会对在线管理服务模式逐步接受，毕竟这是一个趋势，同时在我们周围已经有更多的企业在使用在线服务，并且获得帮助，这就是口碑的影响力。<br /><br />    另外，我觉得用户是否放心地把数据交给服务提供商，还与公司的品牌有关。对金蝶而言，做在线会计服务也算是比较顺利成章的事情。<br /><br />    关注用户体验<br /><br />    核心观点:  推广SaaS的工作重点是要特别关注用户的使用感受，让用户充分体验SaaS模式与旧的软件模式的不同，体验SaaS的优点，并让用户在数据安全方面放心。<br /><br />    记者: 既然SaaS在中国的应用会遇到这样多的挑战，作为中国试水SaaS的企业，金蝶计划下一步如何开展SaaS的推广工作？<br /><br />    冯颉: 目前我们在推广SaaS模式过程中，特别关注客户的具体感受: 一是让客户怎么能够感觉新的在线会计服务模式与旧的软件模式之间的不同，并能接受SaaS这种新模式; 第二是让用户在数据安全方面有深入了解并且放心; 三是能够联盟更多的渠道伙伴进行推广合作，让更多的客户快速了解我们，体验并使用我们的服务。<br /><br />    记者: 友商网在SaaS业务上制订了什么样的发展规划？要打造SaaS品牌，就需要良性、健康的财务数据支撑，预计友商网什么时候能赢利？<br /><br />    冯颉: 友商网的愿景是成为全球领先的全程电子商务服务平台。实现这个目标，我们将分阶段进行: 2008年，我们将成为中国最大的在线管理平台，注册用户数10万; 2009年，我们将成为中国最大的在线管理及电子商务服务平台，注册用户100万; 2010年，我们将成为全球领先的全程电子商务服务平台，注册用户达到1000万。<br /><br />    目前，金蝶友商网首期提供的核心服务是面向小企业的在线会计、在线进销存的服务。同时，我们围绕着客户群体联合伙伴提供相关的在线会计增值服务，比如说会计培训、会计资讯、会计社区交流等等，并在此基础上，我们再延伸向其他的在线管理服务领域。<br /><br />    在赢利时间方面，我们预计用3年的时间能获得整体收益。<br /><br />    实现全程电子商务<br /><br />    核心观点:   在SaaS服务平台上未来会有大企业客户、中小企业的客户和入门级的客户，他们借助金蝶的SaaS服务可以将供应链打通，从而顺利完成采购、供应等电子商务活动。<br /><br />    记者: 目前，在友商网上，已经有了一些敢于吃螃蟹的人在尝试最新的SaaS财务业务，根据您对这些用户的了解，他们目前基于什么考虑在使用友商网的SaaS服务？<br /><br />    冯颉: SaaS用户对这项服务最大的感受是操作方便快捷，初始投入成本不高，永远使用的是最新版本，同时可以异地同步，让工作更高效。我们还发现，对友商网感兴趣的人是行业中一批引领潮流的人，他们觉得SaaS这种不管是在办公室还是在在家都可以随时随地完成财务工作，还可以和同行进行交流和经验分享，完全是一种全新的工作和生活方式。这和过去购买一个软件安装在一台固定的电脑上，所有的工作必须在这台电脑上完成，是完全不同的感受。<br /><br />    此外，金蝶SaaS服务平台还聚集了一个行业群体，这里不仅有在线的视频培训，还提供了很多相关业务资讯、会计增值业务的电子商务服务推介等等。这种新模式给用户带来的体验是不一样的。<br /><br />    记者: 金蝶过去在ERP领域积累了很多用户，这些用户在金蝶的SaaS战略中会起到什么样的作用？<br /><br />    冯颉: 金蝶在传统的ERP软件市场拥有了40万用户，这些老客户将对金蝶的SaaS起到很重要的作用。实际上，在金蝶的战略布局中，友商网是金蝶电子商务的一个战略平台，在这个平台上会有大企业客户、中小企业的客户和入门级的客户，分别用金蝶的EAS、K3、KIS和SaaS，也包括其他一些传统软件。<br /><br />    我们首先是要把让很多买不起软件的小企业能聚集到友商网这个SaaS平台。第二步是，让那些无论是用金蝶的ERP还是其他ERP的大企业，能通过友商网把它的上下游管理起来。因为这些企业需要进行采购、供应等有关的电子商务活动，而友商网提供能帮助企业完成这些电子商务活动的服务，如果这些企业订阅了这样的服务，就可以在友商网上完成采购和供货信息的发布，进而管理行业上下游之间的供求关系。<br /><br />    链接：金蝶的SaaS服务平台—友商网简介<br /><br />    定位: 在线管理及电子商务服务平台。现阶段主要是面向小企业的在线会计和进销存的服务，以及在线培训、社区交流，企业商铺，会计资讯等相关增值服务。<br /><br />    定价: 友商在线会计服务288元/年起，友商在线会计+进销存服务576元/年起。<br /><br />    采访手记：创新者的风险<br /><br />    对于金蝶来说，其在软件研发上的技术优势、多年在管理软件市场积累下来的经验，以及对会计电算化的理解和金蝶的品牌效应，对它开展SaaS业务都是利好消息。特别是在友商网上线之前，金蝶收购香港会计网为它带来了在线服务实务方面的探索经验，使得它站在了SaaS市场先发者的位置。事实上，对于每个想进入 SaaS领域的公司，这种真正的实践难能可贵。<br /><br />    总体上看，金蝶的SaaS战略从构想到谋划再到最终出台，前后经历了近三年时间，最终形成了以在线会计服务为切入点、以电子商务平台为最终目标的战略构想，比较契合目前金蝶的特长，战略谨慎而且务实。当然，作为先发者也存在一定的风险，金蝶的SaaS业务还存在一定的不确定性:<br /><br />    第一， 在线会计服务挑战用户的使用习惯。与在线CRM相似，在线会计服务对用户的会计业务习惯以及数据保存习惯挑战很大或者更大， 这一方面要求金蝶更加重视产品的可用性，借此吸引更多的用户来使用，同时，也要在营销模式上有创新。<br /><br />    第二，进入电子商务领域是金蝶SaaS业务的既定目标，SaaS与电子商务的融合也是大势所趋，业内多个商家对此都有所企图，但目前看来这种融合的趋势不如预期的快，同时，要把已有的传统客户资源有效转化为电子商务的核心竞争资源，尚需做出很大努力。时间是最熬人的，就看谁能笑到最后了。<br /><br />    但是，毫无疑问，正如冯颉在接受采访时所说，这些都是前进中的问题，金蝶会遇到的，同行们也会遇到。从整个SaaS产业来说，重要的是已经有了完整的SaaS战略，推出了实实在在的产品，且已在着手推进SaaS业务，为SaaS业务积累宝贵的经验。（大斌）
          <br/>
          <span style="color:red;">
            <a href="http://cutesource.javaeye.com/blog/212412#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 07 Jul 2008 17:53:00 +0800</pubDate>
        <link>http://cutesource.javaeye.com/blog/212412</link>
        <guid>http://cutesource.javaeye.com/blog/212412</guid>
      </item>
      <item>
        <title>中国SaaS模式失败原因分析（转）</title>
        <author>cutesource</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cutesource.javaeye.com">cutesource</a>&nbsp;
          链接：<a href="http://cutesource.javaeye.com/blog/211838" style="color:red;">http://cutesource.javaeye.com/blog/211838</a>&nbsp;
          发表时间: 2008年07月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          SaaS模式为什么在中国发展不顺利，这一问不仅问住了我，并且向中国的互联网的人也出了道难题，是什么原因呢?<br />    对SaaS的了解，从不知道到知道，一开始的确很难，因为许多网络业内人士都不知道啥叫在线软件，更不要说向普通会员推广和宣传了。那么中国的SaaS模式失败的真正原因是什么呢?中国03年、04年的时候，在线软件火了一段时间，但是却没有坚持多久，目前许多曾经拿到过投资的在线软件公司都纷纷倒闭关门了。<br />    第一：市场环境不成熟<br />    为什么现在阿里巴巴开始涉足SaaS行业呢?为什么阿里巴巴在前几年不去碰这个模式呢?其中主要原因就是市场环境不成熟。以前那些曾经拿到了风险投资的在线软件公司，为什么会坚持不下去，纷纷关门倒闭呢?主要也就是大环境不成熟的原因，比如商策科技公司推出的逍遥行在线CRM软件，之前拿了许多的风险投资，如今却彻底关门了。<br />    第二：中国消费者理念跟不上<br />    SaaS模式好，在线软件也具有许多的优势，但是中国的消费者却没有跟上这个好模式的节奏，所以中国的SAAS平台都是在苦苦的支撑，没有得到会员的认可和理解，自然很难发展。<br />    第三：人才<br />    在中国做任何事情，离不开人才，同样，SaaS行业更需要人才，可惜这个行业偏偏特别缺少人才，因为SaaS模式本来就是一个新兴的网络模式，之前没有人做过，直接去做的话，许多人就不知道如何做了。人才的缺少，也是直接导致SaaS发展不起来的重要原因之一。<br />    第四：政府<br />    没有政府的支持，SaaS更是举步维艰。政府支持力度不大的原因，因为目前政府更多的是支持成熟的软件外包行业，而SAAS模式刚兴起，没有足够的赢利和财政收入，自然政府不会积极的支持，但是政府却没有看清楚，正是由于SAAS模式刚兴起，所以给了国内 SaaS公司更大的发展空间，也许有机会把SaaS做的世界领先水平，超过国外的技术和理念，但是政府却没有长远来看，而是眼光短浅，假如能够大力支持 SAAS的话，也许未来的世界首富就在中国诞生了。可见网络和软件刚新兴的行业，为什么却还是落后国外。主要原因还是政府。<br />    第五：SaaS自身<br />    为什么阿里巴巴进军SaaS行业的时候，他们的模式跟别人不一样呢?为什么中国的SaaS平台做不大，其中也是SaaS平台自身原因。也许许多人还不知道中国目前SaaS模式的一些情况，中国的SaaS平台大致可分为2种发展方向，一种就是门户类的SaaS平台，比如阿里巴巴旗下的SaaS平台，另外一种就是行业类的SaaS平台，比如友商网。但是在07年以前，中国还没有门户类的SaaS平台，只有单一的SaaS平台。由于单一的SaaS平台，目标会员有限，而开发成本相对却很高，由于模式前卫，导致许多企业或者目标会员不能及时跟进，把公司给拖S了。而阿里巴巴推出的SaaS平台是门户类的，可以满足许多行业企业的需求，扩大了目标用户群体，大大减少成本，有效的把广告宣传资源得到最大化的利用。<br />    目前许多软件开发公司和大型的网络公司纷纷进军SaaS领域，因为SaaS模式是新兴的，属于空白市场，同时发展空间特别大，而SaaS又具有许多优势，并且跟网络紧密结合，就拿在线记账软件来说，可以做到随时随地记账、无需安装，数据安全、是人们必备的工具。<br />    单机软件成就了世界首富，那么SaaS平台也有可能成就世界下一位首富!
          <br/>
          <span style="color:red;">
            <a href="http://cutesource.javaeye.com/blog/211838#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 05 Jul 2008 12:00:33 +0800</pubDate>
        <link>http://cutesource.javaeye.com/blog/211838</link>
        <guid>http://cutesource.javaeye.com/blog/211838</guid>
      </item>
      <item>
        <title>2008年将流行的十大SaaS术语（转）</title>
        <author>cutesource</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cutesource.javaeye.com">cutesource</a>&nbsp;
          链接：<a href="http://cutesource.javaeye.com/blog/211837" style="color:red;">http://cutesource.javaeye.com/blog/211837</a>&nbsp;
          发表时间: 2008年07月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          每当有一种新技术出现，相关的流行词便开始在网上漫天传播。下面，我们总结出了如今最流行的十大SaaS术语。<br />    目前，正流行着一种新技术“SaaS”或“Software-as-a-Service”，  即“软件作为服务”。这个新兴词在网上大有愈演愈热之势。付费SaaS多集中在企业管理软件领域。国内最早在2004年出现了800CRM和Xtools 等托管型软件，标志着SaaS模式在中国的诞生。<br />    下面，我们总结出了如今最流行的十大SaaS术语：<br />    (1) 多重租赁(Multi-tenancy)<br />    SaaS的“多重租赁”概念就是，多个公司将其数据和业务流程托管存放在SaaS服务商的同一服务器组上，相当于服务商将一套在线软件同时出租给多个公司，每个公司只能看到自己的数据，由服务商来维护这些数据和软件。也就是说，多个公司登录到同一网站，但登录后看到的界面和数据，不同的公司大不相同。<br />    这种模式有利有弊。好处是卖主相对于每个客户的平均硬件和维护成本很低。卖主将这种成本优势分摊给客户，客户用不着花大力气去维护自己的系统平台。服务商同步升级硬件软件，客户不需要另付费。<br />    但是也存在一定的弊端，由于SaaS模式是由服务商来维护系统，因此当服务商要对系统进行升级时，客户也只能跟着升级。这有点像中国以前吃大锅饭的时代，由中央统一分配。比如说6月1日，服务商要发布新版本，到时候客户就都只能使用新版本的系统。确实也只能这样，否则就不叫“多租”了。而且如果服务商支持多种不同版本的系统，那么成本就会相应地增加。当然，绝大多数的客户会更喜欢升级后的软件版本。<br />    (2) 跨界混搭(mash-up)<br />    “跨界混搭”这个术语起源于流行音乐，编曲者把两张唱片混编以后重新制作出一首新歌。这个概念应用在SaaS上，就是指把多个不同的在线应用软件服务搭建成为一种新型的整合服务。用户通常只需要登录一次就可以使用集成好的应用软件组合。<br />    需要注意的是，当你把多种SaaS服务混合到一个软件中去后，其中一种会是核心，如果其出现严重问题，将会影响到整个软件的使用。<br />    (3) 集成器(Connector)<br />    集成器是一种软件程序，让你从一个应用程序中读取数据，然后下载到SaaS解决方案中(同样可以用于将数据送回到另一个应用程序中)。这种数据传送通常用于实时或批量传送的情况，企业完成初始数据的导入或导出，然后根据需要定期更新这些数据。<br />    比如，像国外的SaaS服务商Salesforce或国内的800CRM提供SAP集成器，就将SAP中的客户数据导入到Salesforce或800CRM系统中。<br />    (4) 解决方案扩展(Solution extension)<br />    SaaS 解决方案具有的扩展性让用户能够在已存在的软件结构上，按需再增加额外的工具或功能。像前面提到的Salesforce的App Exchange应用软件开发平台，以及国内的SaaS托管商800CRM的800App Native应用软件开发平台都是解决方案扩展的典型代表。<br />    还有一些扩展性例如可以扩展数据模型，提供个性化的用户界面以及其他更多自定制的扩展服务。<br />    (5) 垂直应用(Vertical applications)<br />    “垂直应用”不是SaaS的专用术语，它也应用于其他领域，通常是指为某一个领域(例如银行，医药等)建立一个专门的平台。虽然它已经在传统行业应用很多年了，但是相对来讲应用在SaaS中还是一个比较新的概念。<br />    每当有一种新技术出现，相关的流行词便开始在网上漫天传播。下面，我们总结出了如今最流行的十大SaaS术语<br />    随着SaaS的不断成熟，客户希望SaaS服务商能提供详细的垂直应用行业方案。例如，目前Salesforce的APP Exchange平台已经能够实现全方位跨行业的应用，各个行业的公司都能够在Salesforce的平台上进行二次开发。<br />    (6) 参数应用(Parametric applications)<br />    在传统软件模式下，如果软件的服务功能需要改变，那么相应的代码也需要重新编写。但是在SaaS模式下，用 <br />户可以通过输入新的参数变量，或者制定一些数据关联规则来开启一种新的应用。这种新式服务模式也被称为“参数应用”，“宏”或“自定制对象”，主要是因为这种应用程序可以让用户自己定制新的应用，不需要懂软件编程。<br />    Salesforce或800CRM升级系统，自定制对象也同时升级，而最本质的应用则是客户可以自己通过改变参数和参数关联来为系统增加新的功能。<br />    (7) 模块化(Modular)<br />    SaaS中模块功能主要用于关闭或开启服务。在聚集了丰富功能的强大应用平台中，IT经理可以像选择菜单那样任意地选择功能，关闭某些不需要用到的功能，也可以根据需求增加新的功能。<br />    SaaS服务商基于网络架构建立了自己的应用平台，模块的灵活性使得他们可以根据客户的不同需求，将功能复杂繁多的系统配置成适合客户的系统。<br />    (8) 在线SaaS (Net-native SaaS)<br />    “在线SaaS”从表面意思来看似乎有点累赘，SaaS本身的概念就是提供一种在线服务，因此所有的SaaS应用程序都应该是产生于网络，壮大于网络的。<br />    但该术语是相对于SaaS的前身——ASP(Application Service Provider，应用服务提供商)来说的，这是一种早期的远程软件托管形式。跟如今直接在网上使用的系统相比，ASP时代的用户可能觉得通过专线或专用加密设备访问的系统来得更安心。显然，早期的ASP解决方案设计的一些运行缓慢的程序并没有很好地体现“在线”这个概念，很多ASP客户需要借用VPN、 Citrix等实现远程访问。<br />    所以当人们说 “在线SaaS”时，这个术语其实是在强调使用浏览器直接使用软件，而加密是通过浏览器通用的SSL加密协议。<br />    (9) 基础架构平台(Platform infrastructure)<br />    有时候SaaS的拥护者希望出现一种基础架构的平台来推动SaaS更好地发展。<br />    这是因为首先得有一个平台来支撑SaaS软件应用程序的运行，如今最著名的是国外Salesforce公司的APP Exchange平台，国内800CRM的800APP Native的平台与Salesforce兼容。<br />    (10) SaaS(软件作为服务)<br />    最后，我们别忘了SaaS本身就是个非常红火的流行词。厉害的SaaS销售代表直接用SaaS就能解决你所有管理软件问题。比起其它软件，SaaS软件更便宜，灵活性更强，能省掉更多的麻烦。<br />    SaaS确实存在很多优势。例如“在线托管”，就一改传统软件需要用户自己购买，配置，维护的局面;SaaS还开启了一种新型商业模式，与传统软件需要用户一次性购买相比，SaaS可以按月付费，像国内的800crm和Xtools都可以按帐户数量和按月付费，完全体现了按需购买的要求。
          <br/>
          <span style="color:red;">
            <a href="http://cutesource.javaeye.com/blog/211837#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 05 Jul 2008 11:57:22 +0800</pubDate>
        <link>http://cutesource.javaeye.com/blog/211837</link>
        <guid>http://cutesource.javaeye.com/blog/211837</guid>
      </item>
      <item>
        <title>SaaS炒作似乎过了头 怀疑论接踵而来(转)</title>
        <author>cutesource</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cutesource.javaeye.com">cutesource</a>&nbsp;
          链接：<a href="http://cutesource.javaeye.com/blog/211834" style="color:red;">http://cutesource.javaeye.com/blog/211834</a>&nbsp;
          发表时间: 2008年07月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          有人说今年是SaaS 年。SaaS 作为软件回归服务的一个标志性产物，被看作中小企业信息化的一种非常好的覆盖模式。但一位圈中人却从根本上对S a a S 表示了怀疑，让人很是冷汗凛凛。他的原话是：“SaaS 只对小商小贩有用，只要是涉及到了管理的小企业，都不会对SaaS有兴趣”，说这话者是西部世纪软件公司的总裁刘洪涛。<br /><br />　　组合下反对的声音：<br /><br />　　第一，能通过一对多的、基本标准化服务的工具软件，可以用SaaS。但管理软件不具有这样的特点，管理软件的本质特征是，现场服务必不可缺。<br /><br />　　第二，管理软件和简单工具软件的不同之处在于，管理软件对历史数据和系统的持续性要求很高，“没有企业会愿意把自己的脖子套在别人的绳子里”。<br /><br />　　第三，SaaS存在的重要理由是成本因素，但对于管理软件应用，这个理由不能成立。因为管理软件的现场服务需求的存在，使得SaaS不可能以标准化规模化的方式获得经济优势。<br /><br />　　第四，如果不能以标准化、规模化的方式提供服务，SaaS 在经济性上的优势，是无法体现出来的。<br /><br />　　他的结论就是：SaaS 确实有价值，但“很怀疑管理软件可以用SaaS 的模式”。<br /><br />　　他觉得自己很负责地调研过这个问题，曾为此跑过温州、珠海等地，问过许多企业。“越是对管理没有诉求的企业，越倾向于使用SaaS，比如在网上开店的许多门店。他们只是简单地需要一些联系工具，入账计算等。”所以，“SaaS 只能提供一种标准化工具”，而现在做不到管理服务的载体功能。<br /><br />　　补充一点，刘洪涛之所以如此“蔑视”SaaS，可能与西部世纪软件本身的特点有关系。据介绍，西部世纪的管理软件全部是“以管理者为中心”的，管理者需要了解哪些事、需要管到哪一步，软件中就提供相应信息和流程控制。也许，在这样一种对比中，许多打着管理软件旗号的软件，刘都认为“不算管理软件”——何况SaaS。<br /><br />　　从积极面看，刘的一番高论可以给SaaS鼓吹者一些思考启发。首先，SaaS作为“软件服务”的一种商业模式的具体形式是什么，其实并没有确切定论。其次，从最终目标来说，软件应该会全部走向服务，但在步向未来目标中，会有阶段之分。<br /><br />　　许多种可能：SaaS结合渠道的上门实施服务、基于客户端的适当个性化开发、数据库在客户端的安全备份等，这些都值得SaaS软件商、平台商在发展中去探讨研究。其实，有人也提到一种可能“将来管理软件产品或许会免费(比SaaS还经济)，但实施和咨询会更贵”。看来，SaaS 仍有盲区。随着大规模的SMB 客户需求提炼，相信我们会看到很多的SaaS 变革。
          <br/>
          <span style="color:red;">
            <a href="http://cutesource.javaeye.com/blog/211834#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 05 Jul 2008 11:23:52 +0800</pubDate>
        <link>http://cutesource.javaeye.com/blog/211834</link>
        <guid>http://cutesource.javaeye.com/blog/211834</guid>
      </item>
      <item>
        <title>CIO慎实施：SaaS无法解决“关键”问题？</title>
        <author>cutesource</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cutesource.javaeye.com">cutesource</a>&nbsp;
          链接：<a href="http://cutesource.javaeye.com/blog/208742" style="color:red;">http://cutesource.javaeye.com/blog/208742</a>&nbsp;
          发表时间: 2008年06月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          　　近日，具有多年CIO经验的老王遇到一些非常棘手的问题。<br />　　之前，这家知名服装企业的营销副总裁已经拍板，并且采用了一套基于SaaS模式的ERP系统。在公司高层看来，SaaS模式的ERP系统不需要自己建设机房、购买服务器和构建网络。软件采用租赁的方式，就像使用自来水一样简单，拧开水龙头就能出水，不想用时就关掉。<br />　　凭借以往的经验，老王认为自己有把握将这个项目做好。但是事与愿违，在ERP项目进入实施与部署阶段后，在应用过程中老王遇到了很多棘手的问题，而这些问题如果得不到解决，系统将无法推行下去。<br />　　三个问题<br />　　在老王看来，当初公司最看重的安全性和易维护性，现在都无从谈起。这也导致他像个消防队员一样，疲于处理各种突发的问题，而真正的业务部门应用培训、业务需求分析与跟进、ERP系统向终端再推进都顾不过来。虽然ERP系统在总部和各分公司已经开始应用，但是目前没有能力和精力再向代理商和专卖店继续推进。<br />　　老王总结了系统用不起来的三个主要问题：<br />　　首先是网络的稳定性。由于SaaS采用的是基于互联网的解决方案，也就是说，只有在能够连接到网络的情况下才能使用系统，公司总部使用的是光纤网络，系统较为稳定，但是在其他省份的专卖店、专柜，因为缺乏良好的网络条件，网络断线是常有的事情，以至于系统无法正常使用。<br />　　其次是满足业务需求的局限。由于SaaS的ERP系统是处在一个公用平台上，因此，业务部门如果有新的业务需求需要软件系统来实现的话，就会发现根本没有办法满足。原因是SaaS平台必须考虑到其他客户的业务模式与业务流程，如果按某家企业的要求修改了，那么很容易遭到其他企业的反对。<br />　　第三是客户端安全及IT人员配备的问题。按照软件供应商的说法，系统可以做到零维护，因此可以减少2/3的IT人员。但实际情况是：在总部，IT部门还得负责日常的桌面维护、机房维护，因为OA、邮件等其他应用还得做。在客户端，出问题最多一般不是ERP的客户端程序问题，而是IE或者操作系统的问题，因为IE是最容易被病毒、木马破坏的程序，用户口令丢失的事情已经发生过多起。<br />　　陷入困境<br />　　低投入是很多企业选择SaaS的重要原因，老王所在的企业最初也是这样考虑的，既然在应用中发现了那么多的问题，是不是应该停掉，然后重新选择一个适合自己企业的系统呢？<br />　　老王也想给公司高层提提建议，不过在提建议之前，他特意到财务部门了解了一下项目的合同和付款情况，结果令他很沮丧。老王原本以为SaaS比较便宜，但是看了项目合同才知道：虽然这个项目的确没有购买软件的费用，但是实施费却有30万元，企业目前有300个用户，月租费还要3万元。<br />　　总体上算下来，一年需要投入六七十万元，这也是一笔不小的投入了。<br />　　老王说：“如果再加20万元，足够买一套不错的、传统的ERP系统。但现在，项目实施费已经付完了，月租也付了两个月。公司高层肯定不会同意让这些投入都打了水漂。而且销售旺季就要到了，现在重新选型上系统，时间根本来不及了。”
          <br/>
          <span style="color:red;">
            <a href="http://cutesource.javaeye.com/blog/208742#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 27 Jun 2008 16:55:31 +0800</pubDate>
        <link>http://cutesource.javaeye.com/blog/208742</link>
        <guid>http://cutesource.javaeye.com/blog/208742</guid>
      </item>
      <item>
        <title>浅谈SaaS系统中的数据模型设计(转)</title>
        <author>cutesource</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cutesource.javaeye.com">cutesource</a>&nbsp;
          链接：<a href="http://cutesource.javaeye.com/blog/208741" style="color:red;">http://cutesource.javaeye.com/blog/208741</a>&nbsp;
          发表时间: 2008年06月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          　　在如今的中小企业管理软件市场中，特别是在中国，应用企业管理软件来优化运营及提升企业生产效率的需求一直在持续上升，而其中基于软件即服务理念的 SaaS模式也为很多企业所青睐，但由于目前市场上这一模式的解决方案所能覆盖的范围有限，而且有些开发实施运营中的关键问题迟迟得不到很好的解决，导致这一市场还没有能被真正被开发起来。<br /><br />　　本文尝试通过对国内外对于基于SaaS模式的数据模型的几种常见思路及其适用场景的研究，对这方面的若干关键问题进行初步的探讨和分析。<br /><br />　　一． SaaS系统常见数据模型<br /><br />　　在设计SaaS系统的数据模型时出于服务客户及减低开发成本等考虑，在数据的共享和隔离之间求得一定的平衡是必须考虑的一个重要因素。<br /><br />　　因此一般在设计对应数据模型时不仅要考虑到技术因素，例如怎样构建一个弹性架构以支持数目不定的客户、怎样消除大容量并发访问数据库对系统性能造成的压力以及怎样允许用户按需扩展自定义数据等；同时也必须将商业因素纳入考虑范围之中，例如架构在该SaaS系统上的业务应用主要面向哪些行业的客户、目标客户对于数据存储方式是否有基于一定法律法规的要求等等。一般而言，SaaS系统的数据模型有如下三种形式：<br /><br />　　1.1独立数据库<br /><br />　　将每个客户的数据单独存放在一个独立数据库是实现数据隔离的一种最为简便的解决方案。<br /><br />　　在应用这种数据模型的SaaS系统中，大部分系统资源和应用代码还是由所有的客户所共享使用，但物理上每个客户有自己的一整套数据，而且单独存放。系统将借由元数据（Metadata）来记录哪一个数据库属于哪一个特定客户，与此同时也可以部署一定的数据库访问策略来确保即使系统处于异常状况下，客户数据也不会被其它客户意外访问到。<br /><br />　　显而易见的是，一旦每个客户拥有其独立数据库，那他将可以轻易的对其做个性化的修改来符合其实际业务需求，而且如果系统出现异常情况需要将历史备份数据重新恢复的话，也将是一项轻而易举的工作。但是，这种数据模型的最大问题是对应的部署和维护成本非常高，硬件资源的消耗将明显高于其它两种方案，一台服务器将只能支持有限数量的客户。作为一种对应的解决技巧，系统可以定期使用例如SQL Server 2003中提供的Auto-close功能将暂时没有活动连接使用的数据库实例从服务器的内存中移除，因此每台服务器可以更灵活的支持相对较多的客户访问，但这也只能在一定程度上缓解服务器的压力。<br /><br />　　当客户由于所处行业因素或其它商业因素的限制，愿意支付额外的费用来做到数据隔离，确保数据安全，这种独立数据库的数据模型将是最为适合的解决方案。举例来说，处于银行业或医疗行业的客户们经常会有非常强的隔离数据的需求，这些客户甚至可能根本不会考虑去使用任何不提供客户独立数据库支持的SaaS系统。<br /><br />　　1.2共享数据库 单独模式（Schema）<br /><br />　　第二种方式则是所有客户使用同一数据库，但各自拥有一套不同的数据表组合存在于其单独的模式之内。<br /><br />　　在这种数据模型下，当客户尝试第一次使用该SaaS系统时，系统在创建用户环境时会创建一整套默认的表结构，同时将其关联到该客户的独立模式。此时一般使用SQL CREATE命令来创建模式，同时授权一个用户帐号来访问该模式。举例来说，在SQL Server 2005 中可以使用如下命令：<br /><br />　　CREATE SCHEMA ContosoSchema AUTHORIZATION Contoso<br /><br />　　接下来，系统可以使用SchemaName.TableName来访问该客户的模式：<br /><br />　　CREATE TABLE ContosoSchema.Resumes (EmployeeID int identity primary key, Resume nvarchar(MAX))<br /><br />　　一旦模式创建完毕，它将成为该客户所属用户帐号访问的的默认模式。<br /><br />　　ALTER USER Contoso WITH DEFAULT_SCHEMA = ContosoSchema<br /><br />　　一旦默认模式设置完毕，在使用该客户的用户帐号进行SQL语句操作时就不要再使用SchemaName.TableName 来指定特定的数据表，而是只需要指明表名即可。因此在系统代码内一句简单的SQL语句就可以应用于所有客户，而且每个客户仅访问到自己的模式内的数据:<br /><br />　　SELECT * FROM Resumes<br /><br />　　这种客户独立模式的方式相对比较容易被实现，而且从数据扩展性而言，这种解决方案和独立数据库一样，客户可以相对自由的对其中的数据结构进行新增和修改。一般在最初创建该客户的模式时，系统会预先创建一整套默认的数据结构，但在那之后，客户可以对其做个性化的修改来符合其实际业务需求。<br /><br />　　这种客户独立模式的方式在数据共享和隔离之间获得了一定的平衡，它既借由数据库共享使得一台服务器就可以支持更多的客户，又在物理上实现了一定程度的数据隔离以确保数据安全。<br /><br />　　但这种解决方案的一个不利之处就是当系统出现异常情况需要将历史备份数据重新恢复的话，流程将变得相对复杂。因为如果每个客户拥有独立数据库的话，那么只需恢复该客户最近的数据库备份即可。但在独立模式的模式下，如果简单的恢复数据库备份，那就意味着数据库内所有客户的数据将一同被恢复，无论该客户是否数据受损或需要做数据恢复与否。因此，在独立模式下，如果系统管理员希望恢复某个特定客户的数据，需要将数据库的备份解压到某临时服务器空间内，然后选定特定客户的表数据将其覆盖到系统主数据库内，一般来说，这将是一项非常复杂且耗时的工作。<br />　　这种客户独立模式的方式比较适合应用在每个客户拥有比较少的表数量的情况下，比如每个客户只有100张表或更少。这种方式毫无疑问可以在每台服务器上支持比独立数据库方式更多的客户数量，减低了服务供应商的运营成本。因此一旦SaaS系统的潜在客户们不介意其数据与其它客户的数据物理上存放在同一数据库内，这将是SaaS系统开发商一种理想的选择。<br /><br />　　1.3共享数据库 共享模式（Schema）<br /><br />　　第三种方式是用一个数据库和一套数据表来存放所有客户的数据。在这种模式下一个数据表内可以包含了多个客户的记录，由一个客户ID字段来确认哪条记录是属于哪个客户的。<br /><br />　　在所有这三种数据模型中，这种共享模式的方式具有最低的硬件成本和维护成本，而且每台服务器可以支持最大数量的客户。但是由于所有客户使用同一套数据表，因此可能需要在保证数据安全性上花费更多额外的开发成本，以确保一个客户永远不会因系统异常而访问到其它客户的数据。<br /><br />　　在这种共享模式的方式下，恢复备份数据的流程类似上文提到的共享数据库但独立模式的方式，系统管理员解压备份数据至临时服务器空间，选定需要恢复的数据表，而且还需要额外的选定所需要恢复的客户记录，再导入到系统主数据库内。如果此时有大量记录需要导入，则系统的数据库服务的性能将受到很大影响，而且所有正在使用系统的客户也将受到影响。<br /><br />　　如果SaaS服务供应商需要使用尽量少的服务器资源来服务尽可能多的客户，而且潜在客户们愿意在一定程度上放弃对数据隔离的需求来获得尽可能低廉的服务价格，则这种共享模式的方式是非常适合的。　　<br /><br />　　二． 开发商如何选择合适的数据模型<br /><br />　　上述三种SaaS系统的数据模型各有其利弊，因此在为特定的SaaS应用选择适合的数据模型时，必须考虑到下列因素：<br /><br />　　2.1 成本因素<br /><br />　　基于数据共享设计的SaaS系统要求较高的开发成本（因为基于数据共享的系统架构相对比较复杂），因此初始投入较大，到长期来看运营维护成本则相对较少。<br /><br />　　而基于数据隔离设计的SaaS系统则由于所需要硬件会随着支持客户数的上升而快速上升，因此相对初始投入尚可，但长期来看会有一个比较高的运营维护成本。<br /><br />　　总体而言，选择数据共享的方式从长远角度可以为SaaS服务供应商节省大量的金钱。但远在其最终开始盈利之前，该类系统在开发中就已经需要大量的初期投入。如果无法投入所需的开发资源，或者由于商业原因需要将所开发的SaaS系统尽可能快的投放到市场，则选择数据隔离的设计模式更为恰当。<br /><br />　　2.2安全因素<br /><br />　　通常在SaaS系统中会存放有很多敏感的客户业务数据，因此客户会对确保数据的安全性有很高的期望，SaaS服务供应商与客户签署的服务条款中会需要包含很多数据安全保障条款。当然，一般客户常见误解是只有采取数据隔离方式设计的SaaS系统才能完全确保数据的安全性；事实上，采取数据共享方式设计的 SaaS系统一样可以在使用了一些成熟的设计模式之后，为客户提供很强的数据安全保障。<br /><br />　　2.3客户因素<br /><br />　　一个SaaS系统将来所服务的潜在客户的数量、商业背景乃至其业务需求都将在很大程度上影响数据模型的选择，下面就是一些常见的可能会影响到决定的一些因素。<br /><br />　　估算该SaaS系统所期待的潜在客户数。到底是为数以百计的客户设计这一系统还是数以千计，又或者更多数量。简单的说，如果计划支持的客户数目越大，就应当越多地考虑使用数据共享的模式。<br /><br />　　估算每个客户平均使用的数据存储空间。如果使用该SaaS系统的客户可能会存储海量数据，则独立数据库模式毫无疑问是最佳选择。<br /><br />　　估算每个客户平均所需要支持的终端用户数。如果这个数字越大，则越应当考虑采用数据隔离的模式来满足终端用户的需求。<br /><br />　　决定是否为每个客户提供类似于数据备份之类的增值服务。一般而言，采用数据隔离的模式比较便于实现这类服务。<br /><br />　　2.4法律法规因素<br /><br />　　公司、组织和政府机关经常需要遵守特定的法律法规的要求从而影响其选择使用哪一类的SaaS系统，而这种影响一般体现在对数据安全性的关注上。因此在设计一个SaaS系统之初，就必须对可能会影响潜在客户的法律法规做一定的调研，尤其是开发企业管理软件时，由于诸如财务、雇员管理、生产等诸多模块都会受特定地域或行业法律法规的影响，因此这些因素必须在系统设计之初就纳入考虑范围。<br /><br />　　2.5技能因素<br /><br />　　对SaaS系统开发商而言，设计一个单实例多用户支持的系统架构仍然是一个很大的挑战，要想熟悉对应的开发工具，掌握相应的开发环境，也需要一支具有相当技术实力的开发团队。相对来说，选择数据隔离的模式来开发SaaS系统允许开发人员更多的从以往的开发传统架构的软件的经验中受益，对于技术力量不强的开发商而言不失为一个明智的选择。
          <br/>
          <span style="color:red;">
            <a href="http://cutesource.javaeye.com/blog/208741#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 27 Jun 2008 16:55:01 +0800</pubDate>
        <link>http://cutesource.javaeye.com/blog/208741</link>
        <guid>http://cutesource.javaeye.com/blog/208741</guid>
      </item>
      <item>
        <title>SaaS在中国抓住“长尾”需特殊商业模式(转)</title>
        <author>cutesource</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cutesource.javaeye.com">cutesource</a>&nbsp;
          链接：<a href="http://cutesource.javaeye.com/blog/208670" style="color:red;">http://cutesource.javaeye.com/blog/208670</a>&nbsp;
          发表时间: 2008年06月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          　　长尾理论是在网络时代兴起的一种新理论，由美国人克里斯·安德森提出。长尾理论认为，由于成本和效益的因素，过去人们只会关注重要的人或事，如果用正态分布曲线来描绘这些人或事，人们只关注了曲线的“头部”，而处于曲线的“尾部”、需要用更多的精力和成本才能关注到的大多数人或事则被忽略了。例如，在销售产品时，厂商更多关注的是能产生80%经济效益的那20%的客户，而“无暇”顾及在人数上居于大多数的普通消费者。<br /><br />　　在管理软件市场，数目众多的中小企业就是市场的“长尾”，而且这个“长尾”一直都未能得到很好的开发。<br /><br />　　目前，软件产业面临着产品同质化、客户需求多样化的激烈竞争，软件产业的发展也出现了产业链停滞徘徊的局面。在这种情况下，软件运营服务(SaaS)几乎得到了所有软件厂商的一致认可。SaaS通过互联网提供了低成本的服务交付和低成本的服务应用方式，这大大地降低了以前需要花费大量精力才能关注到的市场的成本。因此，SaaS使得抓住市场潜力巨大的“长尾”成为了可能。<br /><br />　　当然，虽然SaaS提供了抓住“长尾”市场的可能，但在中国开展软件运营服务需要特殊的商业模式，尤其是针对中小企业的软件租赁服务。否则，有可能不仅抓不住“长尾”市场，还会导致投资风险，主要原因有以下三点。<br /><br />　　第一，SaaS需要有完整的生态系统。“长尾理论”的典型代表之一百度依靠互联网运作取得了成功，其主要收入来自具有在线营销需求的中小企业。在完成技术平台搭建后，服务的展示、交付等所有的环节都几乎是无成本的。当满足需求的产品可以通过互联网等新技术与新方法将各个环节的成本降为零或者趋于零时，就是“长尾理论”发挥得最为充分的时候。但与百度的模式相比，SaaS虽然通过互联网降低了交付环节的成本，但仍然需要上下游厂商的支持，包括SaaS应用厂商、实施咨询服务的厂商和平台服务商等。相对复杂的生态系统对覆盖中小企业的“长尾”市场会产生难度。<br /><br />　　第二，客户的需求层次不同。与采购百度的营销广告不同，中小企业在采购软件租赁服务时，更多地直接涉及到了企业的业务管理。而业务管理的需求就存在很多的差异性，不同的行业、不同的企业和不同的业务都存在差异。相比，营销广告的需求具有很多共性的方面，只要满足宣传推广的需求，能吸引客户即可。因此，具有共性营销需求的“长尾”市场要大于有业务管理需求的“长尾”市场。<br /><br />　　第三，市场环境不同。 Salesforce在国外取得了成功，其面向的客户是所有存在需求的企业，在其现有客户中，既有全球500强的企业，也有中小企业。但就其企业规模的平均水平来看，都是具有一定规模和购买能力的中小企业。在整体市场环境方面，美国的市场环境更加规范，包括信用环境和网络环境等，企业的IT应用也更加成熟。而中国企业的传统习惯和市场环境使大型企业在采购软件服务时更加倾向于自己实施，真正的“长尾”市场可能是数目巨大的小型企业，甚至是微型企业，而这些企业的购买能力和IT应用的成熟度还处于起步阶段。<br /><br />　　看来，在国内开展SaaS需要结合国内市场的特殊环境，制定特定的商业模式，才能抓住“长尾”市场。如果仅仅只是照搬国外企业的模式，将很难取得实质性的突破。
          <br/>
          <span style="color:red;">
            <a href="http://cutesource.javaeye.com/blog/208670#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 27 Jun 2008 14:42:51 +0800</pubDate>
        <link>http://cutesource.javaeye.com/blog/208670</link>
        <guid>http://cutesource.javaeye.com/blog/208670</guid>
      </item>
      <item>
        <title>读书笔记－《J2EE核心模式》</title>
        <author>cutesource</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cutesource.javaeye.com">cutesource</a>&nbsp;
          链接：<a href="http://cutesource.javaeye.com/blog/173211" style="color:red;">http://cutesource.javaeye.com/blog/173211</a>&nbsp;
          发表时间: 2008年03月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          这几天把《J2EE核心模式》重读了一遍，发现又有很多心得，真是精品中精品啊，觉得有必要摘录一下主要内容，消化一下。<br />不佳实践<br />1）把表现层的数据结构暴露给业务层和业务领域对象。如HttpServletRequest，应该只限于表现层，把这一类细节暴露给业务层会增加层次之间的耦合度<br />2）允许重复提交表单<br />3）创建出"胖控制器"。不要业务逻辑全放在控制器里，应分包给视图助手和业务层<br />4）把业务模型直接映射为entity bean模型。结果会造成entity bean粒度过细。<br />5）把关系型模型直接映射为entity bean模型。结果会造成entity bean粒度过细。<br />6）把每一个用例映射为一个session bean。结果会造成session bean粒度过细。<br />7）通过get/set方法暴露EJB所有属性。这会导致客户端进行许许多多的细粒度的远程调用，影响性能<br />8）在客户端包括服务寻址代码<br />9）加载entity-bean的整个拓扑结构。在需要的时候加载<br />10）把EJB的相关异常暴露给非EJB模块<br />11）使用entity bean finder方法返回大型结果集<br />12）客户端负责聚合来自业务组件的数据<br />13）把EJB用于长时间的持续的事务<br />14）每次调用无状态session bean都要重建状态<br />J2EE重构<br />1）引入同步器令牌<br />2）隔离视图逻辑和业务逻辑<br />3）对业务层隐藏表现细节<br />4）用session bean包装entity bean<br />5）引入业务代表<br />6）合并session bean<br />7）减少Entity bean之间的通信<br />8）将entity bean之间的业务逻辑移至session bean<br />9）分离数据访问代码，增加DAO层<br />表现层模式<br />1）拦截过滤器<br /><br />效果：利用松耦合的处理器实现控制集中化；增进了重用；能够灵活地通过申明配置<br />2）前端控制器<br /><br />效果：集中控制；提高系统可维护性；增进了重用；增进了开发团队中指责之间的区分；<br />3）Context对象<br /><br />效果：提高可复用性和可重用性；提高可测试性；减少对接口变化的限制；降低了性能<br />4）应用控制器<br /><br />效果：<br />5）视图助手：把视图和相关的处理逻辑分离开<br /><br />效果：明确了应用系统各部分的分隔；明确了开发团队的分工；简化了测试<br />6）复合视图：需要结合多个模块化的视图组件，创建一个复合的整体视图，同时还要独立地管理页面的内容和布局<br /><br />效果：提高了模块化程度；提高了重用性；添加了基于角色和安全策略的访问控制<br />7）服务到工作者：在把控制权交给视图之前就完成完成核心的请求处理过程和业务逻辑调用<br /><br />效果：提高了模块化程度；提高了重用性；明确了开发团队的分工；<br />8）分配器视图：需要用视图来处理请求，生成响应，同时又要让它来完成数量有限的业务处理<br /><br />业务层模式<br />9）业务代表：与业务服务组件远程通信的任务复杂度很高，需要对客户端隐藏这种复杂度<br /><br />效果：隐藏底层服务的细节；处理服务端异常并向客户端屏蔽这些异常；缓存结果数据，提高性能<br />10）服务定位器：一种统一的，透明的方式来定位业务组件和业务服务，隐藏寻址机制的实现细节。<br /><br />效果：同"业务代表"<br />11）会话门面：封装业务组件，对远程客户端暴露粗粒度的服务，客户端不直接访问业务组件而是访问会话门面<br /><br />效果：暴露统一的粗粒度接口，减少了细粒度的远程调用，增强了性能；集中了安全管理和事务控制<br />12）应用服务：集中，聚合特定的功能，提供统一的服务层，用于集合多个业务对象的业务方法，供会话门面调用。与会话门面相比接口是细粒度的，而与业务对象相比接口是粗粒度的<br /><br />效果：集中了可重用的业务逻辑和工作流逻辑；简化了门面的实现<br />13）业务对象：把业务数据和业务逻辑分离开<br /><br />效果：促进了面向对象实践；把持久化逻辑从业务逻辑中分离出来<br />14）复合实体：把一些相互关联的业务对象聚合为粗粒度的entity bean。可以采用懒装载策略和脏数据指示器策略<br /><br />效果：增大了对象粒度；减少了对数据库的依赖；提高了网络性能。<br />15）传输对象：跨层次传输多种数据元素<br /><br />效果：不把业务对象直接暴露给客户端，屏蔽业务对象的特性；避免客户端直接操作业务对象；用较少的远程调用传输更多的数据<br />16）传输对象组装器：从各种不同的业务组件和业务服务中聚合多个传输对象，并且把复合传输对象返回给客户端<br /><br />效果：简化了客户端逻辑；减少了客户端和应用模型的耦合<br />17）值列表处理器：执行查询，缓存结果，让客户端遍历，选择查询结果，可以通过sessionFacade或DAO来实现<br /><br />效果：提高了EJB finder更高效的替代方法；缓存查询结果；更灵活的查询功能<br />集成层模式<br />18）数据访问对象：提炼和封装对持久化存储介质的访问，管理与数据源的连接，并通过连接存取数据<br /><br />效果：对持久化数据透明访问；为数据库数据结构提供面向对象的视图和封装；简化数据库移植；将所有数据访问代码组织到一个独立的层中<br />19）服务激活器：接收异步请求，并调用一个或多个业务服务<br /><br />效果：提供异步处理能力<br />20）业务领域存储：定制持久化框架<br />21）web service中转
          <br/>
          <span style="color:red;">
            <a href="http://cutesource.javaeye.com/blog/173211#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 17 Mar 2008 23:18:47 +0800</pubDate>
        <link>http://cutesource.javaeye.com/blog/173211</link>
        <guid>http://cutesource.javaeye.com/blog/173211</guid>
      </item>
      <item>
        <title>读书笔记－高质量C++&amp;C编程指南</title>
        <author>cutesource</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cutesource.javaeye.com">cutesource</a>&nbsp;
          链接：<a href="http://cutesource.javaeye.com/blog/173209" style="color:red;">http://cutesource.javaeye.com/blog/173209</a>&nbsp;
          发表时间: 2008年03月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1）return 语句不可返回指向“栈内存”的“指针”或者“引用”，因为该内存在函数体结束时被自动销毁。例如<br />char * Func(void)<br />{<br />    char str[] = “hello world”; // str 的内存位于栈上<br />    …<br />    return str; // 将导致错误<br />}<br />2）如果函数返回值是一个对象，要考虑return 语句的效率。例如<br />return String(s1 + s2);<br />这是临时对象的语法，表示“创建一个临时对象并返回它”。不要以为它与“先创建一个局部对象temp 并返回它的结果”是等价的，如<br />String temp(s1 + s2);<br />return temp;<br />实质不然，上述代码将发生三件事。首先，temp 对象被创建，同时完成初始化；然后拷贝构造函数把temp 拷贝到保存返回值的外部存储单元中；最后，temp 在函数结束时被销毁（调用析构函数）。然而“创建一个临时对象并返回它”的过程是不同的，编译器直接把临时对象创建并初始化在外部存储单元中，省去了拷贝和析构的化费，提高了效率。<br />3）尽量避免函数带有“记忆”功能。相同的输入应当产生相同的输出。<br />4）使用断言捕捉不应该发生的非法情况。不要混淆非法情况与错误情况之间的区别，后者是必然存在的并且是一定要作出处理的。<br />5）在函数的入口处，使用断言检查参数的有效性（合法性）。<br />6）在编写函数时，要进行反复的考查，并且自问：“我打算做哪些假定？”。一旦确定了的假定，就要使用断言对假定进行检查。<br />7）引用和指针的区别<br />（1）引用被创建的同时必须被初始化（指针则可以在任何时候被初始化）。<br />（2）不能有NULL 引用，引用必须与合法的存储单元关联（指针则可以是NULL）。<br />（3）一旦引用被初始化，就不能改变引用的关系（指针则可以随时改变所指的对象）。<br />    以下示例程序中，k 被初始化为i 的引用。语句k = j 并不能将k 修改成为j 的引用，只是把k 的值改变成为6。由于k 是i 的引用，所以i 的值也变成了6。<br />    int i = 5;<br />    int j = 6;<br />    int &k = i;<br />    k = j; // k 和i 的值都变成了6;<br />8）“引用”可以做的任何事情“指针”也都能够做，为什么还要“引用”这东西？<br />答案是“用适当的工具做恰如其分的工作”。指针能够毫无约束地操作内存中的如何东西，尽管指针功能强大，但是非常危险。就象一把刀，它可以用来砍树、裁纸、修指甲、理发等等，谁敢这样用？<br />如果的确只需要借用一下某个对象的“别名”，那么就用“引用”，而不要用“指针”，以免发生意外。比如说，某人需要一份证明，本来在文件上盖上公章的印子就行了，如果把取公章的钥匙交给他，那么他就获得了不该有的权利。<br />9）内存分配方式有三种：<br />（1） 从静态存储区域分配。内存在程序编译的时候就已经分配好，这块内存在程序的整个运行期间都存在。例如全局变量，static 变量。<br />（2） 在栈上创建。在执行函数时，函数内局部变量的存储单元都可以在栈上创建，函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中，效率很高，但是分配的内存容量有限。<br />（3） 从堆上分配，亦称动态内存分配。程序在运行的时候用malloc 或new 申请任意多少的内存，程序员自己负责在何时用free 或delete 释放内存。动态内存的生存期由我们决定，使用非常灵活，但问题也最多。<br />10）常见的内存错误及其对策如下：<br />     （1）内存分配未成功，却使用了它。编程新手常犯这种错误，因为他们没有意识到内存分配会不成功。常用解决办法是，在使用内存之前检查指针是否为 NULL。如果指针p 是函数的参数，那么在函数的入口处用assert(p!=NULL)进行检查。如果是用malloc 或new 来申请内存，应该用if(p==NULL)或if(p!=NULL)进行防错处理。<br />    （2）内存分配虽然成功，但是尚未初始化就引用它。犯这种错误主要有两个起因：一是没有初始化的观念；二是误以为内存的缺省初值全为零，导致引用初值错误（例如数组）。内存的缺省初值究竟是什么并没有统一的标准，尽管有些时候为零值，我们宁可信其无不可信其有。所以无论用何种方式创建数组，都别忘了赋初值，即便是赋零值也不可省略，不要嫌麻烦。<br />    （3）内存分配成功并且已经初始化，但操作越过了内存的边界。例如在使用数组时经常发生下标“多1”或者“少1”的操作。特别是在for 循环语句中，循环次数很容易搞错，导致数组操作越界。<br />    （4）忘记了释放内存，造成内存泄露。含有这种错误的函数每被调用一次就丢失一块内存。刚开始时系统的内存充足，你看不到错误。终有一次程序突然死掉，系统出现提示：内存耗尽。动态内存的申请与释放必须配对，程序中malloc 与free 的使用次数一定要相同，否则肯定有错误（new/delete 同理）。<br />    （5）释放了内存却继续使用它。有三种情况：1）程序中的对象调用关系过于复杂，实在难以搞清楚某个对象究竟是否已经释放了内存，此时应该重新设计数据结构，从根本上解决对象管理的混乱局面。2）函数的return 语句写错了，注意不要返回指向“栈内存”的“指针”或者“引用”，因为该内存在函数体结束时被自动销毁。3）使用free 或delete 释放了内存后，没有将指针设置为NULL。导致产生“野指针”。<br />11）指针与数组的对比<br />（1）修改内容<br />char a[] = “hello”;<br />a[0] = ‘X’;<br />cout &lt;&lt; a &lt;&lt; endl;<br />char *p = “world”; // 注意p 指向常量字符串<br />p[0] = ‘X’; // 编译器不能发现该错误<br />cout &lt;&lt; p &lt;&lt; endl;<br />（2）内容复制与比较<br />// 数组…<br />char a[] = "hello";<br />char b[10];<br />strcpy(b, a); // 不能用 b = a;<br />if(strcmp(b, a) == 0) // 不能用 if (b == a)<br />…<br />// 指针…<br />int len = strlen(a);<br />char *p = (char *)malloc(sizeof(char)*(len+1));<br />strcpy(p,a); // 不要用 p = a;<br />if(strcmp(p, a) == 0) // 不要用 if (p == a)<br />（3）计算内存容量<br />char a[] = "hello world";<br />char *p = a;<br />cout&lt;&lt; sizeof(a) &lt;&lt; endl; // 12 字节<br />cout&lt;&lt; sizeof(p) &lt;&lt; endl; // 4 字节<br />sizeof(a)的值是12（注意别忘了’\0’）。指针p 指向a，但是sizeof(p)的值却是4。这是因为sizeof(p)得到的是一个指针变量的字节数，相当于sizeof(char*)，而不是p 所指的内存容量<br />void Func(char a[100])<br />{<br />    cout&lt;&lt; sizeof(a) &lt;&lt; endl; // 4 字节而不是100 字节<br />}<br />当数组作为函数的参数进行传递时，该数组自动退化为同类型的指针<br />12）指针参数是如何传递内存的？<br />void GetMemory(char *p, int num)<br />{<br />    p = (char *)malloc(sizeof(char) * num);<br />}<br />void Test(void)<br />{<br />    char *str = NULL;<br />    GetMemory(str, 100); // str 仍然为 NULL<br />    strcpy(str, "hello"); // 运行错误<br />}<br />毛病出在函数GetMemory 中。编译器总是要为函数的每个参数制作临时副本，指针参数p 的副本是 _p，编译器使 _p = p。如果函数体内的程序修改了_p 的内容，就导致参数p 的内容作相应的修改。这就是指针可以用作输出参数的原因。在本例中，_p 申请了新的内存，只是把_p 所指的内存地址改变了，但是p 丝毫未变。所以函数GetMemory并不能输出任何东西。事实上，每执行一次GetMemory 就会泄露一块内存，因为没有用free 释放内存。如果非得要用指针参数去申请内存，那么应该改用“指向指针的指针”<br />void GetMemory2(char **p, int num)<br />{<br />    *p = (char *)malloc(sizeof(char) * num);<br />}<br />void Test2(void)<br />{<br />    char *str = NULL;<br />    GetMemory2(&str, 100); // 注意参数是 &str，而不是str<br />    strcpy(str, "hello");<br />    cout&lt;&lt; str &lt;&lt; endl;<br />    free(str);<br />}<br />由于“指向指针的指针”这个概念不容易理解，可以用函数返回值来传递动态内存。这种方法更加简单<br />char *GetMemory3(int num)<br />{<br />    char *p = (char *)malloc(sizeof(char) * num);<br />    return p;<br />}<br />void Test3(void)<br />{<br />    char *str = NULL;<br />    str = GetMemory3(100);<br />    strcpy(str, "hello");<br />    cout&lt;&lt; str &lt;&lt; endl;<br />    free(str);<br />}<br />13）free 和delete只是把指针所指的内存给释放掉，但并没有把指针本身干掉<br />char *p = (char *) malloc(100);<br />strcpy(p, “hello”);<br />free(p); // p 所指的内存被释放，但是p 所指的地址仍然不变<br />…<br />if(p != NULL) // 没有起到防错作用<br />{<br />    strcpy(p, “world”); // 出错<br />}<br />p 被free 以后其地址仍然不变（非NULL），只是该地址对应的内存是垃圾，p 成了“野指针”。如果此时不把p 设置为NULL，会让人误以为p 是个合法的指针。<br />14）指针和内存的关系<br />（1）指针消亡了，并不表示它所指的内存会被自动释放。<br />void Func(void)<br />{<br />    char *p = (char 