组件图是为了展示组元(components),组元提供的接口(provided inerfaces)和需要调用的接口(required interfaces),端口(ports)之间关系的一种图,组件图是主要被用于基于组件开发时候用来描述SOA系统。
__7.1 元素介绍 __
image.png
如图语音识别服务组元对外提供getPort接口供其他组元调用,网上法庭说明自己需要使用getPort接口来实现自己的功能。
image.png 如图Accounting组元内部的Customers提供Account服务,而Orders组元则使用Account服务。
image.png
__7.2 一个例子 __ 下面分析下uml官方一个例子
image.png
如图在网上商城系统有三个子系统组成:webstore,accounting,warehouses; WebStore子系统包含三个组员,搜索引擎,购物车,认证系统。搜索引擎组元通过对外提供了一个ProductSearch接口运行其他组件搜索和查看商品,另外这接口是搜索引擎组件使用库存组件提供的Search Inventory接口来实现。购物车组元则把调用订单组元的的Manage Orders接口的功能封装下自己对外提供了onllineShopping接口,认证组元则允许用户创建账号,登陆或者退出,并且绑定订单到具体用户。
accounting子系统对外提供了Manage Orders 和 Manage Customers接口,并且通过代理连接到子系统内部的Orders和customers组元,。Orders组元调用了Customers组元的Manager customers接口,Customers调用了Accounts组元的Manager Accounts模块。
Warehouses子系统提了Search Inventory and Manage Inventory组件,并且通过依赖方式是要了Accounting子系统的接口服务。