微軟的Indigo技術-DotNet開發聖殿-新浪部落

来源:百度文库 编辑:神马文学网 时间:2024/04/28 13:32:28
微軟的Indigo技術

Indigo是微軟第三代.NET技術,現在才剛.NET 2.0談.NET 3.0會不會太早了點...
雖然Indigo是先前產品代號,現今已正式命名為"Windows Communication Foundation",它的作用是系統之間的Communications and Connect,甚至是微軟實現SOA技術藍圖的主角,然而.NET 2.0、VS 2005、SQL Server 2005新一代技術才剛推出,現在談.NET 3.0的東西會不會太早?不趕緊就此打住這個話題,寫了也沒幾個人要看,嗯~是太早了點!談Indigo程式如何寫及如何運作是不會有幾個人要看,也無助於日常民生改善,那為何祭司還談?因為我想了很久的一個問題,也困惑我很久的問題...就是微軟的元件技術未來怎麼走?因為我公司內.NET技術學習的RoadMap要如何走,我現在要有一個明確策略,而目前有那麼多新東西要學,不希望浪費時間在"過眼黃花"的東西,押錯寶投資就白費,要把學時間與精力花在刀口,什麼樣的刀口?就是現在學習2年後剛好神功大成的刀口技術!
那什麼樣的技術會符合我的"刀口"定義?而什麼樣的技術又會是"昨日黃花",在這祭司很坦白地告訴各位,未來刀口技術是"Indigo",而昨日黃花是"COM、DCOM、COM+、.NET Enterprise Service、MSMQ等等",唉呀!相信一堆人看了可能要狂罵,老子是COM+、.NET Enterprise Service的高手,您咀咒我呀!在那滿嘴信口雌黃,說什我的技術是"昨日黃花"...
很對不起各位因為我太老實了,老實到許多人沒法接受,忽視未來潮流只會有一個下場,就是抱著老舊技術而希望愈來愈小,或者是難以融入下一代技術主流,沒辦法IT是玩新不玩舊,比誰技術強不比誰年資老,而我寫這篇主題就是為了說明這一切,不只是寫給各位看,也是幫我自己洗洗腦,要早些接受現實,不要花費大把時間儘學些舊東西,學習的投資將來可能效益不大。
各位請別誤會我在鼓吹COM+、.NET Enterprise Service大家應現在趕快丟棄,相反的這些東西很多專案及企業仍在運作,不可以丟棄也丟棄不了的,我針對的是"不懂想學"、"只懂一點"、"公司將來有打算導入"這些技術的朋友,你們可以考慮是否策略性地暫時Hold住,因為學習新東西是會有"時間與精力"排擠效應的,學了這些蠻深澀的東西,相對的學.NET 2.0、VS 2005、SQL Server 2005新一代技術時間就會少許多,並且投資報酬率及折舊是逐年大增,一點也沒有保值;那已學的朋友就沒有這層顧忌,相信你們對於這些技術的投資在轉換學習Indigo技術會相對容易上手與理解。
OK讓我們的立即來檢驗祭司是吹牛還是微軟真的策略如此,首先我要引證的文章是微軟"Introducing Indigo: An Early Look"這篇,裡面有一段文字與圖片:
The initial releases of the .NET Framework included several different technologies for creating distributed applications. The figure below lists each one, along with the primary reason why a developer would typically use that technology. To build basic interoperable Web services, for example, the best choice was ASP.NET Web services, more commonly referred to as ASMX. To connect two .NET Framework-based applications, .NET Remoting was sometimes the right approach. If an application required distributed transactions and other more advanced services, its creator was likely to use Enterprise Services, the .NET Framework‘s successor to COM+. To exploit the latest Web services specifications, such as WS-Addressing and WS-Security, a developer could build applications that used Web Services Enhancements (WSE), Microsoft‘s initial implementation of these emerging specifications. And to create queued, message-based applications, a Windows-based developer would use Microsoft Message Queuing (MSMQ).

(點圖放大)
OK....各位可以清楚地在上表中看見Indigo將會集所有功能之大成,印證祭司不是在那吹牛;那為何微軟必須推出一個功能超強的Indigo,純粹為了展現其無所不能的技術水準嗎?並不是的,坦白說現今上面的這些技術的確必須有人好好管理管理,因為多年來各自為政各成山頭,該是將它們大一統的時機了,那位領軍的大將正是Indigo,接著讓我們來看看上面那段英文是如何陳述現有這些通訊技術的缺失,您就會瞭解Indigo對程式設計師及企業的重大意義,說明如下:
在.NET Framework發行之初包含了數種建立分散式應用系統的技術(上表列出這這些技術),並說明為何需要使用這些技術的主要理由,例如:
*建立具基本交互操作的Web Services,最佳的選擇就是ASP.NET Web Service(.ASMX)
*連結兩個以.NET Framework為基礎的應用程式,有時.NET Remoting是正確的途徑
*如果必須建立分散式Transaction及進階服務,必須使用Enterprise Services,它是COM+在.NET下的繼任者
*若要開發最新的Web Services規格如WS-Addressing and WS-Security,開發人員可使用Web Services Enhancements (WSE)
*若要建立queue及Message-based的Windows應用程式會使用MSMQ
各位看到上面幾種技術之所以存在是因為有著獨特而無法取代的優點,這意謂著全部都會的人很少,想全部都精也不太可能,意謂著如選了Web Services要做分散式Transaction就辦不到,對程式設計師而言這是一個互斥的選擇,必須從一堆不完美的技術中挑一個,全挑也可以,但除非你日常工作只需寫這部分,其他工作都不必做的話您才有可能全部精通;因此Indigo開創一個美麗新局面,讓大家不必在零碎不全的技術中掙扎,讓大家學一套通吃的贏家全拿的局面!不好嗎?我認為很好,除此之外Indigo還有一個重責大任,也就是SOA的使命,但今天並不談SOA,主要是讓大家瞭解未來的元件技術會如何走。
因為這陣子我一直在想微軟的元件技術未來會怎麼走,我該押寶哪個?.NET 2.0有沒什麼重大改進?看來好像沒有看到文件有特別說明!也有的人說微軟根本不重視COM+或Enterprise Services,主推Web Services,真的是這樣嗎?事實不然,因為Indigo大將正在建立百萬雄師,調兵遣將,請大家多給它一點支持,多一點掌聲,希望它能成功,而程式設計師也可以輕鬆點了!
註:
(1)我今天還在Google輸入COM+ 2.0、COM+ Next、Com+ future等等字眼,無論如何就是找不到,原因無它,Indigo就是解答,我也認為微軟不必再浪費力氣推一些過渡技術,因為沒有意義,我希望Indigo一次搞定!
(2)我可以暫時Hold住深入學習上述諸多技術的時間,因為目前VS 2005、SQL Server 2005及.NET 2.0才是我當下優先順位,因為Indigo讓我對未來有了信心.
看完之後別忘了留言和大家分享您專業的心得與意見,畢竟DotNet開發聖殿是因為各位精英到訪而顥得光榮有價值!
Indigo參考資料:
Introducing Indigo: An Early Look
Introduction to Building Windows Communication Foundation Services
Windows Communication Foundation
A Guide to Developing and Running Connected Systems with Indigo
Connecting Web Services with System.ServriceModel
發表於 2006/02/27 10:33 AM
|WinFX、Indigo、Avalon[1] | 回應 [8] |引用[0] | 人氣 [1094] | 推薦 [5] |
本文引用網址:
回應
MS 的東西真是追不上。不過版主,看到這篇文章,找了一資料。
我對 Windows Workflow Foundation 這個比較有興趣。雖然還沒有看得很仔細。
這東西不知道能應用到什麼地方。難道不會和Biztalk 衝突嗎?
jack 在新浪部落 於 2006/02/27 08:14 PM 回應
應該不會有衝突,因為它們是針對不同的區塊,其至還會互補協同合作,所以不必過份擔心!
Windows Workflow Foundation應該是包含在WinFX之中(我沒記錯的話),但同樣的.NET 3.0大略看看就好,因為可能稍嫌早一點,很多東西還在變動、調整中,甚至最終的策略都還沒定,因為產品都還在Beta中,談定調還早,不到最後一刻可能連比爾蓋茲都不知道,所以安心吧!看看眼前的.NET 2.0能搞定就不錯了^_^
聖殿祭司 在新浪部落 於 2006/02/27 09:55 PM 回應
跟著MS和祭司跑步^__^
如此說來(原文還沒看完),Indigo將更為全能而強勁,真叫人神往^_^
祭司,Indigo中文要怎樣翻譯?
版主回覆:
Indigo目前並沒有中文名稱,不過未來應該是會針對"Windows Communication Foundation"取個中文名稱
麗達 在新浪部落 於 2006/03/01 08:34 AM 回應
~~印第糕~~
哈哈
LCM 在新浪部落 於 2006/03/01 10:51 AM 回應
之前只是在微軟.net相關研討會中聽到indigo
並沒有深究這個名詞的重要性
看到祭司您這篇文章,才頓時有所概念這個印地糕的重要性
謝謝
不過誠如前面網友所言,真的追著微軟跑真累
技術不斷翻新,當然也讓我們驚奇不斷
這讓我有種感覺是技術當然要跟著學
只是相對之下,學會某些產業的domain know-how是不是相形之下會更重要些,可以避免被淘汰
一點點小感觸跟大家分享
版主回覆:
呵呵~Domian Know-How的確很重要,尤其是公司愈大,專案愈大,跨部門運作,或跨產業整合沒有Domian Know-How是萬萬不能的,所以身為一個IT人員以外也有必要走出自己的部門,去看看整個公司是如何運作,其他部門所遭遇的困難及瓶頸,再回過頭來反思我的IT技術有什麼可以幫得上忙的地方!
而我覺得domain know-how及技術兩者都要平衡並進,光有 know-how有時會被有技術的人評只會動嘴巴,久而久之有技術的人根本不Support你;而只懂技術的又會被懂 know-how的人看得層次太低,或要建構大系統時產業知識又嫌過少;因此我覺得文(domain know-how)與武(技術)二者不可偏廢,能夠文韜武略是最好的(如果時間及體力允許的話).
此外網站和部落格寫domain know-how是比較不易的,因為產業差異很大,know-how又多,再加上know-how有時很主觀的,不同管理人有不同的解讀觀點彼此不認同,偶一為之寫個一兩篇還可,但要老生常談經常性來一篇並不容易,也沒幾個人想看公司的domain know-how,所以domain know-how自好各自修鍊;而技術文章就比較有標準可談,誤差範圍也較小,好壞也很容易分辨....所以這有點先天限制性的關係^^
hoho 在新浪部落 於 2006/03/01 11:57 AM 回應
同意祭司所言
技術與domain know-how的確不可偏廢
另外小弟今天粗略看完那篇
Introducing Indigo: An Early Look
可以體會到為何祭司特別將indigo提出來談了
不過indigo還真有web service的影子
我想等到indigo正式推出或蔚為風潮之後,
若再回頭過來看現在的web service等技術,
應該會覺得這些都是過渡期的技術吧~
這一篇文章蠻值得推薦的
hoho 在新浪部落 於 2006/03/02 07:03 PM 回應
版主您好,
我是剛接觸WinFX的新手, 不知道在這裡提問合不合適, 請見諒!!
目前我在使用.Net 2005+WinFX SDK,
利用XAML與C#開發GUI, 可是發現一些問題:
1. .NET 2005中並沒有WinFX 或是Avalon的project template, 但是document中卻說會有, 難道, .NET 2005正式版中不提供WinFX嗎?
2. Vista確定會support WinFX嗎?
因為公司目前要請我看新的技術, 但我看的結果似乎現在都還不適合用這些新技術開發使用者介面, 所以想問問您的意見囉!! 謝謝!!
版主回覆:
1.Vista確定會support WinFX沒錯,那是既定的藍圖...不會改了!
2.您問的WinFX 或是Avalon的project template坦白講我還沒有時間試耶...所以沒法回答您的問題.
3.您公司是做什麼的呀?這麼先進,這麼早就開始Study WinFX,是真的有要研發東西,還是只是想評估看看?以你這個時間點您只適合去AMAZON買書回來Study,且你英文要好...英雄是孤獨的,您太早上路了^^,二年後才會成熟...
我目前只先瞭解動向,一來是在寫.NET 2.0的書,二來是Beta版的東西會一改再改,try起來會"浪費"很多心力,連Code都會大改...
以上是我簡單答囉^^
Grace 在新浪部落 於 2006/03/14 03:22 PM 回應
Grace中提到VS2005中沒有開發WinFx的template,這個問題是因為沒有安裝
VS2005的extend,因為WinFx已進入Feb CTP你必須安裝
Orcas CTP(Development Tools for WinFX)
網址 http://www.microsoft.com/downloads/details.aspx?FamilyId=AD0CE56E-D7B6-44BC-910D-E91F3E370477&displaylang=en
另外若你要開發WPF(Avalon),可以考慮windows expression中的
Microsoft Expression Interactive Designer,目前為CTP,可以下載試用,因為 VS2005目前內建的Cider並不好用,仍有些bug....你可以透過EID處理畫面後再用VS2005修改程式
另外WCF也建立了專屬的網站了,Altas Framework March CTP也支援WCF囉
--
期待WPF/E中........
版主回覆:
哈~沒錯,你說的完全正確,可見你Keep是最新的技術資訊,然而像第三代的技術我目前只會自己看,並不會和大家分享,因為一來Beta版程式寫法會一直變來變去,技術文件又很缺乏,若真的要Study像樣的成果會非常的費力,二來是因為.NET 2.0算才剛出來,所有人都還在熟悉或深入瞭解這項技術,所以主體以.NET 2.0技術為主,否則對廣大的讀者會產生技術恐慌,所以站在"安定民心"的立場上,.NET 3.0祭司會替各位做苦工先研究,以後等成熟了大家再撿現成的就行囉!^^
Casear 在新浪部落 於 2006/03/24 02:49 PM 回應
_xyz