Go-together Service Platform
Second Drift
Date : 2006.4.5
Author : Richie.lea
Update: 2006-4-22
Update: 2006-4-29
一、 项目概述
名称:Go-together Service Platform
概述:
现在移动领域的软件企业大部分为增值服务提供商,而传统的增值服务一般都是以SMS为载体,统一经过电信商的服务器进行各种处理。而随着硬件方面-电池续航能力,运算能力,屏幕尺寸,网络带宽的增强;软件方面J2ME的升级,越来越多的新型服务形式逐渐可以被大众接受。WebService就是其中一种,Wap上网包月,J2me也开始支持WS,使得手机程序在现有GSM网中使用WS技术很便宜而且方便。而且由于WS技术使用的是IP网络,可以使增值服务商可以不再必须通过电信商的中心机房,而提高盈利。
但是各自盈利的模式同时也存在很大弊端,需要众多增值服务商自己开发各种管理和收费机制,无论服务提供的多少,都需要拥有自己的对用户的服务管理机制,大大增加开发成本。
本项目Go-together,正是在这种考虑下出现的,他的目的就是最大程度上从各个服务商那里把客户管理机制,收费缴费管理机制,集中起来。以平台的形式,可以让服务商在上面发布服务,用户可以在上面选择服务,并且提供安全,收费等商业服务。
作为用户和服务商的中转平台,最基本的功能就是安全认证和WS信息的智能路由
二、系统描述
1、 Role Definition
·Requester
·User
·Go-together
·Provider
·Service
·ServiceSource
·Contract
Requester:
可以认为用户在使用客户端进行服务请求时,域内代理类为Requester,它只包括和安全信息和Contract信息,为Go-together进行工作提供必要信息。
向平台发出服务请求,提供安全信息和服务信息,并接受最终结果信息。
·发起服务请求
·解析返回的结果
·(optional) 作为手机端程序,与使用者直接交流,接受输入,并显示结果。
User:
可以认为用户在使用Web界面访问Go-together时,域内代理类为User,它关于用户的所有信息,例如:个人资料、交易历史、各种纪录等等。
Go-together:
作为服务的中间人,提供安全、记录、商业逻辑、Requester管理、
Provider管理、服务路由等功能。基于Web的管理界面。
·接受Requester发起的服务请求,并解析成控制内容信息与传输内容信息。
·依据控制内容进行认证、授权、记录、商业逻辑和服务路由。
·接受Provider的结果信息,并返回Requester。
·能够对Requester的安全和权限信息进行管理。
·能够对Provider提供的服务进行路由和状态管理。
Provider:
服务请求的提供者,处理服务的全部逻辑均属于Provider,与Go-together通讯需要使用Go-together的通信样式。
·接受Go-together中转来的服务请求。解析出请求内容。
·处理并返回结果内容。
·在开通中转服务前,需要主动向Go-together注册Provider信息,并等待认证和授权密钥。
Service:
Provider提供的服务在域内的代理类。包含有限个ServiceSource。
ServiceSource:
Provider提供的服务器在域内的代理类,包含具体服务器(WS的服务路径)等具体信息。
Contract:
使用权的抽象类。具体可以为:(例)
Requester对于某个Service的‘按次使用权’,
Requester对于某个Service的‘包时使用权’,
Provider开通Service和ServiceSource的‘开通权’。
所有和交易结果有关的实体均可映射到Contract的某个子类中。
2、 Component Diagram:
PS:R-G,G-P之间目前定义为同步双向的SOAP通信。
3、 Web-Service Definition:
由于Go-together是在服务的路由过程中提供各种附加服务,所以需要在Requester与Provider的服务内容之外需要增加安全,控制,路由等信息。为了进行统一,定义标准的WSDL文件对Requester与GTSP、GTSP与Provider的通信进行规范。( GTSP是Go-together Service Platform的缩写 )
模式:
R-GTSP Service Transport Protocol:(用于R-G-P模式的P-G服务请求)
·不限制R-P之间的服务请求与结果信息格式。
·把R-P的请求内容,以byte[]形式封装起来。
·包括Request身份信息和Service信息。
(同一个Provider可以提供多个Service,每个Service可以拥有多个ServiceSource,**同时统一Service理论上也可以由多个Provider提供)
·返回信息结构用使用SOAP envelop,可以与java的primitive type直接对应,包括结果状态码,结果状态信息,结果集。
GTSP-P Service Transport Protocol:(用于R-G-P模式的G-P服务请求)
·不限制R-P之间的服务请求与结果信息格式。
·把R-P的请求内容,以byte[]形式封装起来。
·以当周期R-P通信密钥加密 或者 使用周期R-P 通信 Token。
结构定义:
R-GTSP Service Request Protocol Schema:(WSDL)
信息段: 含义 元素名 类型 注释
RequestSetDocument
用户名 UserName String
密码 Password String
服务名称 ServiceName String
数据 RequestContent byte[]
ResultSetDocument :
结果状态码 ResultState int
结果状态信息 ResultStateMgs String
结果集 ResultContent byte[]
WS Operation Define:
ResultSetDocument callSerivce(String UserName, byte[] Password,
String ServiceName, byte[] TransOject)
(具体WSDL文件-----Go-together.wsdl 见包内。)
4、 用例图(部分)。
User:
Requester:
Provider:
Administrator:
5、 状态图(部分)
ServiceSource Statement:
Service Statement: