依据是否采用中心注册结构,服务发布技术分为有注册中心的服务发布技术和无注册中心的服务发布技术;依据是否采用语义技术对服务进行描述和发布,服务发布技术分为基于关键字匹配的服务发布技术和基于语义的服务发布技术。基于关键字匹配的服务发布方法是根据服务的相关信息,或从服务描述中抽取若干服务属性值作为关键字,发布到服务注册中心或对等网络环境中,以备检索。
在有中心注册结构下,基于语义的服务发布技术又可分为基于通用描述、发现与集成(universal description discovery and integration,UDDI)扩展技术和语义注册代理技术;在对等环境下,基于语义万维网服务发布技术又可分为基于非结构化、结构化和多层对等环境的服务发布技术。
服务发布技术的分类如下表所示。
分类依据 | 关键字发布技术 | 语义发布技术 |
中心结构 | UDDI等 | 基于UDDI的扩展 |
语义注册代理 | ||
对等结构 | 结构化对等环境下基于通配符和区间范围的资源发布与匹配 | 非结构化对等环境 |
结构化对等环境 | ||
多层对等环境 |
较为主流的服务发布技术是采用有注册中心结构的服务发布技术。采用有注册中心结构的万维网服务体系结构通常由3部分组成:服务提供者、服务代理和服务使用者。服务提供者创建并发布服务;服务代理提供服务注册机制并维护服务发布信息;服务使用者向服务注册机制查询所需要的服务,绑定并使用满足需求的服务。
UDDI的功能分为两个方面:①每个服务提供者可以发布其所提供的服务描述信息到UDDI,供其他服务访问;②服务请求者可以迅速从UDDI查询其所需的服务,以充分利用已有的服务来实现其信息系统构建目标。服务注册中心可以在单个企业或组织内部使用,可以供多个合作伙伴共享,也可以在整个行业内部或特定区域内部共享。此外,服务注册中心与服务本身的运行节点之间可以是联机方式,也可以是脱机方式。具体的范围和方式根据用户的信息技术规划目标和策略来确定。
服务的发布不一定在服务开发部署完成之后才进行,部分面向服务的体系结构(service-oriented architecture,SOA)项目实施过程中,服务在设计阶段被定义出来之后就可以发布在服务注册中心中,但此时的服务仅供其他服务在设计中参考,而不能被实际调用,在后续实际开发部署完成之后,服务的状态应改为真正的发布。如此可以减少服务设计中的重复,减少后续一些不必要的开发成本,但需要配合相应服务治理策略和工具来保证对它的有效访问。