面向服务的架构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。
对于本章遗留问题,尚不能作出明确解决,待后续补充!
面向服务的架构SOA的更多相关文章
- 集成架构:对比 Web API 与面向服务的架构和企业应用程序集成(转)
http://kb.cnblogs.com/page/521644/ 摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不 ...
- (转)集成架构:对比 Web API 与面向服务的架构和企业应用程序集成
摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不同,以及如何将它们融入到一个不断演变的集成架构中.文中还将讨论 API ...
- 亚马逊如何变成 SOA(面向服务的架构)?
阮一峰 日期: 2016年9月10日 上一篇文章,我摘录了<程序员的呐喊>.这本书有趣的内容太多,今天再摘录一段. 1. 亚马逊公司不仅是世界最大的网络书店,还是世界最大的云服务商.它是怎 ...
- 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台
面向服务体系架构(SOA)和数据仓库(DW)的思考 基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse, ...
- 面向服务的架构(SOA)
SOA架构基础概念 面向服务的架构(SOA) 在深入探讨什么是面向服务的架构(SOA)之前,先建立一些基本的概念和术语的基本描述而非严格定义,所以也许有些定义在业内还存留争议,此处暂且忽略. 架构基础 ...
- SOA(面向服务的架构)
前言:SOA(面向服务的架构)是目前企业应用开发过程中普遍采用的技术,基于MVC WebAPI三层分布式框架开发,以此适用于企业信息系统的业务处理,是本文论述的重点.此外,插件技术的应用,富客户端JQ ...
- 亚马逊如何变成 SOA(面向服务的架构)
. 亚马逊公司不仅是世界最大的网络书店,还是世界最大的云服务商.它是怎么实现从电商到云商的转变呢? 一切都是CEO杰夫·贝索斯促成的,他对市场有着超乎常人的理解和预见. 2. 2000年前后,贝索斯有 ...
- SOA (面向服务的架构)-Service Oriented Architecture
SOA (面向服务的架构) 编辑 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立 ...
- 面向服务体系架构(SOA)和数据仓库(DW)的思考
摘要: 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse,DW)都介绍的很多,提出了很多优秀的解决方案,但是一般是把 SOA 和 DW 单独考虑,SOA 和 DW 有着共同 ...
随机推荐
- Python模块常用的几种安装方式
Python模块安装方法 一.方法1: 单文件模块直接把文件拷贝到 $python_dir/Lib 二.方法2: 多文件模块,带setup.py 下载模块包,进行解压,进入模块文件夹,执行:pytho ...
- centos7.0 安装LNMP运行环境
LNMP作为php流行的运行环境,而最近需要搭建一个内部的php论坛.记录下LNMP的安装: 1.安装mysql 请参考:centos7 安装mysql5.7.11注意事项 2.安装php yum i ...
- HDU 4862 Jump(最小K路径覆盖)
输入一个n×m网格图,每个结点的值为0-9,可以从任意点出发不超过k次,走完每个点且仅访问每个结点一次,问最终的能量最大值.不可全部走完的情况输出-1. 初始能量为0. 而结点(x,y)可以跳跃到结点 ...
- ArtDialog简单使用示例
<html><head><meta http-equiv="Content-Type" content="text/html; charse ...
- 118. Pascal's Triangle
题目: Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, ...
- [Android Pro] adb 进入 recovery, adb 进入 bootloader
reference to : http://blog.csdn.net/mldxs/article/details/18699965 重启到Recovery界面 adb reboot recovery ...
- UbuntuLinux安装Mysql
1.安装Mysql5.7 方法:手动安装5.7 One: $ wget http://dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.deb 下载 ...
- Google 如何修复 TrustManager 实施方式不安全的应用
引用谷歌市场的帮助说明:https://support.google.com/faqs/answer/6346016 本文面向的是发布的应用中 X509TrustManager 接口实施方式不安全的开 ...
- Django环境配置
Django安装 #安装最新版本的Django $ pip install django #或者指定安装版本 pip install -v django==1.7.1 项目创建 $ django-ad ...
- UVA 111 History Grading
读题读了好久,其实就是在输入数据时要对数据的位置进行相应的改变 #include<iostream> #include<cstring> #include<cstdio& ...