企业服务注册、发现与流程编排
立即解锁
发布时间: 2025-08-18 01:35:28 阅读量: 2 订阅数: 4 

# 企业服务注册、发现与流程编排
## 1. 服务注册与 UDDI 概述
服务注册中心是连接服务提供者和服务请求者的桥梁,它能促进双方的相互发现,推动业务合作。UDDI 作为一种规范,其注册服务旨在助力企业模拟 Web 服务的发现和调用活动。UDDI 注册中心主要支持两项重要任务:服务发布(创建、更新、删除)和服务发现。
### 1.1 UDDI 信息模型与 <tModel> 结构
UDDI 信息模型有意重用 <tModel> 数据结构。instanceDetails 包含指向行业联盟(如 Rosetta Net、BASDA 等)的指针,identifierBag 或 categoryBag 中的 keyedReference 也有指向分类标准(如 UNSPSC 或 DUNS 编号等)的指针,这些都代表着 <tModels>。
### 1.2 业务信息发布
服务发布涉及在 UDDI 业务注册中心创建、发布、更新和删除与公司、业务和服务相关的信息。这是一项安全且面向管理的任务,普通用户无权进行此类操作,只有被指定为管理员的特定人员,通过适当的认证和授权机制才能访问这些操作。
服务发布任务通过服务发布工具完成,这些工具本质上是面向 Web 服务的应用程序,使用 SOAP 消息与注册中心通信。可以使用流行语言中的 UDDI API 创建服务发布应用程序,以支持 UDDI 注册中心的发布活动。
#### 1.2.1 业务信息的创建和修改
在公共注册中心发布业务或服务相关信息是一项严肃的业务决策。公司管理层需要从战略层面决定发布哪些信息和服务,同时要避免泄露关键业务和机密信息。
UDDI 注册中心使用发布者接口来创建、修改和删除业务信息,发布活动是经过认证的操作。有四种不同的保存操作,用于处理 UBR 中的四个重要数据结构:
- 保存业务:通过 <save_business> 元素实现,将业务信息保存到 <businessEntity> 数据结构中。此操作可用于首次创建新业务信息或修改现有业务信息,可能会影响多个顶级数据结构。当新业务信息插入 UBR 时,注册中心会生成一个唯一的标识符 UUID(通用唯一标识符),由 ISO 定义的算法根据时间、硬件地址、随机数等生成。
- 保存服务:使用 <save_service> 元素,将服务信息保存到 <businessService> 数据结构中,可插入新服务数据或修改现有数据,还可能影响 <bindingTemplate> 和 <tModel> 数据结构。
- 保存绑定:通过 <save_binding> 元素,插入或修改 <bindingTemplate> 数据结构中的绑定信息,也可能影响 <tModel> 数据结构的内容。
- 保存技术模型:使用 <save_tModel> 元素,插入或更新 <tModel> 数据结构信息,此操作仅影响 <tModel> 数据结构。
#### 1.2.2 业务信息的删除
在 UBR 上进行服务删除操作可能会产生严重的业务影响,因此需要管理层决策,这也是经过认证的操作。有四种数据结构的删除操作:
- 删除业务:使用 <delete_business> 元素,删除现有注册的业务信息,需要组织的 UUID 号,此操作会删除所有相关的数据结构。
- 删除服务:使用 <delete_service> 元素,删除现有注册的服务信息,需要有效的 UUID 号,会删除相关的绑定模板和技术模型数据结构。
- 删除绑定:通过 <delete_binding> 元素,删除 <bindingTemplate> 数据结构中的信息,可能影响 <tModel> 数据结构的内容。
- 删除技术模型:使用 <delete_tModel> 元素,插入或更新 <tModel> 数据结构信息,仅影响 <tModel> 数据结构。
### 1.3 发现 Web 服务
业务和服务数据发布到 UBR 后,感兴趣的商业社区可以进行搜索和浏览。UBR 提供查询接口用于搜索,浏览或搜索过程是非有害的,任何人都可以访问注册中心浏览器应用程序来发现合适的业务信息,包括 Web 服务,这是非认证过程。
浏览或搜索 UBR 可以在两个不同级别进行:浅浏览和深入搜索。服务搜索或查询应用程序使用 SOAP 查询与注册中心通信,查询包含用于查找合适业务和服务的关键字。可以使用标准浏览器和 IDE 提供的工具进行标准化浏览操作,也可以开发自定义浏览应用程序。
#### 1.3.1 信息浏览和检索
浅搜索 UBR 以获取顶级业务/服务数据,可以在四个不同级别的业务数据结构上进行:
- 查找业务:使用 <find_business> 元素,获取 UBR 中注册的一个或多个业务信息。
- 查找服务:使用 <find_service> 元素,定位 UBR 中的特定服务。
- 查找绑定:使用 <find_binding> 元素,定位一个或多个注册业务服务内或跨服务的绑定信息。
- 查找技术模型:使用 <find_tmodel> 元素,定位一个或多个 <tModel> 信息结构。
#### 1.3.2 信息深入搜索
深入搜索 UBR 以获取详细的业务/服务数据,可以在四个级别进行:
- 获取业务详情:使用 <get_BusinessDetail> 元素,根据 UUID 号检索特定业务的详细信息。
- 获取服务详情:使用 <get_ServiceDetail> 元素,根据 UUID 号获取所选组织的详细服务信息。
- 获取绑定详情:使用 <get_BindingDetail> 元素,根据 UUID 号检索服务的绑定信息详情。
- 获取技术模型详情:使用 <get_tModelDetail> 元素,根据 UUID 号检索服务的技术模型详细信息。
### 1.4 总结
注册中心作为服务中介,将服务提供者和服务请求者聚集在一起,促进业务合作。UDDI 注册中心支持服务发布和发现,任何人都可以浏览或深入搜索特定信息,但只有注册的业务管理员才能在注册中心创建、更新和删除信息。公共和私人 UDDI 注册中心可供企业组织和团体使用,公共注册中心遵循 UDDI 规范,私人注册中心可根据特定业务伙伴的需求进行调整。
下面是业务信息操作的流程图:
```mermaid
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(业务信息操作):::process --> B(创建和修改):::process
A --> C(删除):::process
A --> D(发现):::process
B --> B1(保存业务):::process
B --> B2(保存服务):::process
B --> B3(保存绑定):::process
B --> B4(保存技术模型):::process
C --> C1(删除业务):::process
C --> C2(删除服务):::process
C --> C3(删除绑定):::process
C --> C4(删除技术模型):::process
D --> D1(浅搜索):::process
D --> D2(深入搜索):::process
D1 --> D11(查找业务):::process
D1 --> D12(查找服务):::process
D1 --> D13(查找绑
```
0
0
复制全文
相关推荐










