云计算基础概念——SOA、SCA、SDO


SOA(Service-Oriented Architecture)面向服务的架构,是一种分布式的软件组件模型。

整个应用程序被设计和实现为一组相互交互的服务,它使得系统中的某些服务能够充分利用其他的服务同时却无需考虑其物理位置。

在该模型中,任何的业务功能被作为提供的一个服务使用。

应用程序的不同功能(服务)通过这些服务之间定义良好的接口和契约联系起来,使得构建在系统中的服务可以以一种统一和通用的方法进行调用。

这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松藕合。

松藕合系统的好处有两点:它的灵活性;当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。

转自:http://wenku.baidu.com/link?url=m5V0Vi5pvNyP4RGp9DjDxBG9ni7VcRpHm7M2E6llJA8nkkquRzApw-_--vgRNYfNjsRfzoOm1QG9bd-Fdlu3GxcKsgCzYQxTliTjem8bRJ_


SOA架构中有三种角色:

服务提供者:发布自己的服务,并且对服务请求进行响应。

服务注册中心:注册已经发布的 web service ,对其进行分类,并提供搜索服务。

服务请求者:利用服务中心查找所需要的服务,然后使用该服务。

SOA的三种操作:

发布操作:为了是服务可访问,需要发布服务描述以使服务使用者可以发现它。

查找操作:服务请求者定位服务,方法是查询服务注册中心来找到满足其标准的服务。

绑定操作:在检索到服务描述之后,服务使用者继续根据服务中的信息来调用服务。

SOA的相关标准

SOAP:简单对象访问协议(Simple Object Access Protocol)

WSDL:Web 服务描述语言(Web Services Description Discovery  and Integration)

UUDI:统一描述、发现和集成(Universal Description、Discovery and Integration)

WSDL 用来描述服务;UDDI 用来注册和查找服务;而 SOAP 作为传输层,用在消费者和服务提供者之间传送消息。

一个消费者可以在 UDDI 注册表(registry)查找服务,取得服务的 WSDL 描述,然后通过 SOAP 来调用服务。


转自:http://zhidao.baidu.com/link?url=T3tIg0b9Vz58pAhRCM-RbUHPdxE__cyjdH5-7z_vZu9iku-oHZT1lDgWiHTqiKUJhtN6hYZNCMRVIpu-TDwzQK

SOA将应用程序的不同功能单元通过这些服务之间定义良好的接口和契约联系起来。

接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。

这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。

其实SOA和架构虽然可以分开,各有各的意思,但是结合出来就代表一种相互的融合和促进,在将来的发展中势必是一个强势的冲击。



转自:http://blog.itpub.net/14789789/viewspace-425595/

针对以下描述的理解可参考网页:http://lavasoft.blog.51cto.com/62575/163782/

具体协议规范应该可以百度到,以下为针对 SCA 和 SDO 的描述

SOA已经成为公认的IT基础架构发展的趋势,它为我们描绘了一幅美妙的IT系统和业务系统完美结合的图画。然而,即使是在各咨询机构推崇SOA,各厂商大肆宣传推广SOA,用户普遍认可SOA的今天,SOA的美好未来依然给人一种不清晰、不踏实的感觉。


我们常常说SOA需要解决如何落地的问题。这个难题无法一蹴而就,必须花费很多时间才能逐步进行解决。但在目前,我们已经为SOA找到了一个着地的落脚点,这就是SCA/SDO规范。

2005年11月, IBM、BEA、IONA、Oracle、S等几家厂商就合作建立新的业内规范来简化 SOA 应用发展达成了一致,共同发布了两项针对SOA的重要构件模型规范——SCA 0.9和SDO。此后,该团体陆续吸引了Red Hat、普元、TIBCO等多家公司的加盟,形成了OSOA(Open Service Oriented Architecture)联盟,目前成员数量达到18家。OSOA联盟旨在为SOA起草一系列的规范,并以免版税的许可方式提供给业界使用。

2007年3月,OSOA联盟宣布了SCA和SDO规范中关键部分的完成,发布了SCA 1.0和SDO 2.1,并将其正式提交给OASIS,通过其开放式标准过程进行推动。

SCA规范旨在简化服务的创建和合成,对于运用基于SOA方式服务的应用构建十分关键。随着SCA规范的完成,联盟合作厂商希望将其标准化过程提交给OASIS。此外,联盟厂商也已完成了SDO规范,旨在实现对多个站点中多种格式数据的统一访问,并将把SDO基于Java的规范开发和管理提交给Java社团过程(Java Community Process,JCP)组织,而基于非Java的规范(C++)提交给OASIS。

SCA是一种规范,它使开发人员可以将注意力集中在业务逻辑的编写上。更直接地说,它是一种大大改进了的部署描述符,它可以使用任何语言而不限于Java。此外,编程人员还可以使用编程式语言和声明式语言,比如BPEL和XSLT(eXtensible Stylesheet Language Transformation,扩展样式表转换语言)。SCA的特别之处在于,它对安全性、事务和可靠消息传递之类的特性使用了声明式策略的理念。

SCA是专门针对SOA设计的,而不像J2EE只是面向SOA做了修改。SCA关注的是如何描述按照各种编程模型和协议编写的组件所组成的程序集。SCA允许开发应用程序集而不考虑特定的API或具体语言是的中间件

SCA的核心概念是服务及其相关实现。服务由接口定义,而接口包含一组操作。服务实现可以引用其他服务,称为引用。服务可以有一个或多个属性,这些属性是可以在外部配置的数据值。

SCA中的一个关键推动因素是SDO(Service Data Object,服务数据对象)。SDO用于表示业务数据、参数以及服务调用的返回值,当它遍历服务网络时,它还是一种表示数据的方式。注意,也可以使用XML Beans及其他技术。

SCA组件被组成为程序集。程序集是服务级的应用程序,它是服务的集合,这些服务被连接在一起,并进行了正确的配置。SCA程序集运行在两个级别:第一种情况,程序集是系统内的一组松散连接的组件;另一种情况,程序集是模块内的一组松散连接的组件。二者的区别在于,一般来说,模块是组件的集合,而系统是模块的集合。此外,系统对应于“大规模编程”(programming in the large或megaprogramming),而模块对应于“小规模编程”(programming in the small),比如构建当今的典型应用程序。

将组件连接到它所依赖的服务的方式就是服务网络“装配”的方式。程序集已经在许多技术和框架中广为应用,比如CORBA、J2EE、ATG Dynamo和Spring,也就是说,它并不是新出现的。从这些技术中我们可以知道,程序集提供了许多重要的优点,比如更轻松的迭代开发,以及避免使业务逻辑依赖于中间件容器。SCA使用程序集解决了许多SOA开发中的重要问题,包括:
  *业务逻辑与底层基础架构、服务质量和传输的分离。
  *“小规模编程”与“大规模编程”的联系。
  *为架构的设计、编码和操作性部署在自底向上(bottom-up)和自顶向下(top-down)两种方法中来回切换提供了一种统一的方式。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值