最近剛結束了 MIX 2011 年度大會,微軟在會議中釋出了許多提供給開發者的新工具及平台,有興趣的讀者可以前往 http://live.visitmix.com/觀看整個大會的訊息及各項議程的錄影。
 在這次會議中,Internet Explorer 團隊展示了新版本的 Internet Explorer 10 第一個平台預覽版本,除了讓網頁開發者瞭解 IE 持續在 HTML5 以及 CSS3 標準的支援上努力之外,同時也展現即便 IE 10 在 ARM 處理器上運行,仍舊可以利用圖形顯示卡做顯示的加速,讓網頁開發者更能夠在 IE 上面發揮更多的創意以及新的應用,如果你想現在就試試 IE10 的預覽版本,可以前往 http://ietestdrive.com下載或是觀看各種加速效果的展示。
 除了網頁之外,Windows Phone 7 可是帶來了更多的好消息,Windows Phone 團隊將會在下一次重大更新 (所謂的 Mango) 中加上 IE9 的瀏覽器,讓行動裝置的用戶及開發者也可以享受以 HTML5 / CSS3 所製作的網頁應用;而對台灣的開發者以及消費者來說,最興奮地莫過於加入了正體中文的支援、應用程式的付費下載以及販售,新的開發工具預計會在下個月推出,相信台灣的開發商已經可以開始準備投入 Windows Phone 7 的應用程式開發,搶先佈局囉。
 另外,也有 Silverlight 5 Beta 版本的消息,在這個版本中導入了 3D 的加速及操作,以及新的程式開發模式;而原本用於 XBOX 360 體感操作的 Kinect,微軟也打算釋出開發工具 (SDK),讓 Kinect 可以連接於其它的裝置 (如:PC) 進行開發各種體感的應用。相信這一系列消息,將會對於未來的應用程式增加更多的可能性以及趣味性。
 現在對於開發者來說真是一個美好的時代,微軟盡力提供更多平台的開發工具套件,努力將平台工具做得更好,就是希望各位開發者能與我們一起努力,讓軟體應用發揮更多的威力,除了解決問題之外,也能帶來更美好的生活。現在你可以很驕傲地說:「嘿!你好!我是一個程式開發者!」

 

 

 

Windows Azure AppFabric Access Control Services 2.0 概觀
 服務導向應用程式架構 (Service-Oriented Architecture) 在現代已是大型應用程式或企業系統的顯學,為了要達成服務導向架構,各家應用程式平台無不使出渾身解數,開發一套又一套的驗證與授權機制,它們都強調整合以及單一簽入 (Single Sign On) 的能力,並且可以將使用者資訊散布給各個應用程式,藉以識別使用者身份及進行授權,這對企業內部來說,只要高層命令一下達,基本上就可以很順利的推動,但對於外部系統或是資訊來自組織外部 (如社群網站) 時,單一簽入的能力就會受到很大的挑戰,因為外部系統的驗證機制未必會與企業內部所使用的相符,而多半是各自開發的,所以若要與外部應用程式或服務串接時,除非雙方有談定訊息交換的規範,否則不太可能一套涵蓋全部的範圍。
 
開放式驗證標準:

 在一個與網際網路構連的環境中,只要是會開放資訊給外部的資源,基本上都不太可能會獨善其身,一定多少要和網路標準有關聯,驗證 (Authentication) 這件事當然也不例外,但網際網路發展至今,與驗證有關的開放式協定卻相對較少,隨著企業應用以及各類型的網路應用開始出現大量相互連結的需求時,尋求一個開放、大家可遵循的驗證提供協定已成為最需迫切解決的問題,所以才慢慢有像 Open ID 和 OAuth (Open Authentication) 的驗證協定出現,它們可以允許開發人員透過協定的通訊方式,由驗證資訊提供者 (Authentication Provider) 進行身份驗證後,核發票證 (Claim) 給使用者,而使用者再將票證傳送給應用程式進行檢查,以確認票證確實屬於該使用者,最後進行授權的動作。

 

 而在社群網站 (如 Facebook) 以及主要網路服務供應商 (如 Google) 的推廣之下,開放式驗證協定已經被多數的網路應用程式所採用,像是要存取 Facebook 的資源時,應用程式必須要使用 OAuth 協定,並經過使用者授權後,才可以存取使用者授權範圍內的資源;而 Google Account 本身也有 Open ID 協定的支援,可讓應用程式利用 Google Acount 提供登入機制,而不需再自行維護會員帳戶資料表。現在也愈來愈多網站服務提供由社群網站帳戶登入的機制 (例如 stackoverflow.com)。
 不過若要一次支援這麼多 OAuth 或 Open ID 的提供者,在程式開發上也不是那麼容易,首先,各家雖然都支援相同的協定,但對於動作要求則不太一致 (如訊息編碼),開發人員又要為不同的提供者撰寫不同的邏輯,這樣會讓開發人員的工作量增加不少。另外,以企業的角度來看,他們要的可能就不是與社群網站結合,而是與合作夥伴結合,像是合作夥伴可使用他們自己的帳戶登入到企業的應用程式中進行資料的查詢或存取等動作,而企業間的資料交換也無法像 OAuth 或 Open ID 單純,可能要進一步驗證更多的資訊才可以授權。若有一個可以作為中間者的服務可替代開發人員實作這些功能的話,對企業或開發人員來說都是個不錯的選擇,而微軟的 Windows Azure AppFabric Access Control Services 2.0 就是要提供這樣的中間者服務。
 
Windows Azure AppFabric Access Control Services 2.0:

 Windows Azure AppFabric Access Control Services 2.0 (以下簡稱 ACS 2.0) 是 Windows Azure AppFabric 上負責處理使用者驗證的驗證提供者之一,它除了繼續提供 ACS 1.0 的企業內部驗證機制外,在 ACS 2.0 則新增了下列功能:

  • 支援外部驗證提供者 (Identity Provider),目前包含 Google、Facebook、Yahoo 以及 Windows Live ID (預設支援) 等四種 Web 驗證提供者,以及以 ADFS 2.0 建置的 WS-Federation 驗證提供者。
  • 支援 Open ID、OAuth 2.0 (Draft 13)、OAuth WRAP 0.9、WS-Federation 與 WS-Trust 等通訊協定。
  • 支援 SAML 2.0、SAML 1.1 與 SWT (Simple Web Token) 等訊息交換規範。
  • ACS管理服務支援 OData 協定,同時 ACS 1.0 的工具不再支援 ACS 2.0。
  • ACS 2.0 可支援 Windows Identity Foundation 的工具。

 在 ACS 2.0 中,應用程式被稱為 Relying Party Application,可以是 Web Application 或是 Web Service,而所有的應用程式都要先在 ACS 2.0 管理介面中註冊後,由 ACS 2.0 在使用者登入時核發 Issue Token (即 Claim) 給使用者,再由使用者交給應用程式檢查,整個應用程式的驗證流程如下圖:

 
 基本上,原有 ACS 1.0 的程式碼是不太需要改變,但若想使用 ACS 2.0,則必須要先在 Windows Azure 的管理介面中,建立一個新的服務命名空間,或是將原本的命名空間刪除後重建 (但這樣的話原本的帳戶就要全部重建),在管理介面中可以看到目前命名空間支援的是 ACS 1.0 或 2.0:

 
 在建構好支援 ACS 2.0 的命名空間後,按下工具列中的 Access Control Service 按鈕,即會被帶到 ACS 2.0 的管理介面中:

 
 在這個管理介面內,可設定要支援的 Identity Provider、設定應用程式、設定角色、設定 ACS 1.0 帳戶、設定管理服務帳戶等功能。

 
 ACS 2.0 除了管理工具的變更外,它最大的特色之一就是可以和 Windows Identity Foundation (WIF) 整合,Identity Foundation 的工具可以直接存取由 ACS 2.0 產生的 Metadata 資訊,以簡化開發人員使用 ACS 2.0 時所需要做的一些組態工作,而且會寫到的程式碼幾乎很少,所有的驗證工作都被 WIF 做完了。
 
 ACS 2.0 已於 MIX 2011 中宣布正式開放服務,因此對它有興趣且有 Windows Azure Platform 帳戶的使用者,可以直接到 Management Portal 中建立一個新的 ACS 2.0 命名空間,然後體驗它的驗證便利性吧!
 
NOTE
新版的 Windows Azure Platform Training Kit (April 2011) 中提供了
ACS 2.0 的 Lab 可實際體驗。
 

 

 

 

Q:執行 WindowsPhoneGame 專案的偵錯都會出現錯誤訊息?

 

Q:網頁裡的 Silverlight control 在 localhost 都正常,但上傳伺服器,
    網頁上都無法顯示?

 

 

 

 

 

 

 

 

 

Visual Studio 2010 實戰營

 

 

 

05 月 06 日
05 月 12 日

 

 

 

 

編:請問您是怎麼進微軟的?

 Eric:我之前是在中華電信工作,平時會利用閒暇時間跑社群活動,對於社群的經營及活動一直很有熱情,也對於新技術充滿了研究精神,所以在幾次的活動中認識了幾位微軟內部的員工。因為內部員工的引薦,他們從我們的互動中覺得我很適合相關的職位,於是輾轉得到面試機會,並通過主管面試之後順利的加入微軟。

編:這個工作主要負責哪些方面呢?你對自己的職位未來有什麼期許或短期規劃呢?

 Eric:我的任務是要快速瞭解公司產品的趨勢,一旦有了新的技術跟平台,我需要馬上規劃新的活動跟課程,並運用各種社群及管道,讓不論是否為微軟技術開發者能夠了解新技術是否適合自己。我的腳色其實有一點像是新技術的傳教士,讓開發者能瞭解微軟的新技術,並讓想要採用的開發人員,能有一個好的平台共同學習、共同成長,我希望能拉近開發人員之間的距離。
 剛開始當然仍跟以往一樣,舉辦課程或演講等活動提供給開發者。目前想要多舉辦如 "黑克松" 性質的活動,因為我希望台灣微軟提供的活動,是讓開發者聽演講之餘,也可以帶電腦來當場實作。開發者不是只有台下聽課,而是可以很直接的跟其他開發者、講師、微軟的人互動,有問題可以馬上反應,活動結束可以馬上產生成品,讓開發者實際動手,分享彼此之間對開發的熱情,互相交流看別人做了什麼或向別人討教。

 

編:進微軟前與進微軟後,想法有改變嗎?

 Eric:我在加入微軟前,其實較少使用微軟技術。反而是對於 open source 比較熟悉。之前的自己就像一般消費大眾一樣,可能會覺得其他公司釋出軟體的腳步很快,相較下微軟比較慢。但我覺得就因為微軟的使用者很多,又有很多大企業的合作夥伴。一個小小的 bug 就有可能造成大損失,所以在各方面皆需要比較小心。
 而在加入微軟後,才發現微軟對於開發者或開發廠商有很多的關懷。或許會談到利益關係,但我們真的投入了很多資源,去解決開發者的問題,而不僅是產品賣了就算了。售後服務也很完整,目的其實是希望跟合作夥伴能一起成長。這是我進來之後慢慢發現的,因為進來後有接觸開發人員跟 MVP。我們很照顧開發者,我也希望我的工作可以讓開發者對我們有更大的信任,至少有人在關心這些開發者的系統,未來也會持續互動。

編:你覺得開發工具暨平台推廣處部門的同事都有什麼特質?若要成為微軟員工需要哪些特質?
 Eric:部門的人其實都蠻熱情外向的,而且 "很熱血",有很多想要做的事情,也會去努力完成,大家都有著很棒的夢想。那份熱情不只是對人,對工作上的事情也一樣,希望給其他開發者技術的未來及展望。而這樣的活潑熱情很特別。
 我覺得微軟人就是要很積極很熱情,勇於接受挑戰,對於軟體技術要很有興趣,因為變化速度很快,不可能單憑進公司時的技術就能待一輩子,不過當然也是要有一定的技術底子。
 即使不是每個腳色都是技術職位,但對於這產業一定要有興趣。因為我們公司有非常非常多的東西等著你去開發和學習。也不能夠害怕與人互動,因為很多事情需要大家通力合作完成,不去害怕和別人接觸,有自己的主見與想法。

 

編:給開發人員的一些話

 Eric:盡量多接觸不同事物,不要只在自己的本業上去看事情,而是多去了解其他領域的朋友所碰到的問題,因為他們跟我們開發人員的思維是不同的,很多問題是我們沒有想到的,然後我們可以再從中去解決這些自己沒想到的問題,對開發人員也會很有成就感,我覺得我們開發人員可以做更多的事情!
 再來就是願意接受新的知識,不一定要只瞭解哪家公司的產品,至少要了解現在的人們在談論什麼,並開放心胸去接觸各種可能,因為未來開發人員也會面臨全球化的衝擊,環境會越來越艱困。不過只要自身保有各種彈性,就不怕會被淘汰!
 或許因為還得工作,沒有足夠時間去熟悉新技術,但至少有空的時候可以多多了解最基本的新技術,還是覺得沒時間的話,可以先從自己的工作項目去檢討是不是工作效率太低。因為一個人的時間被工作佔滿有兩種情況:1. 工作狂 2. 效率很差。所以如果開發人員覺得自己平常沒什麼時間,我會建議先檢視工作效率狀況,是不是花太多時間在較沒意義的事情上,比如瀏覽社群網站是 OK 的,但有些人是長時間的在社群網站上等待新的東西讓他回應。
 還有就是不要每次都依賴別人講給你聽你才願意去學。有很多人不是不願意學習,但是你要跟他說他才會願意去了解。如果今天教你的人沒時間教你,你學的東西就變少了。上課是很重要,但如果內容沒辦法滿足時,要看你有沒有意願跟能力去自我修練。如果不知道怎麼辦,可以多參加活動,因為台上的講師和 MVP 也都是靠自修讓這技術變專精的,在參加活動時可以多問老師或 MVP,他們是如何讓技術維持這麼專業。學習要主動,因為不是每個人都可以配合自己。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Team Foundation Server 專題:Visual Studio TFS Team Project 及 Collection 指南
(英文)
 

 

 

Windows Azure 縮圖範例
Windows Azure HelloFabric 範例

 

 

 

 

 

 

搶先測試 Internet Explorer 10 Platform Preview 1

 

 

 

 

從 Visual SourceSafe 升級到 Team Foundation Server 2010

 

 

 

 

邊學邊做 -
Windows Phone 7 開發大全
 
 
 
 

 

 

 

 

 

 

 

 

 

 
 
 

 

 

 

© 2011 Microsoft Corporation. 著作權所有,並保留一切權利。 使用規定 | 商標| 隱私權聲明 | 取消訂閱