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: