欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
SOA
SOA: Service-Oriented Architecture
SOA的基本原则之一就是,商业驱动服务,服务驱动SOA。
SOA - IT与业务的融合剂, 借助SOA,像运营企业一样运营IT。同时, SOA也将和虚拟化一起促IT和业务结合。
ESB(Enterprise Service Bus): SOA的核心和基础架构, 先了解一下ESB功能
面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
更多细节: SOA Best Practices: A Conversation With Sun Microsystems Distinguished Engineer Mark Hapner
目录 |
SOA现状
最近的统计表明目前存在超过56个涉及SOA的各个方面的标准机构。他们的工作未能协调一致,因 此标准众多实际上等于没有标准。要遵循哪个“标准”完全由各个IT小组自行决定。
SOA的原则
SOA是一种企业架构,因此,它是从企业的需求开始的。但是,SOA和其它企业架构方法的不同之处在于SOA提供的业务敏捷性。业务敏捷性是指企业对变更快速和有效地进行响应、并且利用变更来得到竞争优势的能力。对架构设计师来说,创建一个业务敏捷的架构意味着创建这样一个IT架构,它可以满足当前还未知的业务需求。
要满足这种业务敏捷性,SOA的实践必须遵循以下原则:
- 业务驱动服务,服务驱动技术
从本质上说,在抽象层次上,服务位于业务和技术中间。面向服务的架构设计师一方面必须理解在业务需求和可以提供的服务之间的动态关系,另一方面,同样要理解服务与提供这些服务的底层技术之间的关系。
- 业务敏捷是基本的业务需求
SOA考虑的是下一个抽象层次:提供响应变化需求的能力是新的“元需求”,而不是处理一些业务上的固定不变的需求。从硬件系统而上的整个架构都必须满足业务敏捷的需求,因为,在SOA中任何的瓶颈都会影响到整个IT环境的灵活性。
- 一个成功的SOA总在变化之中
SOA工作的场景,更象是一个活的生物体,而不是象传统所说的“盖一栋房子”。IT环境唯一不变的就是变化,因此面向服务架构设计师的工作永远不会结束。对于习惯于盖房子的设计师来说,要转向设计一个活的生物体要求崭新的思维方式。如下文所写的,SOA的基础还是一些类似的架构准则。
SOA专业人员指南
为了帮助开发共享语言和有关SOA的知识集,一群SOA专业人士创建了“SOA专业人员指南”这个文档系列。在这个文档系列中,这些SOA专家描述了一些与SOA相关的最佳实践和关键知识,以帮助其他公司迎接SOA的挑战。他们对“SOA专业人员指南”的期望是,这个分为多个部分的知识集在出版之后,能够作为所有SOA相关人员的标准参考百科全书。
- SOA专业人员指南第1部分——为何使用面向服务的架构?这本指南将对SOA做高层次的总结。
- SOA专业人员指南第2部分——这本指南涵盖了SOA参考架构,它提供对企业级SOA实现的有效设计,并带有详细的架构图、组件说明、详细需求、设计模式、有关标准的意见、符合规则的模式、标准模板和来自成员的潜在代码资产。
- SOA专业人员指南第3部分——这份指南介绍了服务生命周期,并提供通过服务生命周期管理服务的详细过程,包括从开始到退出使用或赋予服务新的用途。它还包含一个附录,内容为企业和管理最佳实践、模板、有关关键SOA标准的注释以及指向更多信息的推荐链接。
SOA控制
- 服务定义,包括服务的范围、接口和边界
- 服务部署生命周期,包括各个生命周期阶段
- 服务版本控制,包括兼容性
- 服务迁移、包括弃用和退役
- 服务注册中心,包括依赖关系
- 服务消息模型,包括规范数据模型
- 服务监视,包括进行问题确定
- 服务所有权,包括合作组织
- 服务测试,包括重复测试
- 服务安全、包括可接受的保护范围
- 服务模型
SOA与Web 2.0
Web 2.0 与 SOA 有着怎样的关系 ?- i-Technology Viewpoint: Is Web 2.0 the Global SOA? - http://webservices.sys-con.com/read/164532.htm
SOA与网格
网格观点: 虚拟化是 SOA 环境的基础:SOA 和基础设施虚拟化技术之间是高度协作的关系。随着企业采用的服务不断增多,这些服务的大小和规模也不断增大,实现支持这些服务的基础设施虚拟化技术也日益重要。没有基础设施的虚拟化,企业的管理就会变得非常复杂,很难实现服务的灵活性优点。在本文中,将对网格计算和 SOA 以及基础设施虚拟化技术之间的相似和不同之处进行简要分析。
基于 SOA 构建网格应用程序: 网格正在慢慢地朝 Web 服务架构发展,首先是 Globus 采用开放网格标准基础设施(OGSI),然后是发布 Globus Toolkit 4.0(GT4)。SOA 和网格技术正基于诸如 Web Services Resource Framework(WSRF)以及其他的一些解决方案,朝 Web Standards Interoperability 技术方向发展。
SOA与数据中心
”ZapThink公司的资深分析家Jason Bloomberg说,“存储虚拟化可以处理存储,而网格计算则可以对处理器功能进行虚拟化,面向服务的体系结构实质上是对软件应用功能进行虚拟化。”
SOA与BPM
可以使用 BPM 改进运营并使用 SOA 提高灵活性和速度。它们是促进企业成长的梦幻组合。
BPM 管理层日益重视指南 - http://www.bea.com/newsletters/exec2exec/06aug/cn/BPM.jsp
SOA 与 BPM 期待联盟: Gartner 公司分析家预计:2007年伊始,业务流程管理(BPM)将成为SOA实施的驱动者。集BPM与SOA于一体的整合技术在2010年之前可能都有欠成熟之处,但分析家呼吁如果想引领此项潮流,企业应该从现在起实行“流程架构”。
SOA与EDA
EDA 并不会替代 SOA,而只是对 SOA 形成补充。EDA 有时也称为“事件驱动的 SOA”。
SOA与IMS
IMS: 电信领域的SOA
SOA与VoIP
把SOA和VoIP集成在一起,将来的潜力无疑是巨大的,但目前的市场还很年轻。从进入的厂商来看,主要有4家:像Avaya和Siemens是从传统电信领域实现SOA,而BlueNote和Ubiquity则都是新兴的数据厂商。Avaya和Siemens都把他们的PBX迁移到标准化的软件领域,开始在很多PBX和统一通信功能上添加Web服务接口。SIP(Session Initiation Protocol)特别适合SOA环境,因为其架构是以Internet为中心的,很容易将应用和媒体与呼叫处理相隔离。
SOA与门户
SOA与PHP
http://www.osoa.org/display/PHP/SOA+PHP+Homepage
SOA与Python
SOA的分析和设计
- 面向服务的分析与设计原理 - http://www-128.ibm.com/developerworks/cn/webservices/ws-soad1/
- SOA 实现:服务设计原则 - http://www-128.ibm.com/developerworks/cn/webservices/ws-soa-design/
SOA与OASIS
- OASIS SOA Reference Model
- OASIS SOA Adoption Blueprints
- OASIS Electronic Business Service Oriented Architecture (ebSOA)
- OASIS Framework for Web Services Implementation (FWSI)
- OASIS Semantic Execution Environment
- OASIS Web Services Quality Model
http://www.oasis-open.org/committees/tc_cat.php?cat=soa
实现SOA的技术
- 用 Web Services 实现 SOA
- 用 CORBA 实现 SOA
- 用 RosettaNet 实现 SOA
- 用 ebXML 实现 SOA
- 用 J2EE 实现 SOA
- 用 WebSphere MQ 实现 SOA
开源项目
- Apache Tuscany
- Apache CXF - Celtix 和 Codehaus Xfire 的合并计划
- ServiceMix Open Source ESB - http://servicemix.org/
- Celtix Open Source Java ESB - http://celtix.objectweb.org/
- Mule Enterprise Service Bus (ESB) messaging framework - http://mule.codehaus.org/
- Open ESB - https://open-esb.dev.java.net/
- JBoss ESB - http://www.jboss.com/products/esb
- LogicBlaze FUSE - http://www.logicblaze.com/
- Apache Synapse - http://incubator.apache.org/synapse/
厂商方案
- BEA SOA: BEA SOA 360º, BEA AquaLogic
- IBM SOA
- IONA SOA
- Redhat SOA
- SUN SOA - Java CAPS (Integration software suite) - http://www.sun.com/products/soa/
- Oracle SOA Suite
- SAP Enterprise SOA - https://www.sdn.sap.com/irj/sdn/developerareas/esa
- Sonic Software - http://www.sonicsoftware.com
- HP SOA
- eBay SOA
相关链接
- http://searchwebservices.techtarget.com.cn/
- Open SOA Collaboration - http://www.osoa.org
- Oracle SOA - http://www.oracle.com/lang/cn/technologies/soa/
- http://www.ebizq.net/
精彩图集
书籍
Understanding SOA with Web Services 中文版
国内第一本SOA图书,享有声望的专家Eric Newcomer和Greg Lomow为大家献上了关于SOA计划与实现全方位的实践战略和经证明的最佳实务.