在前一篇文章中,我们讲诉了SOA的架构原理;今天我们将其具体的开发实例进行展示。先将大概开发思路:1.将所有的接口功能放在同一个工程下,这个工程非常重要;因为我们的服务提供者及消费者都会用到;2.针对接口功能的具体实现,并将对应的服务暴露到zookeeper注册中心中;3.消费者只需要引用接口功能的工程;在配置文件中,配置注册中地址及生成远程服务代理就可以在Java代码中调用了。这样做针对消费者端其实具体的实现细节并不在此端而是在服务提供者那端,如果服务端的代码进行了更新(例如:算法做了一定的调整),那么发布后,消费者自动调用到最新的方式。具体的工程架构如下:
对代码重点进行解析:
接口
主要是定义一些基本功能的的接口Java文件,提供为消费者、服务提供者引用使用;相对比较简单不做更细说明
服务提供者
引用接口工程(这个地方的引用,意思是将接口工程的生成.jar包 放到此工程中),并实现此接口功能;此工程中还需要在配置文件中声明暴露服务的zookeeper注册中心地址;
消费者
引用接口工程,并通过zookeeper注册中心获取对应的服务地址,进行调用
具体的调用情况如下:
这里只是一个简单的架构实现过程,我们可以灵活地应用到实际的项目开发过程中;所谓万变不离中,这就是一个例子。此项目所用的工程采用Maven工程,大家动手试试....