在spring mvc 的项目开发中,由于各个系统之间需要进行数据的传递,因此,一些公司都是通过基于服务的接口方式提供数据,在淘宝,是通过hsf服务的方式开放自己应用的接口,达到数据在各个应用间的流动和互用。同时也达到了分布式开发的目的。这样的好处是显而易见的,通过HSF,我们可以将业务进行拆分,例如可以拆分为订单团队,账号团队,商品团队。而这些团队之间本身的业务会有一些依赖,这些依赖就能通过HSF来解决。


如何运行:

运行HSF项目,需要下载带有HSF 包的web容器 jetty。


HSF组成:

hsf由提供者和消费者组成。

消费者:使用接口的一方。例如我是订单团队的开发者,我在开发下单流程中,需要使用用户的账号,这个时候,我就可以通过配置好的HSF 直接调用账号团队的API。

提供者:提供接口的一方。例如是账号团队,提供给订单团队API使用。账号团队首先会提供一个interface的jar包供订单团队下载查看提供的接口,账号团队通过hsf就可以调用这些接口,而账号团队对外提供的只是interface,而具体实现还在自己这边。


提供者:

假如我要提供一个hello的服务给外部团队使用,使用HSF必须在Service层需要有interface和具体实现。具体代码如下:

HelloWorldService.java

  1. package com.yunos.account.biz.service;  

  2.  

  3. public interface HelloWorldService {  

  4.    public String get();  

  5. }  


HelloWorldServiceImp.java
  1. package com.yunos.account.biz.service.impl;  

  2.  

  3. import com.yunos.account.biz.service.HelloWorldService;  

  4.  

  5. public class HelloWorldServiceImpl implements HelloWorldService {  

  6.  

  7.    @Override  

  8.    public String get() {  

  9.        return "Hello World";  

  10.    }  

  11.  

  12. }