什么是 SOA(面向服务的架构)? [英] What is SOA (Service Oriented Architecture)?

查看:31
本文介绍了什么是 SOA(面向服务的架构)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果你愿意,可以叫我巨魔,但我是认真的:新的 SOA 趋势与我 15 年前构建的客户端服务架构到底有什么不同?我一直在听到SOA 但我看不出它与我们一直以来所做的有何不同.

Call me a troll if you want, but I'm serious: how exactly is the new SOA trend any different than the client-service architecture that I was building 15 years ago? I keep hearing SOA but I don't see how it's different than what we've always done.

10 年前,我的公司有多个客户(使用多种语言)与同一个服务进行交流.它不是 XML(它是一种称为 Microsoft DCOM 的二进制协议),也没有通过 WSDL 进行自动发现,但这没关系,因为阅读文档同样容易.我们的系统甚至是开放的",因为我们记录了它足以让 3rd 方与我们的服务交谈.我们不是先驱 - 10 年前我认识的所有其他公司都在做同样的事情.

Back 10 years ago, my company had multiple clients (in multiple languages) which talked to the same service. It wasn't XML (it was a binary protocol called Microsoft DCOM) and there wasn't auto-discovery through WSDL but that's OK since reading the docs was just as easy. Our system was even "open" in the sense we documented it enough to allow 3rd parties to talk to our services. We were not pioneers - every other company I knew 10 years ago was doing the same thing.

我在当时和现在之间看到的唯一区别是,现在互联网上只有一项服务可用,而 10 年前,每个客户都会托管自己的服务实例.但这不是架构问题 - 服务的物理位置对使用该服务的任何人都是透明的.

The ONLY difference I see between then and now is that now there's a single service available on the internet, whereas 10 years ago, each customer would host his own instance of the service. But that's not an architecture issue - where the service physically lives is transparent to anyone using the service.

那么与我们多年来一直在做的事情相比,SOA 究竟有什么不同?SOA 是否只是一个营销术语,代表了很久以前实际上已经很普遍的最佳实践?或者我是否遗漏了一些与我们一直在做的事情不同的 SOA 微妙之处?

So what exactly is SOA that's different than what we've been doing for years? Is SOA simply a marketing term representing a best practice that actually became common a long long time ago? Or am I missing some subtely to SOA that's different than what we've been doing all along?

推荐答案

忘记 XML.忘记 WSDL.SOA 不是一种您可以购买的技术,尽管它经常以这种方式进行营销.

Forget about XML. Forget about WSDL. SOA is not a technology you can buy, though it's often marketed that way.

SOA 的真正意义在于 IT 组织.SOA 的重点是避免拥有大量具有隔离数据池的应用程序",或者根本不相互通信(因此经常复制数据),或者仅以低效、错误的方式通过适配器层或 EAI 系统.

The real point of SOA is all about IT organization. The point of SOA is to avoid having a huge bunch of "applications" that have isolated data pools and either don't talk to each other at all (and thus often duplicate data), or only in an inefficient, buggy way through adapter layers or EAI systems.

对于大公司来说,这是一个严重的问题 - 他们实际上有数百个未充分集成的独立应用程序.到处都有重复和不一致的数据,结果是客户很生气,损失了真钱,因为计费部门不断发送取消订单的发票,而客户服务代表甚至找不到订单,因为它在订单跟踪中被取消了系统,但不是计费系统.

For large companies, this is a serious problem - they have literally hundreds of separate apps that are insufficiently integrated. There's duplicate and inconsistent data everywhere and the result is that customers get pissed off and real money is lost because the billing department keeps sending invoices for a cancelled order and the customer service rep can't even find the order because it's cancelled in the order tracking system, but not the billing system.

SOA 应该通过从头开始设计每个应用程序来解决这个问题,以标准化的跨平台方式发布其服务,以便其他应用程序可以访问数据而不必复制它.

SOA is supposed to solve this by designing every app from the ground up to publish its services in a standardized, cross-platfrom manner so that other apps can access the data and don't have to duplicate it.

从业务角度来看,这是非常可取的.流行语炒作和首字母缩略词汤只是 IT 公司试图从这种需求中获利.不幸的是,这已经(错误地)让很多人,包括 CEO 们相信 SOA 是一种你可以购买的产品,它会神奇地提高你的 IT 效率,却没有意识到这只会在你重组整个 IT 时才会发生(并且相当也可能是您的业务部门)与 SOA 兼容.

From a business perspective, this is highly desirable. The buzzword hype and the acronym soup is just IT companies' attempts to cash in on that desirability. Unfortunately, this has (mis)led many people, including CEOs into believing that SOA is a product you can buy and it will magically make your IT more efficient, without realizing that this will only happen if you also reorganize your entire IT (and quite possibly your business units as well) to be SOA-compatible.

这篇关于什么是 SOA(面向服务的架构)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆