Rop特性及新功能(最简单的Rest Web Service框架)
来源:互联网 发布:淘宝客查劵功能 编辑:程序博客网 时间:2024/04/27 16:24
Rop是参照淘宝开发平台(TOP:Taobal Open Platform)实现的全功能Rest Web Service 全功能(Full-Stack)开源框架。它解决了以下的Web Service开发问题:
1.契约优先,URL完全Rest风格
Rop(Rest Open Platfrom)是“契约优先”的Rest URL的Web Service框架,主URL固定,通过method=<methodName>参数指定调用方法,调用方法通过@ApiMethod(<methodName>)在Bean上;
2.支持JAXB注解,支持XML/JSON输入、输出
Rop的请求和响应都支持使用JAXB(JSR-222)注解,可以通过format请求指定xml或json,实现请求响应数据绑定和数据输出的完全透明化;
3.建立错误处理模型,有力降低错误处理难度
建立了一个可扩展的错误处理模型(这个主要利益于TOP的成熟模型),写Web Service一定要关注服务发生错误时如何返回响应,以便客户端据此做出相应的处理。个人认为,这是Web Service开发最关键的点之一。可以一般的Web Service开发框架由于是纯技术框架,根本没有涉及这个应用型领域的问题,因此造成了大量的甚至是混乱的Web Service开发。Rop已经建立了Web Service的错误模型,一般错误(如数据校验,签名验证,会话验证,安全控制等)Rop框架自动处理,业务错误开发者根据错误模型扩展。
使用了Rop框架,你的服务错误都可以通过响应报文描述,有力保证Web Service的开发质量和效率。
4.支持JSR 303标准校验,数据校验极致简化
请求对象只要打上JSR 303的注解,所有余下的事情(数据校验、错误输出)都由Rop完成,极大降低了Web Service开发的难度。(也许Web页面应用可以只做客户端校验,但是Web Service一定要做服务端校验,且发生错误,必须通过响应报文描述了错误)
5.组件可定制,可扩展:
既可通过RopServlet的Servlet初始化参数指定组件,也可以在Spring窗口中配置组件Bean(Rop 将自动扫描组件并装配之)。目前支持以下组件:
1)SessionChecker:会话检查组件,大多数服务方法都必须在会话环境下进行,使用该组件判断请求会话的合法性;
2)AppSecretManager:应用密钥管理组件,使用Rop开发的开放平台服务,客户端可以开发很多应用,每个应用都必须分配一个appKey,每个appKey对应一个密钥。因此服务端必须能存储并管理这个appKey/密钥对,以便在签名验证时使用。你既可以将appKey/密钥放在数据库中,也可以放到文件中,也可以放在LDAP中,只要相应实现AppSecretManager即可。
3)SecurityManager:服务安全检查组件,一个请求是否可以执行目标服务,需要很多条件,可以装配该组件以植入安全校验的逻辑。
6.支持拦截器
可以通过RopServlet的Servlet参数指定拦截器(多个逗号分隔),也可以在Spring容器中配置拦截器,Rop会自动扫描并装配。
1.契约优先,URL完全Rest风格
Rop(Rest Open Platfrom)是“契约优先”的Rest URL的Web Service框架,主URL固定,通过method=<methodName>参数指定调用方法,调用方法通过@ApiMethod(<methodName>)在Bean上;
2.支持JAXB注解,支持XML/JSON输入、输出
Rop的请求和响应都支持使用JAXB(JSR-222)注解,可以通过format请求指定xml或json,实现请求响应数据绑定和数据输出的完全透明化;
3.建立错误处理模型,有力降低错误处理难度
建立了一个可扩展的错误处理模型(这个主要利益于TOP的成熟模型),写Web Service一定要关注服务发生错误时如何返回响应,以便客户端据此做出相应的处理。个人认为,这是Web Service开发最关键的点之一。可以一般的Web Service开发框架由于是纯技术框架,根本没有涉及这个应用型领域的问题,因此造成了大量的甚至是混乱的Web Service开发。Rop已经建立了Web Service的错误模型,一般错误(如数据校验,签名验证,会话验证,安全控制等)Rop框架自动处理,业务错误开发者根据错误模型扩展。
使用了Rop框架,你的服务错误都可以通过响应报文描述,有力保证Web Service的开发质量和效率。
4.支持JSR 303标准校验,数据校验极致简化
请求对象只要打上JSR 303的注解,所有余下的事情(数据校验、错误输出)都由Rop完成,极大降低了Web Service开发的难度。(也许Web页面应用可以只做客户端校验,但是Web Service一定要做服务端校验,且发生错误,必须通过响应报文描述了错误)
5.组件可定制,可扩展:
既可通过RopServlet的Servlet初始化参数指定组件,也可以在Spring窗口中配置组件Bean(Rop 将自动扫描组件并装配之)。目前支持以下组件:
1)SessionChecker:会话检查组件,大多数服务方法都必须在会话环境下进行,使用该组件判断请求会话的合法性;
2)AppSecretManager:应用密钥管理组件,使用Rop开发的开放平台服务,客户端可以开发很多应用,每个应用都必须分配一个appKey,每个appKey对应一个密钥。因此服务端必须能存储并管理这个appKey/密钥对,以便在签名验证时使用。你既可以将appKey/密钥放在数据库中,也可以放到文件中,也可以放在LDAP中,只要相应实现AppSecretManager即可。
3)SecurityManager:服务安全检查组件,一个请求是否可以执行目标服务,需要很多条件,可以装配该组件以植入安全校验的逻辑。
6.支持拦截器
可以通过RopServlet的Servlet参数指定拦截器(多个逗号分隔),也可以在Spring容器中配置拦截器,Rop会自动扫描并装配。
0 0
- Rop特性及新功能(最简单的Rest Web Service框架)
- 全功能Rest Web Service开源框架Rop作者陈雄华专访
- 如何更好的设计你的REST API之基于REST架构的Web Service设计及REST框架实现
- Rop开发手册(1):最简单的服务开放平台框架
- Rop开发手册(2):最简单的服务开放平台框架
- Rop开发手册(3):最简单的服务开放平台框架
- Rop开发手册(4):最简单的服务开放平台框架
- Rop开发手册(6):最简单的服务开放平台框架
- Rop开发手册(5):最简单的服务开放平台框架
- 基于REST的web service project添加spring框架
- REST Web Service的兴起
- 最简单的Rest服务
- Rest风格WEB服务(Rest Style Web Service)的真相
- Rest风格WEB服务(Rest Style Web Service)的真相
- Rest风格WEB服务(Rest Style Web Service)的真相
- Rest风格WEB服务(Rest Style Web Service)的真相
- 简单介绍使用WCF的Web编程模型开发REST风格的Web Service
- Java Web 学习笔记之九:利用Jetty+restEasy搭建简单的rest web service
- 数据可视化图表插件--Echarts
- 使用Oracle外部表对大文件排序
- 用SQL语句向表格中插入数据
- Google Protocol Buffer 的使用和原理
- Ruby on Rails性能优化七剑
- Rop特性及新功能(最简单的Rest Web Service框架)
- 【转】在内核中之获取HKEY_CURRENT_USER对应路径
- 函数指针数组的指针
- 关于MIC的几点知识
- JS(六)promise
- WordPress网站利用WP2PCS-SY插件定时、增量网站备份至百度网盘
- 如何提高 Ruby On Rails 性能
- Linux常用命令汇总
- 工程建设项目中关于牵扯价格概念的区分