【IT168 技术文章】
问:基于构件和面向服务架构有什么不同之处?
答:首先,最重要的是要认识到,SOA在现有的IT环境中增加了一个抽象层,这是异构为什么这么有用的原因。所以,在SOA实施时通常会有一个现有的建筑,无论是客户机/服务器,n层或基于组件的。
尽管如此,松散耦合,基于SOA的Web服务,今天在很大程度上归功于基于组件的方法。该设想基于组件的发展(CBD)是建立面向企业的对象提供的功能。典型的元件可能是客户或订单。借此SOA的概念,并将其应用于面向企业的服务。典型的商业服务可能是“客户信息”或“采购订单进程”—明确并联CBD的意图。
CBD有难题—SOA来救援,因为它是一个事实,即组成部分的紧耦合的APIs。必须严格控制沟通的对象,改变的任何一个组成部分通常影响软件访问的组成部分。因此,CBD仍很难规模。
因为SOA依赖于抽象,发现接口。但是,服务供应商(可能是部分)和消费者松散耦合。每个组件可以有多个服务接口,以满足不同的消费者,消费者可以动态地发现他们所需要的接口。基于发现的抽象是具有挑战性的工作,但如果得到它,你的SOA将是灵活的和可扩展的。