跨系统的应用交互规范

    安全:涉及到会员敏感信息,需要通过加密来实现。签名不可否认,如果不需要解密,推荐使用Md5加密。如需解密,可以通过DES加密或者RSA加密。
    超时:任何一种接口方式,都必须提供超时机制。
    监控:对于接口是否OK,要做到可监控,上线后,要对接口进行监控;内部调用与需要有日志与监控,有频度控制,有调用者服务器的应用名和IP等信息记录。
    压力:需要考虑压力情况,要做压力测试。
    协议:建议分两类协议,短连接与长连接,高频的走长连接,使用ICE等协议,次高频(调用不频繁)建议用HTTP接口或者RESTful HTTP风格的接口等,不建议走RMI。
    性能:提供的服务接口,需要经过性能测试,并符合性能规范。线上提供的接口服务能满足性能要求。客户端需要考虑有访问超时控制,服务器端需要考虑调用频率超高时的自我保护控制。
    权限:控制不同应用之间交互有权限控制,而不是调用者硬编码写死;服务提供提要有调用者检查,如APPID,APPKEY;权限要明确是应用级隔离还是用户级隔离,集中登记这些信息。
    SSO: 不同系统间用户实现SSO,基于OPENID或OAUTH等统一的协议,实现 内部系统的SSO。实现可以用UDB部门提供的SSO免登录。
    内外区分:外部应用与内部应用之间安全隔离。
    传输数据格式:推荐使用JSON,XML做为数据交互。

------------------------------------------------------------------------------------------------------------

职责分离

1.横向--层
部门推荐的分层方式

层 组件 职责
展示层 Action 基于一个UC封装一组事件,完成该UC的功能
业务层 Service 封装基于UC的业务操作,负责组装对象或者判断业务规则,调用服务层的Service,不能复用
服务层 Service 细粒度,可重用的,处理核心领域模型
持久层 DAO 封装数据库操作

2. 纵向--模块
业务设计中统一概念,从领域中提炼,细化领域模型,避免super service,service模块化。比如联保对于团成员就抽取出GroupMemberChangeService,GroupMmeberInfoQueryService

猜你喜欢

转载自san-yun.iteye.com/blog/1388910