面向服务的架构SOA

标签: 服务 架构 soa | 发表时间:2014-05-26 00:42 | 作者:jzh440
出处:http://blog.csdn.net
SOA简介
SCA实现SOA的最佳方式
Apache开源框架Tuscany实现SCA架构

 

SOA简单描述:

SOA(Service-Oriented Architecture)面向服务的体系架构。为了能够深入理解还专门查了单词:Oriented:面向,Architecture:架构,没办法英语太烂!实际上是一个组件模型,他将应用程序的不同功能单(称为服务)通过定义良好的接口联系起来。SOA建立在Web服务的基础之上,他可以看做B/S模型、XML/Web Service 技术之后的自然延伸。

对于以上内容摘自《JAVA高手真经》,看了之后未免会让人产生以下几点疑问?

  1. SOA为什吗建立在Web服务基础之上?
  2. 神马是Web服务?
  3. 为什吗说是B/S模型、XMl/Web Service的技术延伸?

SOA官方定义:

SOA是一种架构模型,不是一种技术,而是一种样式。他根据需求通过网络松散耦合的粗粒度应用组件进行分布式部署

、组合和使用。SOA的核心是“服务”,本质就是服务组合起来对外提供接口。

刚开始看这些名词和解释,实在是晦涩难懂啊!对于一个语言不好的人来说太TM折磨了!


鉴于如此:本人对于SOA举一例,以供和自己一样的笨笨自勉。

看了上面两张图片是不是有点感慨了!

这就是我们小时候有玩过的垒积木,对于积木的每一个组建我们都可以看成是SOA架构里服务,所谓的服务分布式应用、组合无非就是我们拿着那些积木按照一定规则拼成我们自己想要的模型。

所以最关键的是我们如何拼积木?(问题四)。


SCA实现SOA的最佳方式

SCA(Service Component Architecure)服务组件体系结构是一种规范,SCA强调将服务的实现和服务的组装分离开来。

组建的实现:提供服务或使用其他服务。

组件的组装:通过将服务引用连接到服务来完成?

为什吗选择使用SCA实现SOA呢?简单的说Sping 实现了单机应用程序的IoC模型,SCA实现了分布式应用的IoC模型,鉴于Spring在JAVAEE中的地位和优势,对于SCA也是可想而知的。


Tuscany实现SCA架构简单DEMO

首先下载: http://tuscany.apache.org/sca-java-2x-releases.html 

 

我们要做的就是在本机运行sample里面的HelloWorld.

打开Eclipse新建动态Web Project目录结构如下:

通过maven导入jar包即解压路径下lib下面或者直接将例子中的pom文件引入使用:


将HelloWord例子中的文件copy到对应目录下,运行即可。俗话说的好“授人以鱼不如授人以渔”。通过此番折腾相信大家都可以入门了。另外提供一个仁兄的SCA插件,有了它我们打开X.composite再也不是一片黑了!

http://dl.iteye.com/topics/download/22efadbd-edb4-3cce-a3ec-0173f912e12c

对于本章遗留问题,尚不能作出明确解决,待后续补充!





作者:jzh440 发表于2014-5-25 16:42:15 原文链接
阅读:68 评论:0 查看评论

相关 [服务 架构 soa] 推荐:

SOA面向服务架构

- - 人月神话的BLOG
今年在这点上谈的比较多,也逐步开始落地实施,将SOA咨询和实施方法论从系统间真正的引入到系统内,将面向对象的需求分析方法和SOA思想进一步融合,从业务建模到系统用例建模,从流程分析到服务识别和分析,从业务组件化到系统模块化,这些工作都逐步开始落地实施. 这样做的好处就是进一步的体现SOA可复用组件的价值,真正的做到业务组件化和组件能力化.

面向服务的架构SOA

- - CSDN博客架构设计推荐文章
SCA实现SOA的最佳方式. Apache开源框架Tuscany实现SCA架构. SOA(Service-Oriented Architecture)面向服务的体系架构. 为了能够深入理解还专门查了单词:Oriented:面向,Architecture:架构,没办法英语太烂. 实际上是一个组件模型,他将应用程序的不同功能单(称为服务)通过定义良好的接口联系起来.

SOA和微服务架构沟通(2.8)

- - 人月神话的BLOG
今天在广州交流SOA和微服务架构,特对关键内容做简单记录. 对于SOA和微服务架构的区别,在知乎一个回答里面我已经进行了详细的说明,即微服务架构强调的第一个重点就是 业务系统需要彻底的组件化和服务化,原有的单个业务系统会拆分为多个可以独立开发,设计,运行和运维的小应用. 这些小应用之间通过服务完成交互和集成.

浅谈SOA面向服务化编程架构(dubbo)

- - ITeye博客
并非淘宝系的技术啦,淘宝系的分布式服务治理框架式HSF啦 ,只闻其声,不能见其物. 而dubbo是阿里开源的一个SOA服务治理解决方案,dubbo本身 集成了监控中心,注册中心,负载集群...等等. 代码和整体的框架还是很优雅滴呀. github地址 https://github.com/alibaba/dubbo.

SOA架构咨询

- - 人月神话的BLOG
对于SOA架构咨询,其核心还是在于组件化和服务化,然后才是服务管控和治理,基于服务化思想对传统软件开发生命周期过程的改进. SOA架构大家刚接触时候很容易将其理解为一种单纯的技术架构,或者更多的人仅仅是将SOA理解为service服务接口,这些都是对SOA方法论很大的误解. SOA咨询一个重点就是业务驱动IT,而非单纯的IT架构咨询,SOA咨询一般都会结合企业架构和云的思想,结合组件化架构和领域服务的思想,高层结合BPM端到端流程整合目标,并对这些内容进行有效的融合.

eBay开源SOA-Turmeric架构

- - 人月神话的BLOG
参考: https://www.ebayopensource.org/wiki/display/TURMERICDOC/Turmeric+Documentation+Overview. Turmeric是一个综合的、由策略驱动的SOA平台,提供了对SOA服务及其消费者的开发、部署、保护、运行和监控等方面的支持.

谈企业架构和SOA的融合

- - 人月神话的BLOG
本篇讲主要强调下在常规的企业架构规划和顶层设计中与SOA规划设计之间的融合. 再次强调下SOA的核心思想是解耦,在首先满足解耦的要求下实现共享,协同和复用. 一个完整的业务系统被拆分了应用,服务和资源层能力三个方面的内容. 资源层的能力最终以粗粒度的服务方式暴露出来,应用的构建需要大部分的借助于共享服务层抽取和接入的各种服务能力.

数据交换和SOA服务共享

- - 人月神话的BLOG
数据本身只是一种资源,而服务是一种能力;数据仅限于各种结构化和非结构化的数据资源,对于数据资源提供的能力可以使一种数据服务,而数据资源+业务规则形成的某种业务能力也可以作为一种服务提供,也就是说各种技术,数据,业务,平台,流程能力都可以做为服务提供. 交换本质是资源会从一个系统通过传输的方式进入到多个系统,资源在多个系统中形成多种拷贝.

再谈SOA和云架构设计的一些要点

- - 人月神话的BLOG
对于SOA和云架构设计方面的内容,前面已经有很多文章涉及到,在这里再重点谈下SOA和云架构设计和传统EA企业架构和单业务系统架构设计之间的一些区别和联系. SOA和云架构设计更多的是在企业架构的应用架构和技术架构层面,然后才过渡到单个应用的架构设计约束,因此也可以理解为是传统软件架构设计更加上层的一个内容.

对SOA架构思想的一些说明

- - 人月神话的BLOG
传统业务系统的构建更多的是竖井式的纵向思想,这个主要是从单个业务系统孤立来看都是垂直应用. 那么SOA架构的视角是从整个企业应用架构环境来看,思想的核心转变就是从传统的纵向独立构建模式转变为横向从底朝上逐层构建模式,在这个构建模式中首先是底层的资源层(独立的业务组件),然后是服务层,再上面才是应用层和门户展现层.