本文介绍 HSF 一次调用的过程。

HSF 一次调用过程是从服务消费方发起,经过网络抵达服务提供方,再将服务提供方的结果通过网络携带返回,最终返回给用户。该过程涉及多线程交互,同时也涉及 HSF 中的不同领域对象。

HSF 一次调用过程如下图所示:

SAE产品HSF应用开发之一次调用过程
过程 说明
1 在客户端线程中将用户的请求参数即请求对象进行序列化,并将序列后的内容存放在请求通信的对象中。
说明 请求通信对象对应的是 HSF 协议,包括了请求 id 等多个与请求对象无关的内容。
2 系统将请求通信对象递交给 I/O 线程,并在 I/O 线程中完成编码。
3 编码完成后,将内容传递到服务提供方。客户端线程会等待结果返回,处于等待状态。
4 服务提供方的 I/O 线程接收到二进制内容,解码后生成通信请求对象,并将其递交给 HSF 服务端线程。
5 在 HSF 服务端线程完成反序列化还原成请求对象。
6 发起反射调用,并得到结果,即响应对象。
7 响应对象会在HSF服务端线程中完成序列化,并存储在通信响应对象中。
8 HSF 服务端线程将通信响应对象递交给 I/O 线程,在 I/O 线程中完成编码。
9 服务提供方将I/O 线程中完成编,发送回服务消费方。
10 服务消费方收到二进制内容,在 I/O 线程中完成解码,生成响应通信对象,并唤醒客户端线程。
11 客户端线程根据响应通信对象中的内容进行反序列化,用户收到响应对象,一次远程调用结束。