突破夢想 Java在微軟云平臺邁出第一步 |
發(fā)布時(shí)間: 2012/8/2 11:29:55 |
本月微軟的架構(gòu)師David Chou將會(huì)在JavaOne的大會(huì)上做一個(gè)演講,主題是在微軟的Azure云平臺上部署Java應(yīng)用?紤]到Azure是典型的基于.Net應(yīng)用的微軟技術(shù)平臺,InfoQ與Chou先生探討了Java能在Azure上做什么,不能做什么。
首先,David Chou鼓勵(lì)開發(fā)人員把Azure看作“另一個(gè)基于Windows服務(wù)器的開發(fā)環(huán)境,你可以往上部署代碼...其模型可以理解為一個(gè)巨大的zip文件。如果你能把應(yīng)用放入一個(gè)閃存驅(qū)動(dòng)器,而且還能從驅(qū)動(dòng)器中啟動(dòng)應(yīng)用,那么就可以在Azure上運(yùn)行你的應(yīng)用了”。理論上這意味著只要Java開發(fā)人員為自己的應(yīng)用綁定完整的JRE,然后寫個(gè)小的C#引導(dǎo)程序就可以在Azure上運(yùn)行Java了。 但實(shí)際上,一個(gè)典型的Java程序必須克服一些障礙才能運(yùn)行。據(jù)Chou先生所言,依賴Java的NIO功能或使用了內(nèi)部網(wǎng)絡(luò)通信(例如Jboss集群)的應(yīng)用是不能在Azure的網(wǎng)絡(luò)沙箱內(nèi)運(yùn)行的。 為了說明這些限制,Chou先生描述了他是如何讓一個(gè)基于Jetty的應(yīng)用程序運(yùn)行在Azure上的: 1. 使用Visual Studio創(chuàng)建Azure應(yīng)用框架; 2. 把Jetty NIO ChannelConnector換為阻塞的IO ChannelConnector; 3. 以C#程序員的視角編寫邏輯代碼找到內(nèi)部和外部端口,并用正確的端口參數(shù)啟動(dòng)Jetty; 4. 在Java應(yīng)用的包內(nèi)綁定Jetty應(yīng)用容器和JRE; 5. 把Jetty的配置中涉及寫文件系統(tǒng)的信息全部注釋掉(這是個(gè)可選項(xiàng),但如果你想繞過它,就需要編寫更 多的C#代碼)。 Chou先生認(rèn)為目前在Azure上進(jìn)行Java開發(fā)具備如下特點(diǎn): 這是漫長旅途中的第一步,我感覺又回到了剛開始用Java開發(fā)的時(shí)候,而且我們沒有IDE集成開發(fā)環(huán)境。構(gòu)建客戶端應(yīng)用時(shí)我們不得不使用文本編輯器處理AWT,F(xiàn)在的階段是:我們可以使用Java和部署一個(gè)完整的Java應(yīng)用,但事實(shí)上還有很大的改進(jìn)空間。 4季度會(huì)發(fā)布SDK1.3版本,Chou先生保證開發(fā)人員會(huì)更容易使用網(wǎng)絡(luò)沙箱,減少限制,并提供更多的管理回調(diào)機(jī)制,用來啟動(dòng)進(jìn)程、解壓縮、用C#腳本引導(dǎo)應(yīng)用。當(dāng)問道哪種類型的用戶試圖把Java部署到Azure上時(shí),Chou先生介紹了Domino's Pizza項(xiàng)目,微軟提供幫助把基于Tomcat的應(yīng)用遷移到了Azure上。除了把應(yīng)用遷移到Azure的計(jì)算資源上,同時(shí)也把數(shù)據(jù)存儲(chǔ)遷移到了微軟的云存儲(chǔ)中。這次遷移的動(dòng)機(jī)是為了解決晚餐期間超過50%的交通高峰期,特別是在周五和周日的超級杯(美式足球冠軍)。當(dāng)問及這個(gè)試點(diǎn)項(xiàng)目是否著手實(shí)施了,他表示該項(xiàng)目仍處于構(gòu)思階段。 總的來說,如果你是個(gè)Java開發(fā)人員,而且安裝了VisualStudio,同時(shí)還有一個(gè)對網(wǎng)絡(luò)需求不敏感的Web應(yīng)用,該應(yīng)用沒有使用太多的J2EE特性,那么你可以嘗試將其部署到Azure的云上。其他人最好等年底SDK1.3的發(fā)布。想了解更多信息,請參加JavaOne周四早八點(diǎn)Chou先生的演講。 本文出自:億恩科技【www.allwellnessguide.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |