打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
企业和消费者Web应用的区别

 虽然有证据表明企业的与消费者的Web架构和技术将来会融合在一起,但是,这两种架构和技术目前是完全不同的。如果一个人谈到企业应用程序架构,他可能会说虽然消费者Web应用程序很可爱、简单并且有时候是有用的,但是,消费者Web架构和技术仅仅是一些脚本和技巧的组合。如果一个人谈到消费者Web架构,他可能会说企业软件太复杂,经常不能使用并且以高价格的和新能不佳的技术为基础(如JSF或者门户)。

  Nexaweb公司首席技术官Jeremy-Chone认为,消费者和企业的Web应用程序有六个主要区别:

  1. 伸缩性(用户与应用程序)

  伸缩性也许是消费者和企业Web应用程序之间的最重要的区别。消费者Web应用程序主要是为一个应用程序增加或减少用户数量。YouTubeFacebookTwitter等成功的消费者应用程序的用户群几乎在成倍地增长。因此,消费者Web架构需要支持免除许可证的技术并且通常需要建立一种客户化的技术以便准确地适应这种应用程序高伸缩性的需求。一个很好的例子是谷歌的文件系统。这个系统的架构是一个分布式的文件系统。

  另一方面,企业通常有相对固定数量的用户(用户数量可能会遗憾地越来越少),但是,企业的商业应用程序的需求在日益增长。企业IT部门的最大挑战是标准化技术架构和整个应用程序组合的最佳做法,以便最大限度地减少应用程序开发和维护的成本。因此,企业开发人员愿意使用标准的和有良好的技术支持的技术,尽管这种技术有昂贵的许可证费。维护人员通常支持架构的漂亮和性能以及JSF、SOA和门户等能够带来风险与好处的平衡的技术。

  2.经验(简单性与功能)

  企业和消费者Web应用程序的第二大区别是经验。在消费者领域,应用程序必须要简单和迷人,因为消费者应用程序就是要吸引用户。因此,简单性是王,经常是功能越少越好。Twitter网站胜过FriendFeed网站的主要原因就是其简单性。YouTube、Flickr和许多其它成功的消费者网站显示了简单性经常战胜完美的极好例子。

  然而,在企业环境中,用户是企业员工。他们花在应用程序上的时间是为了完成一个具体的工作。虽然企业应用程序需要容易操作和良好的设计,但是,功能是王。为了审美而限制应用程序的功能不是一个好的企业IT战略。

  3.安全(一对一与一对多)

  虽然企业和消费者Web应用程序都需要保密,但是,企业环境的安全要求远远高于消费者环境的安全要求。在消费者Web应用程序方面,用户通常为每一个人工制品设置一个访问规则。例如,当在YouTube网站发表一个视频的时候,你可以为你的朋友或者为一切人把这个视频设置为专有的。

  在企业环境中,你要根据组、任务和时间等复杂的访问规则为一套指定的记录设置许多规则。这是企业应用程序通常使用Spring Security等复杂而全面的安全框架的原因之一。

  不过,企业和消费者Web应用程序的一个共同的要求是单一登录。在消费者网站,Open Auth和OpenID的应用势头似乎在增长,而企业都使用专有技术和开源软件组合的技术,如甲骨文的Sign On以及JOSSO和Liberty Alliance(自由联盟)等开源软件和标准解决方案

  4.处理(解耦合与全面)

  在消费者Web应用程序中,最有效的伸缩性的方法是分区和把数据和逻辑发布到许多低价格的服务器。使用这种分布式架构的缺点是处理的成本很高并且不可能大规模地实施。在少量的服务器上配置甲骨文RAC或者Java JTA是一回事,但是,在数百台甚至数千台服务器上采用这些软件是另一回事。

  因此,大多数消费者Web应用程序采取我所说的解耦合处理模式。在这种方式中,一个事务处理将拆分为若干个较小的能够单独执行的事务处理,让系统有机会包含一些过期的数据。例如,当一个人工设置被删除、增加或者修改的时候,这个项目修改处理通常与关系修改处理解耦合。这个方法就是设计系统让用户在99%的时间里都不会注意到过期的数据,而且这种过期的数据也从来不会导致错误的后果(如,防止eBay用户购买被删除的物品)。大多数消费者Web应用程序都有自己客户化的松散的处理实施。这通常包括缓存、时钟守护作业和固定处理方法等。

  在企业Web应用程序中,这个要求是完全不同的。企业应用通常不能容忍过期的数据,系统必须保证全部处理的完整性。甲骨文的RAC等价格昂贵但是可靠的技术在企业需要升级到指定的应用程序的时候能够有很大的不同。

  5.集成(松散与严格)

  消费者和企业Web应用程序的另一个区别是应用程序整合。在消费者领域,应用程序整合是有系统地实施的。应用程序提供商(如,Twitter)或者应用程序容器提供商(也就是Facebook)定义每一个人能够集成的接口。这个结果就是成百上千的应用程序都有可能与这些接口集成起来。因此,这些接口将是简单的、轻型的(如REST)并且经常是以客户为中心的(如OpenSocial和iGoogle)。换句话说,消费者应用程序集成主要是广度,而不是深度。

  在企业领域,应用程序集成必须是深思熟虑地设计和管理的,并且影响到这个应用程序的所有的层面(也就是说,展示、逻辑和数据等层面)。ETL、SOA、JMS和门户等重量级的和昂贵的技术通常是建立应用程序之间整合的有效的方法。

  6.搜索(网页与数据)

  最后一个区别与搜索有关。在消费者Web应用程序中,主要的搜索模式(如,谷歌和雅虎)是基于网页的。网页是展示内容、演示和指定实体的关系的统一方法。SEO(搜索引擎优化)是一个定义良好的概念,有助于Web内容和应用程序提供商制作很容易搜索到的信息。这种方法的一个大的好处是搜索是独立于应用程序的。

  在企业Web应用程序中,搜索是以记录为中心的。用户不搜索网页,而是搜索拥有所有相关属性(如,访问控制)的记录。这种方法的好处是搜索更有针对性和更安全。然而,使用这种方法最值得注意的是搜索将成为以应用程序为中心的,从而使跨应用程序的搜索成为一种相对昂贵的解决方案。

  Chone说,上面就是消费者和企业Web应用程序之间的关键的结构差别。好消息是软件服务将推动这两种Web应用程序的融合。SalesForce.com就是消费者Web应用程序架构能够适应企业需求的一个极好的例子。我认为,开源软件现在和将来在消费者/软件服务Web应用程序中发挥的作用将大于它在企业Web应用程序中的作用。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Windows 7中使用IE6资源总结归纳 - Windows 7 - 操作系统 - 伊甸...
调查:Java程序员最亲睐的Web框架
J2EE架构的6个最佳实践
BurpSuite是什么工具?常用模块介绍
citrix
如果我使用 Docker ,还需要 PaaS 吗?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服