写点什么

电子商务领域中的 OSS、SOA 和 Web 2.0

  • 2008-02-18
  • 本文字数:2834 字

    阅读完需:约 9 分钟

一直以来,人们就有建立SOA 和 Web 2.0 之间关系的想法。但是,Dion Hinchcliffe 写道

……这两种文化通常无法象它们应该的那样交叉授粉,尽管可能有的特别机会。

从架构的观点来看,一些人刚刚开始寻找两者匹配的方式。在这篇文章中 Ganesh Prasad(大型金融机构的资深架构师),Rajat Taneja 和 Rhys Frederick(两个都是咨询师)通过定义 SOFEA(service-oriented front-end architecture,面向服务前端架构)细化了他们关于如何关联 SOA 和 Web 2.0 的分析。

过去的几个月中,Mashup 框架开始成为沟通两者的桥梁,一些来自如 IBM WSO2 这样公司的新产品主要关注于关联 Web 2.0 用户体验和 RESTful 或 Web 服务的消费。

二月初,Apache Tuscany 项目通过促进服务和Web 2.0 用户界面装配打开了结合SOA 和Web 2.0 的新途径。

通过开发 Atom 发布协议(它暴露 RESTful 服务来管理一组资源),企业联合组织领域的相关问题已经被解决到了一定的程度。但是一些人注意到了在企业中更加广泛利用的限制

有人会说,我们只是刚刚开始集成SOA, Web 2.0 的其它方面,例如协作(wiki、标签、博客)、搜索、广告或文件共享,依旧有许多值得探索。

Optaros ,一家总部位于 Boston 在欧洲有办事处的咨询公司,实际上已经做了深入探索,并开发了一套关注于尽量利用开源软件交付 Web 2.0 + SOA 解决方案的实践。

InfoQ 采访了 Optaros 的 Marc Osofsky 和 Dave Gynn 以进一步了解细节。

InfoQ: 你们如何看待 Web 2.0 在企业中的应用?

Dave: 我们称之为“下一代互联网”。尽可能扩展 Web 2.0。社会方面,读 / 写,富用户界面,更多的网络感知组件(不仅仅是单块应用)。

过去,一个页面通常来自单个应用。现在,我们注意到用户交互实际并非是一个来自不同服务器的页面。人们对一些更简单的接口感兴趣:REST 接口,一些人期望将来与之交互。Ajax 驱使你思考给页面提供数据的方式。以及 JSON 用做格式化。

Marc: 在交付层面,Web 2.0 技术的关键是使用户体验和架构都达到最优。客户通常无法完全清晰地说出它的需求。这些技术能快速搭建原型,这使得用户能对之反应并给出新的想法。这的确非常有效,以致我们能够创建一个固定时间、固定价格的业务模型。

Web 2.0 和 SOA 之间存在有极大的协同效应。我们留意了其它单独使用 SOA 或 Web 2.0 的系统集成商,系统花的时间要更长一些。

InfoQ: 在企业中开源和更通用的组件重用的影响是什么?

Dave: 4 年前,Optaros 的创始人就意识到 OSS 将力量由 ISV 转移到了使用者的身上。这种转移将会改变咨询公司的机会环境,并要求一个新的交付模型。

我们的目标是将项目预算集中在那些对客户来说真正造成差异的地方。一般来说,项目的 80% 可以使用低成本商用组件交付,而 20% 是特定于这个用户的。

开源引入了一个新的重用模型。在任何一家公司,应用通常使用一次。这意味着,在公司内真的很难创建一个围绕一些代码的社区。

在 Optaros,我们重用整个解决方案,SOA 中间件组件如 Mule ,内容管理系统使用 Drupal Sugar CRM

InfoQ: 关于你们的解决方案和组件选择的方法,你们能给我们一些细节吗?

Dave: 今天,你们仍在试图重用一个整体解决方案,而不是服务个体。服务仍然难以找到,尽管越来越多的应用开始提供好的服务接口。例如,我们还没有谈论内容管理服务;我们仍在着眼于实现内容管理解决方案。

我们的方法论由产品和组件评估开始。在此,我们采用了全新的方法;我们寻找那些试图解决同样问题的人们,并识别他们正在使用的解决方案和组件,而不是评估一个标准矩阵。

例如,我们有一个客户是一家大学。他们雇用我们帮助他们实现一个内容管理系统,我们比较了他们和另外一个客户的需求,这把我们引向了 Sakai

Marc: Wonderbox [他们完成的一个零售项目,结合了商店前端、CRM 和后端集成] 项目中,我们采用了一种对许多零售店都普遍的方法。我们使用装配、动态脚本语言和Web 2.0(RIA、Ajax 和Streaming)完全地“重建平台”。我们在内核部署了一个请求代理,放置了一个他们基础设施的包装器,并开始迁移他们的后端服务。我们全部使用开源组件:OS Commerce,Sugar CRM 管理BOM 并跟踪使用和付费。我们使用Mule ESB 将所有服务连接起来。

InfoQ: 使用开源 SOA 基础设施你们有什么心得?

Dave: 以我们的经验,你可以从让你的中间件保持厂商中立过程中受益,如你可以得到对标准更好的支持。也使你对厂商的依赖更少:如果你将你的基础设施连接到了一个厂商协议,那么你就背离了 SOA 的观点。当然,从成本的角度来说,你还会有所收获,因为开源组件是免费的或是成本非常低廉。

随着时间推移,开源组件倾向于集成任何东西,而一家特殊的厂商并非总会这么做。

开源软件的关键优势是在项目的前期阶段。当人们做一些概念验证时,他们会使用一个开源组件作为替代物,之后在同一地方他们可能会购买产品。但是客户通常最终会保留这个开源组件,这一点对于 ESB 特别适用。

人们使用服务来获得他们的应用不同部分的好处的一个好的案例是 SwissCom Hospitality,一家酒店的无线提供商。基于 PhP 的前端。开发和修改前端,但是他们期望后端服务使用 Java,使用第三方服务(代理,数据缓存)。我们使用了 Web 服务在 PhP 和 Tomcat 容器之间穿梭。

Marc: 像 Symphony 或 Python 这样的脚本语言伸缩非常有效。我们开始留意使用这些技术的高流量网站。对我们来说,关键是它们能够与用户体验设计者一起快速的搭建原型。我们可以在几周内展示功能完全的站点。SOA 代理和容器也非常成熟,这儿我们没有看到太多的问题。依我们看来整个 SOA 方法正展示企业级的强度。

我们认为缺失的东西更多的是功能组件。例如,可以管理全部商店前端价格和产品信息的“商人桌面”。这常常是一个自定义组件。从 SaaS 观点来看,我们所看到的这一缺失领域是订单管理检验过程(checkout process)的核心。有些解决方案提供这一组件,但是它与表现层紧密地耦合在一起。

在 WonderBox 案例中,我们在不到半年的时间内设计和实现了一个新平台。提高交付你的体验的速度是关键,因为在零售业,你有 6 到 9 个月时间来改变任何东西。对于假期季节,系统必须保持稳定。

InfoQ: 你们能告诉我们你们开发的方法论和使用的工具吗?

Dave: 我们的方法论结合了敏捷方法和固定范围。你必须关注重用和装配组件,远离自定义组件。在非常早期,我们关注识别我们可以得到的解决绝大多数问题的组件。我们尽量最小化我们书写的代码。

当某些我们的开发包含着并非单个客户的特定差异,即具有一定的普遍价值,我们常常试图将其回馈给开源项目。例如,在 ActiveMQ 还没有一强大的死信处理能力的时候我们正在使用它。我们为 ActiveMQ 写了一个死信处理,并将这个使我们客户受益的特性提交回了这个项目:当下一个发布出来的时候,他们就不必经历一次大的升级,并且随着时间推移他们受益于错误修复和性能优化。对于客户和开源项目,这确实是一个双赢的情形。

我们试图尽可能的使用开源工具,因为要移交给客户。

查看英文原文: OSS, SOA and Web 2.0 in the e-Commerce sector

2008-02-18 20:411072
用户头像

发布了 255 篇内容, 共 57.2 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

金奖方案 | 一专多能、傲视寰宇,南大通用GBase8c数据库牛在哪里 #openGauss

daydayup

openGauss —— 智能优化器之基数估计

daydayup

观测,让运维更简单!龙蜥社区系统运维 MeetUp 等你报名

OpenAnolis小助手

操作系统 系统运维 ebpf Meetup 龙蜥社区

HDC2023|余承东:元服务将卡片式体验带给消费者,加速鸿蒙生态的繁荣

最新动态

从价值的角度看,为何 POSE 通证值得长期看好

西柚子

openGauss数据库从3.0.0升级到3.1.0操作实践

daydayup

网络命令ifconfig用法详解。

百度搜索:蓝易云

云计算 Linux 运维 网络 ifconfig

从价值的角度看,为何 POSE 通证值得长期看好

大瞿科技

Go 介绍

小万哥

Go golang 编程语言 跨平台 后端开发

openGauss内核荣获中国首个国际CC EAL4+级别认证

daydayup

HDC.Together 华为开发者大会还有干货,开发者主题演讲明日举行

Geek_2d6073

ubuntu系统使用vsftpd搭建FTP服务器。

百度搜索:蓝易云

Linux ubuntu 运维 vsftpd ftp

Ubuntu系统硬盘挂载详细教程。

百度搜索:蓝易云

云计算 Linux ubuntu 运维 云服务器

如何在CentOS7上搭建自己的GitLab仓库详解?

百度搜索:蓝易云

云计算 Linux centos gitlab 运维

JDK中「SPI」原理分析

Java 架构 jdk spi

openGauss的SQL引擎在3.1.0版本中做了哪些优化?

daydayup

贝业新兄弟:企业级应用在供应链物流领域的实践

明道云

Zebec Payroll :计划推出 WageLink On-Demand Pay,进军薪酬发放领域

西柚子

Docker基础和常用命令详解。

百度搜索:蓝易云

Docker 云计算 Linux 运维 云服务器

openGauss赋能企业核心场景应用 | 华为全联接大会2022专题回顾

daydayup

openGauss内核分析(二.一):简单查询的执行

daydayup

城市与AI,正待济沧海

脑极体

AI 大模型

Zebec Payroll :计划推出 WageLink On-Demand Pay,进军薪酬发放领域

大瞿科技

如何做好服务API的性能压力测试

唯美

性能 服务

鸿蒙生态星河璀璨 | 老程序员让HarmonyOS创新从“心”开始

最新动态

数据库迁移系列】从MySQL到openGauss的数据库对象迁移实践

daydayup

openGauss内核分析(二.二):简单查询的执行

daydayup

从海光看国内芯片行业崛起:技术研发是增长关键

打工人!

芯片 芯片行业 海光

华为正式发布HarmonyOS NEXT开发者预览版,携手开发者共赴鸿蒙生态星辰大海

Geek_2d6073

华为负一屏全新体验,实时状态让服务快人一步

最新动态

Centos7配置webrtc-streamer环境教程。

百度搜索:蓝易云

云计算 Linux 运维 WebRTC streamer

电子商务领域中的OSS、SOA和Web 2.0_SOA_Jean-Jacques Dubray_InfoQ精选文章