一、 提供了开发服务平台的解决方案:好比应用认证、会话管理、安全控制、错误模型、版本管理、超时限制安全
二、 启动: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将直接中断服务并返回错误的报文