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

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

面向服务的架构SOA的更多相关文章

  1. 集成架构:对比 Web API 与面向服务的架构和企业应用程序集成(转)

    http://kb.cnblogs.com/page/521644/ 摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不 ...

  2. (转)集成架构:对比 Web API 与面向服务的架构和企业应用程序集成

    摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不同,以及如何将它们融入到一个不断演变的集成架构中.文中还将讨论 API ...

  3. 亚马逊如何变成 SOA(面向服务的架构)?

    阮一峰 日期: 2016年9月10日 上一篇文章,我摘录了<程序员的呐喊>.这本书有趣的内容太多,今天再摘录一段. 1. 亚马逊公司不仅是世界最大的网络书店,还是世界最大的云服务商.它是怎 ...

  4. 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台

    面向服务体系架构(SOA)和数据仓库(DW)的思考 基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse, ...

  5. 面向服务的架构(SOA)

    SOA架构基础概念 面向服务的架构(SOA) 在深入探讨什么是面向服务的架构(SOA)之前,先建立一些基本的概念和术语的基本描述而非严格定义,所以也许有些定义在业内还存留争议,此处暂且忽略. 架构基础 ...

  6. SOA(面向服务的架构)

    前言:SOA(面向服务的架构)是目前企业应用开发过程中普遍采用的技术,基于MVC WebAPI三层分布式框架开发,以此适用于企业信息系统的业务处理,是本文论述的重点.此外,插件技术的应用,富客户端JQ ...

  7. 亚马逊如何变成 SOA(面向服务的架构)

    . 亚马逊公司不仅是世界最大的网络书店,还是世界最大的云服务商.它是怎么实现从电商到云商的转变呢? 一切都是CEO杰夫·贝索斯促成的,他对市场有着超乎常人的理解和预见. 2. 2000年前后,贝索斯有 ...

  8. SOA (面向服务的架构)-Service Oriented Architecture

    SOA (面向服务的架构) 编辑 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立 ...

  9. 面向服务体系架构(SOA)和数据仓库(DW)的思考

    摘要: 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse,DW)都介绍的很多,提出了很多优秀的解决方案,但是一般是把 SOA 和 DW 单独考虑,SOA 和 DW 有着共同 ...

随机推荐

  1. linux shell脚本通过参数名传递参数值

    平常在写shell脚本都是用$1,$2....这种方式来接收参数,然而这种接收参数的方式不但容易忘记且不易于理解和维护.Linux常用的命令都可指定参数名和参数值,然而我们怎样才能给自己的shell脚 ...

  2. Log4perl 的使用

    Perl 使用Log4perl 首先下载log4 module : http://search.cpan.org/CPAN/authors/id/M/MS/MSCHILLI/Log-Log4perl- ...

  3. 50道java算法题(一)

    [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:   兔子的规律为数列1 ...

  4. shell 监控局域网的主机是否up

    #!/bin/bash ;i<;i++)) ;do .$i>/dev/null #ping -c 172.31.0.30 ~172.31.0.59 ]] #if up $?==0 then ...

  5. codevs 3290 华容道(SPFA+bfs)

    codevs 3290华容道 3290 华容道 2013年NOIP全国联赛提高组 时间限制: 1 s  空间限制: 128000 KB 题目描述 Description 小 B 最近迷上了华容道,可是 ...

  6. 核心动画基础动画(CABasicAnimation)关键帧动画

    1.在iOS中核心动画分为几类: 基础动画(CABasicAnimation) 关键帧动画(CAKeyframeAnimation) 动画组(CAAnimationGroup) 转场动画(CATran ...

  7. Git的一些实用操作

    Ref:http://stackoverflow.com/questions/17195861/undo-git-update-index-assume-unchanged-file 1. 添加本地忽 ...

  8. poj2912(种类并查集+枚举)

    题目:http://poj.org/problem?id=2912 题意:n个人进行m轮剪刀石头布游戏(0<n<=500,0<=m<=2000),接下来m行形如x, y, ch ...

  9. NYOJ题目817英文藏头诗

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtEAAAKXCAIAAADLqoEhAAAgAElEQVR4nO3dO1LrzNbG8W8S5AyE2D

  10. UVA 10066 The Twin Towers

    裸最长公共子序列 #include<time.h> #include <cstdio> #include <iostream> #include<algori ...