面向服务的架构:短期内从SOA获得切实益处(下)

日期: 2009-06-11 作者:Jay Beecham翻译:冯昀晖 来源:TechTarget中国 英文

通常按照中间件来分类,SOA至少有三个主要的软件组件: BPM(Business process management,业务流程管理)套件和BPEL(Business Process Execution Language,业务流程的形式规约语言)引擎:BPM软件套件给组织的方方面面提供统一的业务流程建模环境,它可以生成图形化展现来说明关于业务如何执行,以什么顺序执行,服务和人力工作流被看作是处理过程的一部分。BPEL引擎是一个工具,它生成XML文件来给消息路由程序(service bus,服务总线)传递关联每个服务的规约。使用BPMS(业务流程管理系统)和BPEL(业务流程规约语言),你可以在……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

通常按照中间件来分类,SOA至少有三个主要的软件组件:

  • BPM(Business process management,业务流程管理)套件和BPEL(Business Process Execution Language,业务流程的形式规约语言)引擎:BPM软件套件给组织的方方面面提供统一的业务流程建模环境,它可以生成图形化展现来说明关于业务如何执行,以什么顺序执行,服务和人力工作流被看作是处理过程的一部分。BPEL引擎是一个工具,它生成XML文件来给消息路由程序(service bus,服务总线)传递关联每个服务的规约。使用BPMS(业务流程管理系统)和BPEL(业务流程规约语言),你可以在更高的抽象层次上使用像BPM套件中的设计功能一样的图形化设计工具来创建和修改业务流程。
  • ESB(Enterprise service bus,企业服务总线):企业服务总线ESB是消息路由程序和规则引擎,它执行校验消息,传输数据,确保消息在系统之间传递通畅并最终把信息提交的你的门户网站或者浏览器。简单来说,消息就是你向任何服务请求的数据包。
  • 服务注册表(Service registry):服务注册表是一个资产库,或者方法库.这里保存了来源于网络或者来源于其他服务提供者为公众在互联网上使用而发布的可用服务的描述。

  许多标准的存在使所有这一切成为可能。下面列出的只是最常见的几种标准(实际上存在几百种这样的标准):

  • XML(Extensible markup language,扩展标记语言):XML是一种灵活的格式,它可以定义便于在公司和计算机之间交流的信息。这一点在通过互联网交换数据时特别有用,因为这种情况往往没有预定义的接口。
  • SOAP(Simple Object Access Protocol,简单对象访问协议):SOAP是一种基于XML的消息协议,它可以通过HTTP(超文本传输协议)或JMS(Java Messaging Services ,Java消息服务)使用。你会回想起我们上面提到的“消息就是在两个或两个以上的系统之间进行交换的数据包”。SOAP就是使数据交换成为可能的消息标准之一。
  • WSDL(Web Services Description Language,Web服务描述语言):WSDL是基于XML的语言,它用来定义网络中可用的web服务。
  • UDDI(Uniform Description, Discovery and Integration,统一描述、发现和集成协议):UDDI定义了服务注册表内的服务被访问和集成的方式。就像使用杜威十进分类法(Dewey Decimal System)你可以在世界上绝大部分图书馆中找到想要的书,或者就像根据分类体系你可以通过目录在网站上查找内容。
  • BPMN(Business Process Management Notation,业务流程建模标注):BPMN是一种建模方式,使用BPMN可以把处理流程定义并且文档化。一般来说,文档化的业务逻辑可以被BPEL引擎生成XML格式的工作流,从而在企业服务总线上定义业务逻辑和业务规则。

  理解Web Services,服务和SOA

  首先,让我们在这三个经常被交替使用的概念之间做一个清晰的划分:

  • Web Service使用了若干平台独立的交互协议,使用XML消息(例如:基于HTTP或者JMS的SOAP)把数据或者功能提交到Web浏览器。
  • 另一方面,Web Service是一个使用Web Service交付到Web浏览器的功能集合(或者叫小型应用)。通常,Web Service应用包含轻量级的软件解决方案比如:雅虎财经网的证劵报价,亚马逊网站的购物车,或者像你可以在MSN门户网站上显示的当地天气预报。其他Web Service applet(java小应用程序)的应用有Google地图,eFax服务,eBay拍卖网站,照片宿主网站和PayPal支付处理服务。
  • 在SOA上下文环境中,“服务”是一种无关联性的功能,或者是一个自动化的子处理流程,它可以被定义并应用到多个企业软件系统中。与Web Service服务应用类似,服务在应用与应用之间(或应用与浏览器之间)也使用web Service服务(交互协议)传输XML格式的数据消息。

  “面向服务”通过支持服务成组地定义和维护到服务注册表,使这些概念的作用更进一步。当企业业务需求和业务重点变化时,这些服务可以跨企业系统和跨价值链地从服务注册表中展示,定位和引用。那就是说,某些服务可能伸展到你的战略合作伙伴,同一个服务或者其他服务集可以伸展到关键供应商,还有一些服务可以延伸到你的客户。把这一概念进一步延伸,很容易就可以想象到互联网会取代现在的局域网(LAN)的地位。

  SOA支持一定程度的报告,并且可以深入了解我们以前没有经验的业务经营,为了使企业在动态增长和调节市场占有率时保持强有力的竞争力,它是必不可少的。

  点击此处下载完整白皮书。

相关推荐