雖然Indigo是先前產(chǎn)品代號,現今已正式命名為"Windows Communication Foundation",它的作用是系統之間的Communications and Connect,甚至是微軟實(shí)現SOA技術(shù)藍圖的主角,然而.NET 2.0、VS 2005、SQL Server 2005新一代技術(shù)才剛推出,現在談.NET 3.0的東西會(huì )不會(huì )太早?不趕緊就此打住這個(gè)話(huà)題,寫(xiě)了也沒(méi)幾個(gè)人要看,嗯~是太早了點(diǎn)!談Indigo程式如何寫(xiě)及如何運作是不會(huì )有幾個(gè)人要看,也無(wú)助於日常民生改善,那為何祭司還談?因為我想了很久的一個(gè)問(wèn)題,也困惑我很久的問(wèn)題...就是微軟的元件技術(shù)未來(lái)怎麼走?因為我公司內.NET技術(shù)學(xué)習的RoadMap要如何走,我現在要有一個(gè)明確策略,而目前有那麼多新東西要學(xué),不希望浪費時(shí)間在"過(guò)眼黃花"的東西,押錯寶投資就白費,要把學(xué)時(shí)間與精力花在刀口,什麼樣的刀口?就是現在學(xué)習2年後剛好神功大成的刀口技術(shù)!
那什麼樣的技術(shù)會(huì )符合我的"刀口"定義?而什麼樣的技術(shù)又會(huì )是"昨日黃花",在這祭司很坦白地告訴各位,未來(lái)刀口技術(shù)是"Indigo",而昨日黃花是"COM、DCOM、COM+、.NET Enterprise Service、MSMQ等等",唉呀!相信一堆人看了可能要狂罵,老子是COM+、.NET Enterprise Service的高手,您咀咒我呀!在那滿(mǎn)嘴信口雌黃,說(shuō)什我的技術(shù)是"昨日黃花"...
很對不起各位因為我太老實(shí)了,老實(shí)到許多人沒(méi)法接受,忽視未來(lái)潮流只會(huì )有一個(gè)下場(chǎng),就是抱著(zhù)老舊技術(shù)而希望愈來(lái)愈小,或者是難以融入下一代技術(shù)主流,沒(méi)辦法IT是玩新不玩舊,比誰(shuí)技術(shù)強不比誰(shuí)年資老,而我寫(xiě)這篇主題就是為了說(shuō)明這一切,不只是寫(xiě)給各位看,也是幫我自己洗洗腦,要早些接受現實(shí),不要花費大把時(shí)間儘學(xué)些舊東西,學(xué)習的投資將來(lái)可能效益不大。
各位請別誤會(huì )我在鼓吹COM+、.NET Enterprise Service大家應現在趕快丟棄,相反的這些東西很多專(zhuān)案及企業(yè)仍在運作,不可以丟棄也丟棄不了的,我針對的是"不懂想學(xué)"、"只懂一點(diǎn)"、"公司將來(lái)有打算導入"這些技術(shù)的朋友,你們可以考慮是否策略性地暫時(shí)Hold住,因為學(xué)習新東西是會(huì )有"時(shí)間與精力"排擠效應的,學(xué)了這些蠻深澀的東西,相對的學(xué).NET 2.0、VS 2005、SQL Server 2005新一代技術(shù)時(shí)間就會(huì )少許多,並且投資報酬率及折舊是逐年大增,一點(diǎn)也沒(méi)有保值;那已學(xué)的朋友就沒(méi)有這層顧忌,相信你們對於這些技術(shù)的投資在轉換學(xué)習Indigo技術(shù)會(huì )相對容易上手與理解。
OK讓我們的立即來(lái)檢驗祭司是吹牛還是微軟真的策略如此,首先我要引證的文章是微軟"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).
(點(diǎn)圖放大)
OK....各位可以清楚地在上表中看見(jiàn)Indigo將會(huì )集所有功能之大成,印證祭司不是在那吹牛;那為何微軟必須推出一個(gè)功能超強的Indigo,純粹為了展現其無(wú)所不能的技術(shù)水準嗎?並不是的,坦白說(shuō)現今上面的這些技術(shù)的確必須有人好好管理管理,因為多年來(lái)各自為政各成山頭,該是將它們大一統的時(shí)機了,那位領(lǐng)軍的大將正是Indigo,接著(zhù)讓我們來(lái)看看上面那段英文是如何陳述現有這些通訊技術(shù)的缺失,您就會(huì )瞭解Indigo對程式設計師及企業(yè)的重大意義,說(shuō)明如下:
在.NET Framework發(fā)行之初包含了數種建立分散式應用系統的技術(shù)(上表列出這這些技術(shù)),並說(shuō)明為何需要使用這些技術(shù)的主要理由,例如:
*建立具基本交互操作的Web Services,最佳的選擇就是ASP.NET Web Service(.ASMX)
*連結兩個(gè)以.NET Framework為基礎的應用程式,有時(shí).NET Remoting是正確的途徑
*如果必須建立分散式Transaction及進(jìn)階服務(wù),必須使用Enterprise Services,它是COM+在.NET下的繼任者
*若要開(kāi)發(fā)最新的Web Services規格如WS-Addressing and WS-Security,開(kāi)發(fā)人員可使用Web Services Enhancements (WSE)
*若要建立queue及Message-based的Windows應用程式會(huì )使用MSMQ
各位看到上面幾種技術(shù)之所以存在是因為有著(zhù)獨特而無(wú)法取代的優(yōu)點(diǎn),這意謂著(zhù)全部都會(huì )的人很少,想全部都精也不太可能,意謂著(zhù)如選了Web Services要做分散式Transaction就辦不到,對程式設計師而言這是一個(gè)互斥的選擇,必須從一堆不完美的技術(shù)中挑一個(gè),全挑也可以,但除非你日常工作只需寫(xiě)這部分,其他工作都不必做的話(huà)您才有可能全部精通;因此Indigo開(kāi)創(chuàng )一個(gè)美麗新局面,讓大家不必在零碎不全的技術(shù)中掙扎,讓大家學(xué)一套通吃的贏(yíng)家全拿的局面!不好嗎?我認為很好,除此之外Indigo還有一個(gè)重責大任,也就是SOA的使命,但今天並不談SOA,主要是讓大家瞭解未來(lái)的元件技術(shù)會(huì )如何走。
因為這陣子我一直在想微軟的元件技術(shù)未來(lái)會(huì )怎麼走,我該押寶哪個(gè)?.NET 2.0有沒(méi)什麼重大改進(jìn)?看來(lái)好像沒(méi)有看到文件有特別說(shuō)明!也有的人說(shuō)微軟根本不重視COM+或Enterprise Services,主推Web Services,真的是這樣嗎?事實(shí)不然,因為Indigo大將正在建立百萬(wàn)雄師,調兵遣將,請大家多給它一點(diǎn)支持,多一點(diǎn)掌聲,希望它能成功,而程式設計師也可以輕鬆點(diǎn)了!
註:
(1)我今天還在Google輸入COM+ 2.0、COM+ Next、Com+ future等等字眼,無(wú)論如何就是找不到,原因無(wú)它,Indigo就是解答,我也認為微軟不必再浪費力氣推一些過(guò)渡技術(shù),因為沒(méi)有意義,我希望Indigo一次搞定!
(2)我可以暫時(shí)Hold住深入學(xué)習上述諸多技術(shù)的時(shí)間,因為目前VS 2005、SQL Server 2005及.NET 2.0才是我當下優(yōu)先順位,因為Indigo讓我對未來(lái)有了信心.
看完之後別忘了留言和大家分享您專(zhuān)業(yè)的心得與意見(jiàn),畢竟DotNet開(kāi)發(fā)聖殿是因為各位精英到訪(fǎng)而顥得光榮有價(jià)值!
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
jack 在 新浪部落 於 2006/02/27 08:14 PM 回應
聖殿祭司 在 新浪部落 於 2006/02/27 09:55 PM 回應
版主回覆:
Indigo目前並沒(méi)有中文名稱(chēng),不過(guò)未來(lái)應該是會(huì )針對"Windows Communication Foundation"取個(gè)中文名稱(chēng)
麗達 在 新浪部落 於 2006/03/01 08:34 AM 回應
LCM 在 新浪部落 於 2006/03/01 10:51 AM 回應
版主回覆:
呵呵~Domian Know-How的確很重要,尤其是公司愈大,專(zhuān)案愈大,跨部門(mén)運作,或跨產(chǎn)業(yè)整合沒(méi)有Domian Know-How是萬(wàn)萬(wàn)不能的,所以身為一個(gè)IT人員以外也有必要走出自己的部門(mén),去看看整個(gè)公司是如何運作,其他部門(mén)所遭遇的困難及瓶頸,再回過(guò)頭來(lái)反思我的IT技術(shù)有什麼可以幫得上忙的地方!
而我覺(jué)得domain know-how及技術(shù)兩者都要平衡並進(jìn),光有 know-how有時(shí)會(huì )被有技術(shù)的人評只會(huì )動(dòng)嘴巴,久而久之有技術(shù)的人根本不Support你;而只懂技術(shù)的又會(huì )被懂 know-how的人看得層次太低,或要建構大系統時(shí)產(chǎn)業(yè)知識又嫌過(guò)少;因此我覺(jué)得文(domain know-how)與武(技術(shù))二者不可偏廢,能夠文韜武略是最好的(如果時(shí)間及體力允許的話(huà)).
此外網(wǎng)站和部落格寫(xiě)domain know-how是比較不易的,因為產(chǎn)業(yè)差異很大,know-how又多,再加上know-how有時(shí)很主觀(guān)的,不同管理人有不同的解讀觀(guān)點(diǎn)彼此不認同,偶一為之寫(xiě)個(gè)一兩篇還可,但要老生常談經(jīng)常性來(lái)一篇並不容易,也沒(méi)幾個(gè)人想看公司的domain know-how,所以domain know-how自好各自修鍊;而技術(shù)文章就比較有標準可談,誤差範圍也較小,好壞也很容易分辨....所以這有點(diǎn)先天限制性的關(guān)係^^
hoho 在 新浪部落 於 2006/03/01 11:57 AM 回應 
hoho 在 新浪部落 於 2006/03/02 07:03 PM 回應 
版主回覆:
1.Vista確定會(huì )support WinFX沒(méi)錯,那是既定的藍圖...不會(huì )改了!
2.您問(wèn)的WinFX 或是Avalon的project template坦白講我還沒(méi)有時(shí)間試耶...所以沒(méi)法回答您的問(wèn)題.
3.您公司是做什麼的呀?這麼先進(jìn),這麼早就開(kāi)始Study WinFX,是真的有要研發(fā)東西,還是只是想評估看看?以你這個(gè)時(shí)間點(diǎn)您只適合去AMAZON買(mǎi)書(shū)回來(lái)Study,且你英文要好...英雄是孤獨的,您太早上路了^^,二年後才會(huì )成熟...
我目前只先瞭解動(dòng)向,一來(lái)是在寫(xiě).NET 2.0的書(shū),二來(lái)是Beta版的東西會(huì )一改再改,try起來(lái)會(huì )"浪費"很多心力,連Code都會(huì )大改...
聯(lián)系客服