一、什么是soa?
SOA(Service-Oriented Architecture,面向服务架构) 是一种架构模型,
它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、
组合和使用。服务层是SOA的基础,可以直接被应用调用,使得构建在这样的系
统中的服务可以使用统一和标准的方式进行通信。
二、soa的目标
SOA的根本目标:实现与敏捷业务相适应的IT基础,促进而不是阻碍企业达成灵
活应变,从而在快速变化的时代里获得增长优势。
三、soa中缤纷的概念
java的世界各种各样的名词让人眼花缭乱,有些其实很简单,但因为名次挡在门外
soa中更是如此,这里简单介绍一下相关的一些名次:
1,SCA(Service Component Architecture)不同的软件模 块通过服务组件
的标准化而统一地封装起来和被调用访问。
2,SDO(Service Data Objects)则作为一种数据编程架构和API,它统一了不同数据源类型的数据编程,
让开发人员可以从不 同的数据源以统一的方式访问和操纵数据。
可以说,SCA以面向构件的方法,简化了客户的业务逻辑编程,提高了应用的灵活性。
而SDO则更进一步从数据对象 上大大简化了开发。
3,OSOA:2005 年 11 月, IBM、BEA、IONA、Oracle、SAP AG、Sybase、Xcalia 和 Zend
就合作建立新的业内规范来简化 SOA 应用发展达成了一致,共同发布了两项针对SOA的重要构件模型
规范——SCA 0.9和SDO。此后,该团体陆续吸引了 Cape Clear、Interface21、普元、
Progress Software(前 Sonic Software)、Red Hat、Rogue Wave Software、Software AG、
Sun Microsystems 和 TIBCO Software 、Siemens AG等多家公司的加盟,目前成员数量跃至 18家,
形成了OSOA联盟。
4,eai
什么是EAI(enterprise application integration)企业应用集成?
EAI是将基于各种不同平台、用不同方案建立的异构应用集成的一种方法和技术。
EAI通过建立底层结构,来联系横贯整个企业的异构系统、应用、数据源等,完成
在企业内部的 ERP、CRM、SCM、数据库、数据仓库,以及其他重要的内部系统之
间无缝地共享和交换数据的需要。有了 EAI,企业就可以将企业核心应用和新的
Internet解决方案结合在一起。
EAI(企业应用集成)将进程、软件、标准和硬件联合起来,在两个或更多的企业系
统之间实现无缝集成,使它们就像一个整体一样。尽管EAI常常表现为对一个商业
实体(例如一家公司)的信息系统进行业务应用集成,但当在多个企业系统之间
进行商务交易的时候,EAI也表现为不同公司实体之间的企业系统集成,
例如B2B的电子商务。
5,ESB是企业服务总线(Enterprise Service Bus)的缩写。企业服务总线是一个灵活的用于集成各种应用
和各种服务的连接基础架构。企业服务总线能够通过简化应用和服务之间接口的数量、接口大小及接口复杂度等
方法使客户的面向服务体系(SOA)更加的强大。企业服务总线提供以下功能:
在服务与服务之间路由消息;
在请求者与服务者之间转换传输协议;
在请求者与服务者之间转换消息格式;
处理来自于各种异构源的业务事件;
6,webservice:Web Service就是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。
Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、
WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。
注:SOAP协议(Simple Object Access Protocal,简单对象访问协议),它是一个用于分散和分布式环境
下网络信息交换的基于XML的通讯协议。在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。
它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够
被广泛的用户访问。
7,soap:SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的
轻量级协议。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码
成为XML对象的规则,执行远程过程调用(RPC)的约定。SOAP可以运行在任何其他传输协议上。例如,你可以使
用 SMTP,即因特网电子邮件协议来传递SOAP消息,这可是很有诱惑力的。在传输层之间的头是不同的,
但XML有效负载保持相同。
8,uddi:UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、
信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够
发现的访问协议的实现标准。
9,wsdl:Web Service描述语言WSDL就是用机器能阅读的方式提供的一个正式描述文档而基于XML的语言,
用于描述Web Service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,
又是人可阅读的。
10,bpel:BPEL是一门用于自动化业务流程的形式规约语言。 用XML文档写入BPEL中的流程能在Web 服务之间
以标准化的交互方式得到精心组织。这些流程能够在任何一个符合BPEL规范的平台或产品上执行。 所以,通过
允许顾客们在各种各样的创作工具和执行平台之间移动这些流程,BPEL使得他们保护了他们在流程自动化上的
投资。尽管以前想使业务流程定义标准化,但BPEL已经引起了史无前例的兴趣,而且它最早在软件供应商中获
得大量认可。
11,ibm mq:消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针
对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送
数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是
应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。
12,jms:在不同系统之间交换信息的一大障碍是如何在精确交换和格式化数据方面取得一致。
Java Message Service( Java消息服务,简称JMS)通过提供一种与J2EE应用程序或传统系统交互的方
法部分的解决了这个问题。 JMS的通用接口集合以异步方式发送或接收消息。异步方式接收消息显然是使用
间断网络连接的客户机,诸如移动电话和PDA的最好的选择。另外, JMS采用一种宽松结合方式整合企业系统的方法,
其主要的目的就是创建能够使用跨平台数据信息的、可移植的企业级应用程序,而把开发人力解放出来。
13,ibm mb:Message Broker是 IBM 的应用整合中间件,是 IBM WebSphere 业务整合解决方案的重要
组成部分之一,用于企业应用整合领域。它的前身为 WebSphere MQ Integrator Borker 是一种Esb的实现