在UDDI中为了注册服务更好的查找和发现,需要对服务进行分类,tmodel表示uddi注册表中的一种技术规范,这种技术规范可以描述各式各样的事务,像上面所讨论的是tmodel作为描述web服务接口的定义,此外就是还可以描述商业之间交换数据的标准,作为服务分类之用。UDDI中预先建立了一套类型分类法来协助对注册信息进行概要层次的分类。这些分类以公用tModel表示,这些公用tmodel的结构关系如下表所示:
表 4‑2 公用tmodel之间的分类关系
ID | ParentID | Description |
tModel | tModel | 这些类型是用于tModel的 |
Identifier | tModel | 唯一标识符 |
Namespace | tModel | 命名空间 |
Categorization | tModel | 分类类别 (分类法) |
Specification | tModel | Web服务的调用规范 |
xmlSpec | specification | 使用XML消息的Web服务的调用规范 |
soapSpec | xmlSpec | 使用SOAP消息的与Web服务交互的规范 |
wsdlSpec | specification | 使用WSDL描述的Web服务的调用规范 |
Protocol | tModel | 协议 |
transport | protocol | 报文/传输协议 |
signatureComponent | tModel | 签名组件 |
上面的是一个树状的大概分类,对于其中的节点,可以在此节点的基础上再进行细分出许多的分类方法,比如Categorization下面可以再分为基于企业所属工业类别的分类,基于企业加工产品所属分类体系的分类,基于企业地理位置的分类等。而整个树状结构中的每个节点用一个tModel表示,每个tModel有一个唯一的key,通过tModel的key代表相应的分类方法。tModel中的值代表实体在此分类方法中的值。
用户也可以建立自己的私有的tmodel,私有的tmodel可以继承公有的tmodel,也可以自己建立,但是为了分类的统一和体系的完整,通常都是继承公有的tmodel。