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

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

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

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