按最近公司的架構,本身搭建這樣個樣例。主要是將服務API層進行了區分,解耦接口與模型層.java
其中pojo層與vo層都是用來傳遞參數用法,API-facade層與service是兩個概念。API-facade層有統一的規範,能夠返回統一結果:git
Result {github
int statecode;web
int stateText;redis
T data;數據庫
public boolean isSuccess();bootstrap
public boolean isBizFailure();api
public boolean isFailure();緩存
}tomcat
建議把vo與model及pojo層分開,用不一樣名稱如 UserInfoVo,UserInfo,UserInfoPo
若是使用dubbo來構建。從分包層次來講。應該有:
通常來講能夠有這層次。還能夠多一層。將facade再包裝一層。叫整合api層。
如何使用:
如何下載:
https://github.com/tangdu/dubbo-api.git
如何初始化:
執行sample-master下的init_eclipse.sh 或是在項目下執行 gradle eclipse
-------關於-----------
關於面向SOA 我理解是:項目無狀態、提供API。權限等再包裝上層,所謂網關。
由這層能夠作權限 、驗證、加密、限流、統計。
對於完整項目來講,應該還要集成緩存 、job、UI、中間件、message
分享幾個框架:redis、ehcache、quartz或Elastic-job、zookeeper、RocketMQ、bootstrap、sui3