面向服务的架构SOA
SOA简介
SCA实现SOA的最佳方式
Apache开源框架Tuscany实现SCA架构
SOA简单描述:
SOA(Service-Oriented Architecture)面向服务的体系架构。为了能够深入理解还专门查了单词:Oriented:面向,Architecture:架构,没办法英语太烂!实际上是一个组件模型,他将应用程序的不同功能单(称为服务)通过定义良好的接口联系起来。SOA建立在Web服务的基础之上,他可以看做B/S模型、XML/Web Service 技术之后的自然延伸。
对于以上内容摘自《JAVA高手真经》,看了之后未免会让人产生以下几点疑问?
- SOA为什吗建立在Web服务基础之上?
- 神马是Web服务?
- 为什吗说是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。
对于本章遗留问题,尚不能作出明确解决,待后续补充!