SOA 系列:实现SOA的解决方案

SOA的最常见的解决方案是SCA,其次还有BPEL、SDO也勉强可以算做SOA的解决方案之一,因为后两者也是为了系统解耦和集成提供了支持。
SCA是服务组件架构,是SOA思想的最流行的一种实现方式;ESB是SCA思想实现的基础设施。ESB主要作用是集中注册发布服务,为服务与传输协议之间解耦。并非所有的SOA架构都需要ESB,ESB是SCA特有的。当然任何符合ESB特征的解决方式都可以称之为ESB,也不仅仅是SCA内部的。
 
JBI(Java Business Integration Java业务集成,Java业务整合)是SUN公司解决SOA的方案,当然JBI没有得到IBM与BEA的承认(IBM与BEA等公司推荐SCA和SDO)。JBI是一种 企业服务总线(Enterprise Service Bus,ESB),使我们能够用Java实现面向服务的架构。企业正转向以 面向服务架构(SOA)和网络服务,以提供灵活的IT系统,用一种成本低廉的方式来支持快速变化的商业需求。
  这里先介绍下JBI架构思想,JBI目的主要是在于创建一个可以集成各种 组件服务的运行环境,当然这也是一种服务总线思想的体现。
  目前流行的服务容器有Servlet容器、EJB容器、JMS容器。
  1. Servlet容器只能处理以HTTP/SOAP协议传输的消息(接收与响应);
  2. EJB容器只能处理RMI协议传输的消息;
  3. JMS容器则处理的是JMS协议传输的消息;
  它们之间无法进行通讯,如果想集成上面不同类型的容器服务,则必须有一种能融合以上不同容器的新容器出现。JBI就是基于解决这种问题的思路出现的,JBI提供了各种各样的容器绑定组件(Binding Component,称BC),BC专门负责接收各种各样的 传输协议的消息与发送请收消息给外部容器。当然JBI还提供其它的功能,要不这纯属一种代理了,就没什么意义;
  JBI提供处理各种业务的组件(即Service Engines组件,称SE)的消息,比如接收到HTTP的消息后需要转发给外部组件EJB,则需要SE组件来进行转换(更准确的说是Transform SE组件)。其实BC与SE之间是无法直接通信的,所有的消息都是通过传输通道(Deliver Channel)传送到NMR(Normalized Message Router),再由NMR通过DC将信息转到SE或BC的
JBI容器
 
BPEL的作用是将一组现有的服务组合起来,从而定义一个新的Web服务。因此,BPEL基本上是一种实现此种组合的语言。组合服务的接口也被描述为WSDL portType的集合,
       按业务流程之间的协作方式可以分为单工作流模式和多工作流模式;
  单工作流模式把一组相关的服务按一定顺序和条件组合执行,完成某项业务,流程执行过程中涉及的服务不属于其他业务流程;
  多工作流模式是两个或两个以上的工作流程 并行执行并进行交互的业务流程模式,多工作流模式侧重于业务流程之间的交互。
 
Service Data Objects (SDO)是一种针对在不同的数据源之间使用统一的数据编程模型的规范说明(is a specification for a programming model that unifies data programming across data source types)。
  为通用的 应用程序模提供健壮(robust)的支持,是应用程序、工具、框架等更容易的进行数据的增、删、查、改、约束、更新等操作。
  SDO 旨在创建一个统一规范的数据接入层 并 使用一种“易用”的方法,将混杂的数据源整合到工具集和框架中。
  简言之,SDO就是旨在提供这样一种数据对象:它像橡皮泥一样,可以根据实际的数据源决定它的实际表现。而在使用过程中不必考虑其实际类型和构建方法。
 
SDO的基本构成要素  
        1)Data Object :保存具体的数据,包括原始数据以及指向其他数据对象的引用。数据对象也包含了指向元数据的引用,这使得SDO的元数据能够被读取,包括数据的类型,关系和约束等。这和Java中的反射机制类似;
  2)Data Graph :一个概念上的数据集合。具体的讲,数据图是一个有多个树根的数据对象的集合,可以记录所有对数据对象的操作。
  3)Meta Data :元数据使得开发工具或运行环境能够动态地或者静态的查看数据的属性,包括数据的类型,关系和约束等,同时提供了一组与数据源无关的元数据API;
  4)Data Mediator Service:数据访问服务负责与 后台的数据源进行通信,完成构造数据图,更新数据图等操作。
 
 SOA是一种服务集成的架构思想,超越具体的技术和架构,又涵盖具体的技术和架构。综上所述,以上概念都是一个理念、一种思想,并非特指代某个现有的实现或解决方案,这是起初接触SOA 容易犯的概念上的错误。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Teamcenter SOA开发是基于服务导向架构(Service-Oriented Architecture)的一种软件开发方法。它使用开放标准的Web服务技术,实现了在Teamcenter PLM(Product Lifecycle Management,产品生命周期管理)平台上进行扩展和定制的能力。 在Teamcenter SOA开发中,开发者可以使用不同的编程语言和开发工具,如Java、C#等,根据业务需求创建自定义的服务,这些服务可以通过接口与Teamcenter PLM平台进行交互。这些自定义服务可以用于实现各种功能,如数据查询、数据导入导出、工作流定制等。 通过Teamcenter SOA开发,企业可以根据自身的业务流程和需求进行定制开发,以便更好地适应和支持公司的业务。Teamcenter SOA开发提供了一种轻量级、灵活且可扩展的方式来增加和修改Teamcenter PLM平台的功能。 Teamcenter SOA开发具有以下优势: 1. 灵活性:开发者可以根据实际需求进行定制开发,扩展和修改Teamcenter PLM平台的功能,以适应不同的业务流程和工作方式。 2. 可复用性:通过创建标准化的服务接口,开发者可以在不同的应用程序和系统间共享和复用功能,提高开发效率。 3. 可扩展性:Teamcenter SOA开发可以根据业务需要随时增加新的服务,并与现有系统进行无缝集成,实现系统的功能扩展。 4. 高效性:通过使用Web服务技术,Teamcenter SOA开发可以实现跨平台、跨系统的数据交换和集成,提高系统的数据处理和传输效率。 总之,Teamcenter SOA开发是一种基于服务导向架构的软件开发方法,在Teamcenter PLM平台上实现定制开发,提供灵活、可扩展的解决方案,以支持企业的业务需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值