當前位置:工程項目OA系統(tǒng) > 泛普各地 > 上海OA系統(tǒng) > 上海OA信息化
收藏服務:第二階段功能規(guī)范
收藏服務:第二階段功能規(guī)范
Andy Boyd
MSDN Architectural Samples Team
2001 年 9 月
摘要:本文檔定義在項目的第二階段中收藏 Web 服務示例應用程序將實現(xiàn)的功能。在收藏 Web 服務示例的第二階段中將添加 Passport 身份驗證、高級客戶端和 ASP.NET 客戶端。
MSDN Architectural Samples Team 非常希望您能提供有關本規(guī)范的反饋,您可以訪問 MSDN Web 服務 newsgroup(英文),并將反饋放在 news:microsoft.public.msdn.webservices 中。
實施概述
本文檔定義在項目的第二階段中收藏 Web 服務將實現(xiàn)的功能。在收藏
Web 服務示例的第二階段中將把 Passport 身份驗證、高級客戶端和 ASP.NET
客戶端作為附加功能添加進來。第二階段的目的是簡化和擴展服務,并使我們的收藏服務應用程序能夠利用未來技術的優(yōu)勢,這其中包括 Microsoft .NET My
Services(以前稱為 HailStorm)。
注意:本文是收藏服務示例 Web 應用程序第二階段功能規(guī)范的草案。MSDN Architectural Samples Team
之所以提前提供此規(guī)范,其目的就是希望得到有關收藏服務的下一版本將要實現(xiàn)的功能的注釋、建議和反饋。
除了有關現(xiàn)有項目的注釋外,MSDN
Architectural Samples Team 還希望得到有關以后示例的問題、一般注釋和建議。請通過 MSDN Web 服務
newsgroup(英文)將您的問題和建議提交給我們。
1.
項目概覽和范圍
1.1 問題陳述
在第一階段的收藏服務發(fā)布后,虛構的 Cold Rooster
咨詢公司希望為被授權者和最終用戶改善其站點的功能。通過滿足更多的 Web 服務需求,Cold Rooster
的目標是吸引更多的被授權者并使最終用戶愿意使用其(我們的)服務托管他們的數據。收藏服務將繼續(xù)完善,努力使?jié)撛诘目蛻粜欧?Web
服務的品質與實用性。此服務將繼續(xù):
提高潛在客戶的 Web 站點的價值
展示我們開發(fā)與操作實踐的品質
以合理的成本實現(xiàn)和部署
第一階段實現(xiàn)的收藏服務存在幾個缺點:
用戶數據局限于每個被授權者——即,一個站點的收藏數據無法通過另一個站點訪問。
用戶需要為使用收藏服務的每個站點創(chuàng)建唯一的登錄信息,并且還要記住這些信息。
雖然 Web 服務可同時支持 Web
和高級客戶端,但示例收藏服務只建立了 Web 客戶端。
1.2
第二階段修訂和更新
在第二階段中,將在收藏服務中添加以下功能:
用戶身份驗證將通過 Microsoft Passport Service 2.0
進行處理。這可使用戶在訪問站點時自動訪問收藏數據而不必創(chuàng)建單獨的登錄帳戶。
用戶可以通過同一身份訪問所有被授權者。通過獲得使用此服務授權的任意站點,用戶都可以訪問同一收藏集(每個帳戶)。
收藏服務的功能將添加到
Cold Rooster 服務中心應用程序中。在 ColdStorage Service(英文)方面工作的小組當前正在開發(fā)此應用程序。收藏服務在 Web 頁或
Microsoft? Windows? 應用程序中都可正常運行。
收藏服務的部分組件將被按照 .NET
標準重新編寫,以改善服務的性能和功能。當前,要重新建立的組件包括:
報告 UI
管理 UI
站點 UI
報告和 GetFavorites 數據將以純 XML(而非 HTML 編碼的 XML)格式進行傳遞。
為示范服務的跨站點功能,將通過附加的單獨示例站點擴展 Cold Rooster Web 站點,從而展示唯一用戶的概念。通過使用
Microsoft 及可能的非 Microsoft (Linux) 站點,附加的站點還將分別展示收藏服務遵循標準的情況。
1.3
范圍
在第二階段中,Cold Rooster 咨詢公司將實現(xiàn)并部署收藏 Web 服務,從而授權 Web
站點開發(fā)商在后臺使用該服務管理他們客戶的收藏。用戶可以在任何獲得使用該服務授權的 Web
站點保存收藏,并且可以在任何獲得使用該服務授權的站點上訪問這些收藏。通過最終用戶的權限,被授權者可以替用戶添加、刪除、編輯和組織收藏。被授權者也可以替單個客戶檢索其存儲的所有收藏。收藏
Web 服務還可以生成被授權者每周使用情況以及常用收藏的報告。
除 Web 服務以外,還將實現(xiàn)并部署一些工具以協(xié)助服務的操作。這些工具包括管理被授權者的工具、報告生成器以及服務管理工具。Cold Rooster 咨詢公司還將為被授權者提供示例和文檔,以說明如何將收藏服務集成到 Web 站點或高級客戶端中。這些示例由三個示例 Web 站點、一個帶有源代碼的高級客戶端以及一套完整的服務軟件開發(fā)工具包 (SDK) 組成。
2.
概念模型
此部分描述與收藏服務進行交互的參與者,并定義與理解使用案例和需求相關的主要概念。概念模型的大部分信息與第一階段是相同的。有關其詳細信息,請參閱Phase
One Functional Specification(英文)。
2.1
子系統(tǒng)
本文檔使用以下術語標識收藏服務中的邏輯子系統(tǒng)和數據存儲區(qū)。
表 1:收藏服務子系統(tǒng)和數據存儲區(qū)
2.2 授權模型
此服務將被授權給希望在其 Web
站點中提供收藏服務功能的公司。此項服務的主要增值點是:它為最終用戶提供了以書簽形式標記訂閱站點內容的能力,并使被授權者可基于內容需要、用戶配置文件或內容/產品的推廣,為最終用戶提供或建議附加的收藏。雖然此服務的主要目的不在于獲得收益,但將根據收藏請求的數量以及使用服務合約的時間長度向被授權者收取一定費用。
表 2:收藏服務授權模型
高級客戶端將成為 Cold Rooster 咨詢公司站點的服務,同時也是服務的使用者(被授權者)。高級客戶端將以廣告模式維持其自身的生存,該模式基于 ColdStorage Project(英文)使用的廣告服務。高級客戶端不包含在服務自身的收益或授權模型中,它和示例 Web 客戶端將被作為研究示例提供給被授權者。
此外,被授權者需要支付因使用 Passport 作為其身份驗證服務而產生的費用。Passport 本打算對服務經營者按年度象征性地收取許可證使用費用,但目前 Microsoft 正要取消此費用。
3.
使用案例
以下使用案例說明了外部參與者(最終用戶和客戶端應用程序等)執(zhí)行一般操作時收藏服務的行為。大部分使用案例與第一階段使用案例是相同的——因此,這里只介紹第二階段中新增的使用案例。有關其他使用案例的詳細信息,請參閱
Phase One Functional Specification(英文)。
3.1
服務器實用程序使用案例
此部分列出完整使用案例的一部分。
驗證許可證
收藏服務驗證所提供的被授權者標識符是否對應于使用服務所需的有效許可證。如果不是,則向客戶端返回錯誤信息(客戶端錯誤:無效被授權者)。
有效許可證已被激活,它沒有過期,并且沒有被掛起。
驗證用戶 ID
收藏服務驗證所提供的 Passport ID
(PID)。由于實際用戶憑據的驗證由 Passport 處理,所以服務將只確認該 PID 是否存在。如果不存在,服務將向客戶端返回錯誤(客戶端錯誤:無
Passport ID)。
記錄操作
收藏服務保存一份記錄,其中包括調用者的 IP 地址和被授權者
ID、操作開始的日期和時間、操作完成所需時間、操作類型、應答類型(成功、服務器錯誤、客戶端錯誤),以及執(zhí)行操作者的 PID。
添加新用戶
通過同時指定被授權者標識符和
PID,客戶端應用程序向收藏服務提交請求以添加新的用戶。
收藏服務驗證許可證,然后驗證用戶 ID。如果許可證和用戶 ID 都有效,收藏服務將在數據存儲區(qū)中創(chuàng)建新的用戶記錄。如果成功添加記錄,將向客戶端應用程序返回成功應答。如果用戶 ID 已存在于數據存儲區(qū)中,或由于發(fā)生某種內部處理錯誤使得服務無法創(chuàng)建新的用戶記錄,則向客戶端應用程序返回錯誤(客戶端錯誤:用戶 ID 已存在于數據存儲區(qū)中;服務器錯誤:無法存儲用戶)。檢查重復的用戶 ID 是否是由于未區(qū)分大小寫造成的。收藏服務記錄添加新用戶的操作。
登錄到服務
客戶端 Web 站點重定向到 Passport
身份驗證站點以確認用戶是否已被驗證。
如果用戶已被驗證,Passport 重定向回客戶端站點(指出該用戶已被驗證)并傳送用戶的 PID。
用戶身份驗證是通過 Passport Manager 對象執(zhí)行的。有關詳細信息,請參閱 http://www.passport.com/DevInfo/dev_signin.asp(英文)。
當最終用戶第一次使用 Passport 進行身份驗證時,客戶端應用程序將通過同時指定被授權者標識符和 PID,向收藏服務提交請求以檢索用戶的收藏。有關詳細信息,請參閱使用案例檢索所有收藏。如果 PID 不存在于數據庫中,將添加新的用戶帳戶。
注銷服務
客戶端 Web 站點從用戶的計算機中刪除會話
Cookie,然后對自己進行刷新。然后,客戶端 Web 站點將檢測到用戶尚未登錄,并顯示登錄選項。
3.2 收藏服務使用案例
被授權者從 Web
客戶端得到的益處在于,用戶可以書簽形式標記被授權者站點的內容,并且可以在任何地方訪問該內容——即,用戶可以書簽形式標記任何被授權者站點的內容,并且可通過任意一個被授權者站點訪問它們。在
Web 客戶端中只包含快捷添加收藏的功能;但有償使用服務后,一個最大的好處就是可鼓勵用戶訪問被授權者的 Web 站點。
檢索所有收藏
如果用戶尚未登錄到 Passport,則從客戶端 Web
站點選擇登錄選項。如果用戶已經登錄,客戶端 Web 站點通過站點被授權者 ID 和 PID 向收藏服務提交 GetFavorites 請求。服務驗證許可證 ID
和 PID。如果兩者都有效,服務將以 XML
格式返回用戶的所有數據。如果發(fā)生某種內部處理錯誤,使得服務無法檢索收藏,則向客戶端應用程序返回錯誤(服務器錯誤:無法檢索收藏)。收藏服務記錄該操作。
添加新的收藏
在特定 Web
站點上,如果用戶要添加收藏,他們就可以選擇“添加新的收藏”鏈接。此鏈接將顯示在可顯示和處理 URL 的任何頁上,包括文檔和 Internet Explorer
鏈接欄。選中后,客戶端 Web 站點將檢查以確認用戶是否已登錄,然后客戶端應用程序通過指定 PID、統(tǒng)一資源定位符 (URI)、類別
ID、該頁的助記名稱以及被授權者標識符,向收藏服務提交請求以在用戶的收藏中添加該頁。(客戶端應用程序可讓用戶選擇現(xiàn)有類別并輸入收藏名稱,或只簡單指定用戶的根類別并將頁標題作為助記名稱。)
收藏服務驗證許可證,然后驗證用戶 ID。如果許可證和 PID 有效,收藏服務將驗證 URI、類別 ID 和助記名稱。如果 URI、類別 ID 和助記名稱無效,將返回錯誤??赡艿腻e誤包括:
客戶端錯誤:URI 至少要包含一個字符
客戶端錯誤:URI 的語法無效
客戶端錯誤:類別不存在
客戶端錯誤:助記名稱至少要包含一個字符
客戶端錯誤:類別中已存在該助記名稱
如果所有參數都有效,收藏服務將在數據存儲區(qū)中創(chuàng)建新的收藏。如果成功添加記錄,將向客戶端應用程序返回新的收藏
ID。如果發(fā)生某種內部處理錯誤,使得服務無法創(chuàng)建新的用戶記錄,則向客戶端應用程序返回錯誤(服務器錯誤:無法存儲收藏)。收藏服務記錄添加新收藏的操作。
管理收藏
登錄后,用戶從客戶端 Web 站點提供的 Web
控件中選擇“管理收藏”選項??蛻舳?Web
站點將檢索所有收藏,然后按類別顯示收藏,并在同時顯示選項,用于手動添加收藏、添加新的類別、刪除收藏、刪除類別、重命名收藏、重命名類別、移動收藏和復制收藏。
手動添加收藏
在“管理收藏”屏幕上,用戶可以手動添加收藏。非被授權者收藏只能通過選擇此選項添加。用戶將被提示輸入收藏的
URL、助記名稱,同時在屏幕上還將顯示列表框,以便用戶選擇類別。根收藏文件夾為默認位置。選中后,客戶端 Web
站點將檢查以確認用戶是否已登錄,然后客戶端應用程序通過指定 PID、URI、類別
ID、該頁的助記名稱以及被授權者標識符,向收藏服務提交請求以在用戶的收藏中添加該頁。收藏服務驗證許可證,然后驗證用戶 ID。如果許可證和 PID
有效,收藏服務將驗證 URI、類別 ID 和助記名稱。如果 URI、類別 ID 和助記名稱無效,將返回錯誤??赡艿腻e誤包括:
客戶端錯誤:URI 至少要包含一個字符
客戶端錯誤:URI 的語法無效
客戶端錯誤:類別不存在
客戶端錯誤:助記名稱至少要包含一個字符
客戶端錯誤:類別中已存在該助記名稱
如果所有參數都有效,收藏服務將在數據存儲區(qū)中創(chuàng)建新的收藏。如果成功添加記錄,將向客戶端應用程序返回新的收藏
ID。如果發(fā)生某種內部處理錯誤,使得服務無法創(chuàng)建新的用戶記錄,則向客戶端應用程序返回錯誤(服務器錯誤:無法存儲收藏)。收藏服務記錄“添加新收藏”操作。
其他功能
有關基本功能(如添加、刪除和重命名收藏和類別)的詳細信息,請參閱
Phase One Functional Specification(英文)。
3.3
收藏服務高級客戶端使用案例
高級客戶端除了將作為收藏服務的核心外,還將作為 Cold Rooter
咨詢公司的創(chuàng)收工具。高級客戶端將成為用戶收藏的主要管理工具,而不是自由添加收藏的交互工具(Web 控件就是這種交互工具)。
查看收藏
此項為高級客戶端的默認視圖。高級客戶端將顯示兩個按類別排列的窗格,一個樹形視圖和一個葉對象視圖。
添加新的收藏
在高級客戶端中未啟用一次單擊即可添加的功能。此功能在 Web
客戶端中使用,它將和被授權者進行交互。在高級客戶端中可通過單擊“添加收藏”按鈕,手動添加收藏。
手動添加收藏
此功能與 Web
客戶端使用案例中的功能相同。
導入收藏
此功能將使用
IShellUIHelper::ImportExportFavorites 接口把本地存儲的所有收藏或書簽導入到 Web 服務中。
導出收藏
此功能將把所有收藏服務的收藏和類別導入到 Internet
Explorer 的“收藏”菜單中。
同步收藏
同步收藏同時執(zhí)行導入收藏和導出收藏操作。
添加新的類別
功能上與 Web
客戶端使用案例相同,高級客戶端將通過上下文菜單、Windows 菜單和工具欄選項啟用“添加類別”功能。
刪除收藏
功能上與 Web
客戶端使用案例相同,高級客戶端將通過上下文菜單、Windows 菜單和工具欄選項啟用“刪除收藏”功能。
刪除類別
功能上與 Web
客戶端使用案例相同,高級客戶端將通過上下文菜單、Windows 菜單和工具欄選項啟用“刪除類別”功能。
重命名收藏
功能上與 Web
客戶端使用案例相同,高級客戶端將通過上下文菜單、Windows 菜單和高級客戶端單擊并輸入方法啟用“重命名收藏”功能。
重命名類別
功能上與 Web
客戶端使用案例相同,高級客戶端將通過上下文菜單、Windows 菜單和高級客戶端單擊并輸入方法啟用“重命名類別”功能。
移動收藏
功能上與 Web
客戶端使用案例相同,高級客戶端將通過上下文菜單、Windows
菜單和高級客戶端拖放方法啟用“移動收藏”功能。拖放時,移動收藏將作為默認操作。當使用鼠標右鍵單擊收藏時,上下文菜單中將顯示“移動收藏”選項;當使用鼠標右鍵單擊收藏并將其拖動到新的類別時,上下文菜單中將顯示“移動收藏”和“復制收藏”選項。
復制收藏
功能上與 Web
客戶端使用案例相同,高級客戶端將通過上下文菜單、Windows
菜單和高級客戶端拖放方法啟用“復制收藏”功能。拖放時,移動收藏將作為默認操作。當使用鼠標右鍵單擊收藏時,上下文菜單中將顯示“復制收藏”選項;當使用鼠標右鍵單擊收藏并將其拖動到新的類別時,上下文菜單中將顯示“移動收藏”和“復制收藏”選項。
3.4 授權使用案例
除了將接口更新為 ASP.NET
以外,收藏服務的注冊過程沒有變化。有關完整的授權服務的詳細信息,請參閱 Phase One Functional
Specification(英文)。
3.5 報告使用案例
有關報告服務方面的唯一更改是服務將傳遞純 XML,而非
HTML 編碼的 XML。此更改不會反映在任何使用案例中。有關完整的報告的詳細信息,請參閱 Phase One Functional
Specification(英文)。
4.
交付內容
此部分列出收藏服務第二階段將交付的軟件和文檔。
4.1 Web 服務
將在 Internet 上部署以下 Web
服務:
收藏登錄服務處理被授權者的身份驗證/授權。被授權者登錄服務仍將使用內部數據庫,而非 Passport。
收藏
Web 服務處理用戶收藏管理。服務的用戶接口元素將使用 .NET 框架編寫。
收藏報告服務生成使用收藏服務情況的報告。
4.2 開發(fā)工具包
開發(fā)工具包將包含:
文檔,其中包括:
參考頁,描述所有 Web 服務提供的每個操作。
開發(fā)人員指南,解釋如何通過客戶端應用程序使用 Web 服務。
測試指南,解釋如何在客戶端應用程序中測試 Web 服務的使用情況。
有關訪問測試服務的指導以及測試服務限制的說明。
已知問題的列表,包括特定工具集的互用問題。
針對操作人員的疑難解答過程。
有關所提供的客戶支持的信息。
示例客戶端應用程序:
兩個使用收藏
Web 服務的 Web 客戶端應用程序。其中至少有一個服務用于非 Microsoft 的 Web 服務器,如 Apache。此示例用于展示基于標準的 XML
Web 服務在不同平臺上的使用。
使用收藏 Web 服務的 Windows 高級客戶端應用程序。ColdStorage 項目組正在開發(fā)的
Cold Rooster 服務中心將作為高級客戶端,并且其中將附帶實現(xiàn)收藏服務功能的附加頁。
4.3 收藏 Web
站點
收藏 Web 站點為收藏服務提供 Cold Rooster 咨詢公司示例用戶接口。除 Phase One
Functional
Specification(英文)中的功能外,還有兩個用于第二階段的附加示例站點(總共三個站點)。這三個示例站點都可以獨立的被授權者身份使用獨立的域名來訪問收藏服務。收藏服務功能將通過每個站點的
Passport 2.0 啟用,展示了查看收藏數據只與用戶有關而與所訪問的被授權者站點無關這一功能。
4.4 收藏 Windows 客戶端
收藏 Windows 客戶端將作為
Cold Rooster 服務中心附加的選項卡,通過它可以在 Windows
控件中訪問收藏服務的所有用戶功能。高級客戶端將僅用于收藏管理工具,因此不會提供添加其他收藏的便捷方法,無論這些收藏來自于被授權者還是非被授權者站點。這樣對功能進行限制是為了促使用戶使用被授權者
Web 站點添加收藏,從而使付費的被授權者得到更多的實惠。高級客戶端擁有以下主要功能:
用于復制和移動收藏和類別的高級客戶端拖放功能
所有主要收藏服務管理任務的上下文菜單
所有主要收藏服務管理任務的工具欄按鈕
所有收藏服務管理任務的 Windows 菜單選項
從瀏覽器導入、導出到瀏覽器以及同步收藏的按鈕
4.5 Internet
應用程序
以下應用程序將部署在 Cold Rooster 咨詢公司的內部:
收藏許可證管理系統(tǒng)
收藏統(tǒng)計系統(tǒng)
5.
要求
此部分總結并按優(yōu)先級列出收藏服務第二階段所要滿足的要求。
每個要求都被指定一個優(yōu)先級。優(yōu)先級編號范圍為 1 到 3:
沒有它將無法運行
應該具有
最好具有
要求部分只顯示第二階段中獨有的功能或開發(fā)要求。有關基本的服務要求,請參閱 Phase One Functional
Specification(英文)。
5.1
第二階段服務要求
用戶收藏管理
安全性
非功能性要求
報告
開發(fā)人員文檔和工具
高級客戶端功能
- 顯示 Cold Rooster 收藏。
- 顯示 Cold Rooster 收藏和其他收藏。
- 按被授權者排列所有收藏。
- 1上海OA信息化“人-過程-技術”三個層面的關鍵指標
- 2隱性知識轉化是知識創(chuàng)新的基礎
- 3工業(yè)管理觀與上海OA信息化觀
- 4企業(yè)上海OA信息化架構
- 5知識創(chuàng)造的四種模式
- 6上海世博發(fā)展(集團)有限公司郵箱OA辦公系統(tǒng)
- 7設計合同
- 8行業(yè)OA系統(tǒng)開發(fā)技術升級路線
- 9電子商務企業(yè)實施上海OA信息化的必要性分析
- 10XML網絡服務:使用SOAP和ASP.NET創(chuàng)建可復用網絡部件
- 11OA辦公系統(tǒng)有其特殊性,又具有管理軟件的共性
- 12Windows XP將為英國帶來132億英鎊收入
- 13場的四個形式
- 14檔案上海OA信息化的主要觀點與創(chuàng)新、不足
- 15知識時代的企業(yè)——創(chuàng)建21世紀的組織
- 16大辨析連載系列之終結篇——KM與OA、CM以及EIP/EKP的關系
- 17實施上海OA信息化的要素分析
- 18上海OA信息化訪問單
- 19知識分析師和知識主管的區(qū)別
- 20[原創(chuàng)]企業(yè)如何規(guī)劃和實施上海OA信息化系統(tǒng)
- 21上海環(huán)境集團辦公OA信息系統(tǒng)
- 22中華人民共和國檔案法
- 23上海保集(集團)有限公司OA辦公軟件系統(tǒng)平臺 V3.50SP1
- 24Web服務發(fā)展中的一些問題
- 25APQC上海OA信息化評估方法詳細看
- 26企業(yè)如何進行上海OA信息化
- 27內外部的上海OA信息化
- 28集團型企業(yè)為什么導入上海OA信息化
- 29上海市普陀區(qū)現(xiàn)代教育技術中心辦公OA系統(tǒng)
- 30知識的形成:人+信息+場景
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓