SOA也是一种设计模式

曾经看到一篇题为“Take the technology out of SOA, and see what you get”的文章,从标题上就可以大概猜到文章是试图撇开技术因素来考量SOA的概念。读完全文,非常认同文章的观点——SOA只不过是一种设计模式而已。作为一种设计模式,除了应用在信息系统中,也同样适用在其他系统的设计中。
 
文章中以麦当劳的服务系统举例,称之为“以人力为基础的面向服务的架构(a human-based SOA)”,非常有意思。大家都知道在国外,你可以驾着车享受麦当劳的服务。不用离开车,首先你开到一个卡通人前对对讲机说出你要几号套餐,然后向前开到下一个窗口付款并拿你的食物。这个简单的系统基本上包含了两个服务:接受订单服务和履行订单服务,但它是完全符合SOA要求的。试想如果麦当劳发现因为周围的噪声干扰严重影响对讲机的工作,或者想提供多语种的订单服务,她能够容易的替换原有的接受订单服务,例如:建立一个电话声讯中心(Call Center),甚至选择把这个服务外包出去。因为遵循SOA的系统中,服务提供者(Service Provider)的变化,不会影响其业务本身。在麦当劳的系统中,没有涉及信息技术,但同样做到了面向服务的架构。
 
从这个有趣的例子里,还能联想到其他的一些东西:
 
麦当劳的系统可以看作是由两个服务组成的一个复合应用。SOA设计赋予它重组的灵活性。麦当劳可以随心所欲的替换服务来提升效率,降低成本,或者增加客户体验。例如:选择外包接受订单服务以获得规模效益,或者是提供额外的客户体验—多语种服务。这样就比较容易理解,SOA对企业的信息系统的好处,这个好处在于业务流程的快速重组,而不是采用了最前沿的新技术。
 
既然SOA是从流程设计的角度去理解的,那么它的理念的主要听众不应该是信息技术人员而是业务人员。也就是为什么SAP一直在推动业务流程专家社区(Business Process Expert, BPX)的发展。因为成为业务流程专家的企业信息系统关键用户才是设计和创新的主体力量。
另外,在这个例子里,也可以体会到标准很重要。标准化是麦当劳快餐的基础,同样在她的服务系统中的标准化(服务的接口,模块化设计),都是实现SOA不可或缺的内容,不仅是在IT系统之中来考察这个问题是这样。
 
SOA的概念被宣传衍生到各种技术平台技术手段中,其实非常象当初的面对对象概念。面对对象的概念提出来的时候,主要是作为在软件系统设计中对客观世界进行抽象的新方法。然而很快IT业界几乎所有的东西都赶时髦地贴上了“OO”的标签。恐怕Gartner在1996年适时地提出了面向服务架构的思想的时候,也未曾料想它被如此运用。
 
那么技术对SOA是什么角色?应该说,技术让SOA的实际运用成为可能(Enabler)。譬如:面对对象的方法也可以用传统的编程语言去做实现,但一直等到支持面对对象编程语言的推出才广泛的被软件工业采用。具备了各种模块化组件技术和互联网的长足发展,SOA的在业务中才具备了实用性。这也是为什么SOA概念提出10年后才被炒作的沸沸扬扬。
 
把技术因素从SOA中剔除,SOA只不过是一种设计模式而已。只有本着这样的认识去运用SOA,才能够真正掌握其精髓,而不是淹没在技术细节的大海里。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SOA,即面向服务的架构,是一种软件设计模式,它将软件系统划分为互相协作的服务单元,每个服务单元都能够独立地被开发、部署和管理。SOA主要基于以下几个关键概念:服务、服务提供者、服务消费者、服务注册与发现、服务协议和消息等。 在SOA中,服务是系统中可以被其他应用程序使用的组件,它们之间通过网络进行通信,可以是简单的数据传输服务,也可以是复杂的业务逻辑服务。服务提供者负责发布服务并向外部应用程序提供访问接口,而服务消费者则利用这些服务来完成特定的任务。 SOA技术主要包括面向服务的软件开发、服务的部署和管理、服务的集成与通信,以及服务的安全保障等方面。常用的SOA技术包括Web服务、RESTful服务、消息队列和ESB等。这些技术能够帮助开发人员更好地构建和管理服务,从而提高系统的灵活性和扩展性。 在设计方面,SOA注重服务的模块化、可重用性和互操作性。使用SOA设计系统能够更好地适应不断变化的业务需求,提高系统的可维护性和可扩展性。此外,SOA还能够提高系统的安全性和可靠性,减少系统之间的耦合关系,降低整体系统的复杂度。 总而言之,SOA一种重要的软件架构设计模式,它通过服务的组件化和互相协作,提供了一种灵活、可扩展、安全和可靠的系统架构设计思路。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值