一、 提供了開發服務平臺的解決方案:好比應用認證、會話管理、安全控制、錯誤模型、版本管理、超時限制安全
二、 啓動:RopServlet截獲http請求app
配置: url
<servlet> <servlet-name>rop</servlet-name> <servlet-class>com.rop.RopServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>rop</servlet-name> <url-pattern>/router</url-pattern> </servlet-mapping>
三、 註解spa
1)@ServiceMethodBean 標註在class以前,使相應的class成爲一個Rop服務的Bean代理
2)@SeviceMethod(method = 「服務方法名稱」, version=「版本號」, needInSession = 是否要工做在會話環境中)code
四、 統一服務的URLrouter
全部的服務都使用統一的URL,Rop經過method系統級參數將請求分配到指定的服務方法中完成服務代理。服務平臺最終的URL爲:<開放根平臺URL>/<RopServlet的映射URI>blog
五、 數據轉換過程開發
HTTP報文---HttpRequestContext---RopRequestContext---RopRequest輸送給服務方法servlet
六、 使用註解實現HTTP請求到服務處理方法的映射,例如:
@Service public class Hello () { @ServiceMethod (method = 「sayHello」, version = 「1.0」) public void say () { System.out.println (「Hello」); } }
七、 Rop註解@ServiceMethod的屬性
method:代碼服務方法名
version:版本號
group:服務分組名,無特殊意義,默認分組爲ServiceMethodDefinition.DEFAULT_GROUP
groupTitle:服務分組標識
tags:類型是String[],能夠給服務打上TAG,在時間處理監聽器、服務攔截器利用TAG進行特殊處理
title:服務的標識
httpAction:服務容許的HTTP請求方法,可選值在HttpAction枚舉中定義,即GET或POST,若是不指定則不限制
needInSession:表示該服務方法是否須要工做在Session環境中,默認全部的服務方法必須工做在會話環境中,能夠設置needInSession = NeedInSession.NO
ignoreSign:表示服務是否須要進行請求數據簽名驗證,當@ignoreSign用在屬性上時,該屬性對應的請求參數排除在簽名參數列表以外
timeout:服務超時時間,單位爲秒,若是服務方法執行時間超過timeout後,Rop將直接中斷服務並返回錯誤的報文