SOA资料学习

标签: 随笔文章 | 发表时间:2012-12-14 15:18 | 作者:人月神话
出处:http://blog.sina.com.cn/cmmi
相关资料可以在微盘下载到。具体根据标题名称搜索。

支付宝的SOA实践

从对象到组件,首先可以把对象理解为更细粒度东西,而组件是更加粗粒度的模块,对象更多关注技术,而组件应该更加关注业务。前面我们谈过技术组件和业务组件,在SOA思想下业务组件化的思想就更加重要。组件本身而言很简单,南向接口和北向接口,或者再有底座平台支撑。接口通过服务方式来实现,组件通过OSGI等技术实现高度的解耦和可热插拔性。组件本身也可以更加灵活的组装或编排。

对应烟囱群的打破,不仅仅是SOA服务的引入,更加重要的是平台和集中化思想的引入,是集中化后再将集中的能力服务化。所有共性和可复用的内容都可以集中。包括了传统所说的技术平台和共享数据中心,组件核心能力提供包括了技术,数据和业务三个方面,自然对应到技术服务,数据服务和业务服务。

组件是一个粗粒度的概念,从组件到服务简单来讲,组件本身的能力通过服务暴露出来,组件之间的交互只能通过服务交互进行。通过服务交互实现了组件间的集成,通过多个组件间的交互实现了整个应用的集成。

总体集成包括了三个方面的内容,一个是数据集成,一个是应用服务集成,一个是界面集成。数据集成重点是传统的ETL方式,而服务集成则是以服务和消息为主,界面集成则是基于单点和统一认证下前端技术的延展。在集成方式选择上的优先级应该为界面集成优先考虑,然后是服务集成,最后才是数据集成。

服务总线ESB是SOA架构中的一个核心内容,可以看到总线本身的作用仍然是围绕统一的服务代理和服务目录提供,消息转换,路由这几个关键点。再次强调服务总线的技术架构本身也应该是基于组件化和松耦合思想,通过各种插件或拦截器来实现对日志,安全,QoS等的进一步需求满足。

对于CAP,ACID和BASE理论在前面的文章已经有过介绍,原子性与持久性必须根本保障。为了可用性、性能与降级服务的需要,我们只有降低一致性( C ) 与 隔离性( I ) 的要求。而BASE的解决方案不是不关注一致性,而是最终一致性。在BASE方案实现中一个重点就是消息中间件和事件消息的使用。通过该方法来解决由于组件化后带来的大量的分布式事务问题。



文章里面关于柔性事务这个提法相当好,柔性事务是一个混合体,包括了两阶段性,补偿性,异步确保性,最大限度通知型等。两阶段性完全满足 ACID,而异步确保型则重点是BASE理论思路。一个完整的业务活动(Business Activity),是ACID与BASE的混合体。

企业私有云架构和实施蓝图


该资料是Intel的一个白皮书,有一定的参考价值。从这个私有云参考架构来看,可以看到包括了IaaS,PaaS,管控和自服务几个核心方面的内容。在这里简单摘录下IaaS层和PaaS层的业务需求和构建目标的描述。



laaS 为一套支持私有云的虚拟化多租户基础设施。laaS 基础设施可提供计算服务,通常以带有相关存储和网络连接的虚拟机(VM)形式存在。它可使不同业务团队的多个应用无缝共享通用的基础物理资源,例如服务器和存储。无需购买物理服务器、软件、数据中心空间和网络设备,我们的内部客户可通过虚拟机的方式获得这些资源。

这有助于我们提高每个池内的资源利用率,从而实现能效提升。同时它还支持实施更先进的服务,例如平衡物理服务器和存储构架之间的工作负载。工作负载平衡借助于虚拟机实时迁移而实现,后者可在一个资源池中的物理资源之间迁移虚拟化应用,整个过程对用户完全透明,不会中断应用所提供的服务。

对于PaaS,我们的目标之一是让开发人员花更多的时间创建应用并减少花在系统工程任务的时间。为了实现这一目标,我们的 PaaS 解决方案为开发人员提供了针对应用研发的标准平台,同时帮助他们减轻维护服务器操作系统等大部分传统任务(例如补丁安装、配置和监控)的负担。

我们已在 laaS 基础环境之上构建了 PaaS解决方案。借助 laaS 功能,该方案可支持平台动态地响应需求。该平台为一项应用可使用的标准服务;每个平台组件可根据需要进行扩展和收缩,进而满足应用在生命周期各个阶段的不同需求。

我们的 PaaS 构架旨在推动和简化最重要应用环境的标准化。我们将至少提供两个主要 PaaS 平台:一个基于我们的行业标准企业计算堆栈,另一个基于开源技术。每个堆栈均为开发人员提供了一套标准的功能,最初包括一个数据集、Web 服务器、身份验证与授权服务和一个应用服务器角色。我们计划之后再陆续添加一些其他的服务,例如分析和报告。

应用开发人员可借助下一节中描述的自助门户申请和管理其 PaaS 应用平台。他们可基于每个应用的要求来挑选服务器平台或完善软件堆栈。

为了让 PaaS 所有功能得以充分发挥,开发人员需要调整其应用以应对不断变化的环境,这可能需要他们通过应用内的API call 来调用适当的 laaS 和 PaaS 服务。例如,如果应用超出预期接收到大量 Web数据请求,它可要求快速增加 Web 前端服务器的数量。

2010中国SOA市场研究报告


虽然是两年前的一份材料,但是这份材料仍然有一定的参考价值,这种材料最新的一般为付费材料,所以看下两年前的材料,对比下现在SOA市场和技术的发展也有一定益处。

  青春就应该这样绽放   游戏测试:三国时期谁是你最好的兄弟!!   你不得不信的星座秘密

相关 [soa 资料 学习] 推荐:

SOA资料学习

- - 人月神话的BLOG
从对象到组件,首先可以把对象理解为更细粒度东西,而组件是更加粗粒度的模块,对象更多关注技术,而组件应该更加关注业务. 前面我们谈过技术组件和业务组件,在SOA思想下业务组件化的思想就更加重要. 组件本身而言很简单,南向接口和北向接口,或者再有底座平台支撑. 接口通过服务方式来实现,组件通过OSGI等技术实现高度的解耦和可热插拔性.

git 速成(学习资料)

- - CSDN博客研发管理推荐文章
可以参照: http://www.bootcss.com/p/git-guide/ 进行学习. 简介:git 主要由三部分组成.             2: index(缓冲区)--其实就是索引\缓冲区 临时保存你的修改;.    3: HEAD  --最后是 HEAD,指向你最近一次提交后的结果.

swift学习资料汇总

- - 编程 - 编程语言 - ITeye博客
今年的苹果开发者大会(WWDC)上,公布了ios8的几个新特性,其中包括引入了群聊功能,支持第三方输入法等功能. 但更让开发者感兴趣的莫过于Swift语言的发布了. Swift是apple自创的一门转为cocoa和cocoa touch设计的语言,意用来替换objc. Swift能使代码大量简化,并且开发者们可以在同一款软件中同事使用obj-c,Swift,c语言.

SOA架构咨询

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

推荐一些 Ruby on Rails 学习资料

- dylan - Reincarnation
开始之前应该看看 Ruby 官方网站 上的 About Ruby、Ruby in Twenty Minutes 和 Ruby From Other Languages 得到初步的印象和感性认识. 在页面底部可以选择语言查看中文版. 经验比较丰富的开发者可以通过 Ruby User’s Guide [注1] 快速入门 Ruby,之后应该准备一本 The Ruby Programming Language 作为日常参考.

架构学习资料整理(2013)

- - 鸟窝
地瓜哥2013攒的架构资料: 分享D瓜哥最近攒的资料(架构方面). 以前见过零零散散地介绍一些知名网站架构的分析文章. 最近D瓜哥也想研究一下各大知名网站的架构. 限于时间问题,这篇文章分享的文章并没有都看完,所以不保证所有文章的质量. 另外,如果有朋友发现更好的文章,欢迎留言告知. 探索Google App Engine背后的奥秘(1)–Google的核心技术.

从流水程序到SOA

- Allen - 阿朱=行业趋势+开发管理+架构
咱就从函数代码开始谈起,更史前的Goto和汇编代码咱就不谈了. 函数和变量写多了,自然也就发现有些函数和变量互相粘在一起很高耦合,而与其它的一些却没多达关系,于是为了显性化让其他的开发人员知道哪些函数和变量确实关联性很紧密,于是创造了类. 面向对象在80年代的国外代码开发界颇为流行. 但接口思想的风潮在90年代刮起了.

eBay开源SOA-Turmeric架构

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

SOA面向服务架构

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

[SOA] Mule ESB Linux 部署

- - CSDN博客架构设计推荐文章
本文介绍如何在 Linux 上部署 Mule ESB. Mule 是一个以Java为核心的轻量级的消息框架和整合平台,基于EIP(Enterprise Integeration Patterns,由Hohpe和Woolf编写的一本书)而实现的. Mule的核心组件是UMO(Universal Message Objects,从Mule2.0开始UMO这一概念已经被组件Componse所代替),UMO实现整合逻辑.