Microsoft 新近公布的一組新服務。它的代號為“HailStorm”。 “ 這個代號是什麼意思?”,雖然這可能不是我遇到的第一個問題,但卻是最常見的問題之一。與任何好的代號一樣,HailStorm 這個術語也與產品本身沒有任何關聯。除此之外,與 Microsoft 的大部分代號不同的是,它還與任何物體都沒有實際的關聯。代號通常分成不同的組,例如,有名的城市、滑雪勝地的名稱、樹的種類、著名的詩人、天體或者其他 諸如此類的分組。在此類分組中,後續版本可以使用系列中的另一名稱。但是,HailStorm 打破了這種模式。
基本介紹
- 外文名:Hailstorm
- 代號為:“HailStorm
- 基礎資源:開發提供技術基礎結構
- 基於: Web 的服務
來歷,作用,可以做什麼,基礎資源,檔案系統,基於 Web 的服務,隨時查看信息,牆紙自動生成,制定日程表,幾種方案,作業系統透明地工作,
來歷
與大多數具有內部網路的公司一樣,當人們將他們的系統在線上時,會嘗試為系統起一個有趣或至少是令人難忘的名字。困難在於如何找到這樣一個名字:既沒有被其他人使用,同時又要比像 RBH_15 這樣的名字更有創意。早在 HailStorm 項目開始之前,現在負責 HailStorm 的一個人就曾經試圖為他的某一台伺服器找到一個好名字,在試過幾個不同的名字之後,他最終決定採用 HailStorm。
作用
可以做什麼
好了,名字的來歷就是這樣。這可能是一個有趣的故事,但實際上沒有任何意義。您可能更希望了解 HailStorm 是什麼,以及您可以用它來做什麼。
基礎資源
簡單的說就是:如果您認為 .NET 的作用是為基於 Web 的分散式應用程式的開發提供技術基礎結構,那么 HailStorm 就構建在 .NET 之上,它提供基於 Web 的分散式應用程式要真正地在應用程式之間共享信息可能需要的某些基礎資源。
檔案系統
另 一種考慮方式是將 .NET 看作“檔案系統”(或者應用程式用來與計算機的存儲系統進行互動以打開、關閉、讀取、寫入和詢問底層數據存儲的方式)的定義。檔案系統本身的含意無關緊 要,甚至存儲在檔案中的數據的格式也無關緊要,而且雖然一個應用程式可以通過使用檔案系統來輕鬆地打開另一個應用程式寫入的檔案,但檔案系統無法確保數據 能夠被讀懂,甚至無法確保數據能夠被另一個應用程式讀取。
這就是需要用到 HailStorm 的地方。您可以將它看作 ASCII 文本的定義(也就是將它看作與在兩個應用程式之間共享的文本信息一樣簡單),也可以將它看作 CSV(提供用於交換信息表的常用格式)的定義,或者將它看作 RTF(使字處理應用程式可以保存其數據從而使其他應用程式能夠讀取這些數據)的定義。通過這些方法,以及其他常用的數據交換方法,用戶可以通過一種能夠 被普遍理解的格式來存儲信息,而多個應用程式可以共享和公開此信息,以便與其他應用程式互動,並且還可以將信息聚集到唯一且有用的視圖中。
與任何一種常規比較一樣,上述比較也未能完全描述 HailStorm,而只應被視為一種初步的比較,因為它僅僅抓住了 HailStorm 提供的潛在功能。
基於 Web 的服務
隨時查看信息
HailStorm 本質上是一個用於存儲和檢索信息的基於 Web 的服務。但是,這裡的信息不僅僅是 HailStorm 旨在管理的任何一種信息,具體地說,它是為您 存儲的您的 信息。請考慮以下幾個既相關又各自獨立的方案。
您正在路上,突然想到需要查看日曆以了解今天計畫參加哪些會議。您找到一個 Internet 終端,並登錄到您的日曆(該日曆基於 Web)。
牆紙自動生成
您使用家裡的計算機。桌面上的牆紙是自動生成的,它的某個角落包含一個小型日曆,以顯示您在 Microsoft Outlook_(或其他日曆應用程式)日曆中記錄的生日和周年紀念日。
制定日程表
您使用公司的計算機,並且剛剛安裝了一個新的應用程式,該應用程式可幫助您對公司用來鼓勵合夥使用汽車的交通工具共享系統進行日程安排。使用它,您可以根據其他合伙人的日程表來相應地制定自己的日程表。
幾種方案
我們來詳細地了解上述每一個方案中發生的情況。在第一個方案中,最有可能使用同一個應用程式,但是在其他的計算機上,您也可以訪問自己的日曆。此方案展示了分散式/遠程存儲,並向您展示了怎樣從任何位置訪問到自己的信息。
在 第二個方案中,我們展示了兩個獨立的應用程式怎樣訪問相同的日曆信息,以便提供各自不同的功能。雖然使用 Outlook 這樣的程式能夠生成包含集成日曆的桌面背景,但此任務對於專用應用程式而言更適合。並且,很有意義的一點是,它使第二個應用程式可以使用現有的生日和周年 紀念日源,而不必要求用戶不斷地更新兩個(或更多個)應用程式中的信息。
在第三個示例中,我們不僅展示了怎樣在多個應用程式(Outlook 和 Ride-Share 應用程式)之間共享信息,而且還展示了怎樣通過將與多個人關聯的信息組合到一個聚合的視圖中來簡化管理。
上述所有示例都以這樣一個事實為前提:信息保留在以用戶為中心的體系結構中,而不是保留在以應用程式為中心或以設備為中心的體系結構中。實現向以用戶為中心的設計的轉變很重要,因為它使用戶既能夠控制其數據和信息,同時又能靈活而隨意地通過新方法來使用這些信息。
作業系統透明地工作
HailStorm 的一個目標是提供單一的數據存儲基礎結構,從而使上述全部三個方案都能夠跨多個應用程式、用戶甚至作業系統透明地工作。顯然,需要集成到此類解決方案中的 不僅僅是日曆信息。在此解決方案中,我們考慮多個應用程式都可以從中受益的各種常規用途數據存儲。除了日曆之外,還可以包括收件箱、聯繫人、配置檔案、地 址、應用程式設定等等的信息。要將所有這些信息邦定在一起並提供用於訪問此信息的唯一且安全的密鑰,可以使用標識 服務來實現。通過此服務,用戶可以管理其數據,而應用程式則可以請求與此數據進行互動操作的許可權。
通 過提供一組基本的常規用途數據存儲,可以設計出功能更深入、更豐富且更獨特的應用程式。在上面的第二個方案中,如果您是要編寫此類應用程式的應用程式開發 人員,則需要提供自己的“重要日期”資料庫,或者需要包含一種機制,以便可以從用戶可能使用的任何日程安排系統中導入和導出日期。生成自己的“重要日期” 資料庫相對簡單,當然這也意味著大多數人都疏於對它進行更新,因為這不是他們自己的信息所存儲在的位置,他們會對不得不記住將自己的信息輸入到您的系統中 而感到厭煩。針對幾個不同的日程安排程式編寫導入/導出例程將會更困難,因為您不得不了解數據在其中每個程式中的存儲方式的所有特性,並假定數據格式已歸 檔。無論採用哪一種方法,這都不會是一個容易實現的解決方案。
對於使用 PIM/日程安排應用程式和牆紙/日曆應用程式的用戶而言,更好的解決方案是使用公共數據存儲來與用戶信息進行互動。這使得用戶的日程安排是他們自己的 日程安排,而不是特定應用程式的日程安排,從而使得多個應用程式可以輕鬆地以同一個數據集為中心,並且每個應用程式都在其中實現了自己的價值,從而為用戶提供了更高的總價值。
當 然,要通過一種可靠、安全且易於使用的格式來提供其中的所有功能,有許多困難和障礙需要克服。此外,還有很重要的一點,那就是在布局底層數據架構時需要相 應地加以考慮,使其可以正確地反映大量的應用程式需要它們提供的功能。在接下來的幾個月,您還將在 MSDN Online 上了解到有關以各種機制實現的 HailStorm 的更多信息。