1)管理虛擬化:有形的組織型管理和虛擬的IT流程管理相結(jié)合管理模式;
2)制造虛擬化:由生產(chǎn)線工人和由程序控制的機器人相結(jié)合的生產(chǎn)模式;
3)渠道虛擬化:由實體銷售店和虛擬的網(wǎng)上銷售相結(jié)合的渠道管理模式;
4)服務(wù)虛擬化:實體保養(yǎng)維修和遠程診斷,軟件更新相結(jié)合的服務(wù)模式;
5)組織虛擬化:垂直的組織機構(gòu)和橫向的項目型組織機構(gòu)相結(jié)合的企業(yè)組織模式。
2009年10月29日 #
@echo off
echo set sh=WScript.CreateObject("WScript.Shell") >telnet_tmp.vbs
echo WScript.Sleep 3000 >>telnet_tmp.vbs
rem ----------------UNIX IPAddress
echo sh.SendKeys "open 10.0.18.100{ENTER}" >>telnet_tmp.vbs
echo WScript.Sleep 3000 >>telnet_tmp.vbs
rem ----------------userID
echo sh.SendKeys "root{ENTER}" >>telnet_tmp.vbs
echo WScript.Sleep 3000 >>telnet_tmp.vbs
rem ----------------password
echo sh.SendKeys "root{ENTER}" >>telnet_tmp.vbs
echo WScript.Sleep 3000 >>telnet_tmp.vbs
echo sh.SendKeys "ls {ENTER}">>telnet_tmp.vbs
start telnet
cscript //nologo telnet_tmp.vbs
rem del telnet_tmp.vbs
很久沒有動手寫WebService了,這次,借項目間隙,對系統(tǒng)進行一個小改造,將一部分功能使用WS進行封裝,為下一步異構(gòu)系統(tǒng)集成打下基礎(chǔ)。
但在WS化時,由于日久生疏,一個小小的WS化變動,卻花了整整好幾天時間!為此,狠下以來,將其過程進行記錄,以便下次參考。
WS整體流程:
以下分別介紹:
1、設(shè)計和實現(xiàn)WebService服務(wù)端功能組件,用于統(tǒng)一處理針對本應(yīng)用系統(tǒng)所需進行WebService化的邏輯實現(xiàn)。并將系統(tǒng)邏輯處理中的對象轉(zhuǎn)成序列化后的String對象,以符合WebService交互標準。
2、根據(jù)SBPApi.java,生成WSDL等:通過Eclipse右鍵菜單中的WebService-->Create Web Service項。完成后,會在web目錄下建立wsdl目錄和SBPApi.wsdl,在WEB-INF目錄下建立(改寫)server-config.wsdd等文件,并完成對web.xml的修改。其操作流程示如下:
3、根據(jù)SBPApi.wsdl,生成WebService客戶端開發(fā)包和部署文件:
1)為不影響已有項目,可另建java Web項目;
2)將wsdl目錄復(fù)制至新項目對應(yīng)的web目錄下;
3)通過eclipse已提供的webService插件(右鍵)功能,生成客戶端開發(fā)包所各文件。此時,所生成的文件與服務(wù)端對象文件結(jié)構(gòu)一至。
4)調(diào)整關(guān)聯(lián)引用文件,將其調(diào)整至客戶端開發(fā)包,從而避免與服務(wù)器端的引用路徑重復(fù)而引發(fā)不便,并將服務(wù)器SDK中已有文件刪除。
5)建立客戶端的快速使用代理SBPClient.java,對WebService服務(wù)端交互工作的SBPApiSoapBindingStub.java進行客戶端封裝,并根據(jù)服務(wù)端中交互對象進行反向工程,其示例結(jié)構(gòu)如下:
6)將clientApi下的所有文件打包后,加入測試項目進行測試。此時,因客戶端所使用的服務(wù)端對象未包含在WebService客戶端開發(fā)包中,因此需要將服務(wù)端對象也一同打包。
7)測試。
4、開發(fā)環(huán)境:Eclipse3.3.1.1 + JDK1.5.06 + Apache Axis version: 1.4
在一次基于多線程的編碼測試中,發(fā)現(xiàn)繼承Runnable接口的線程實現(xiàn)類在運行時并未按預(yù)計啟動多線程,經(jīng)分析和比較后,找出問題所現(xiàn),現(xiàn)將其記錄下來,以供分享。
Java中,多線程編程中的線程編寫,有兩種方式,即擴展Thread基類或繼承Runnable接口;例如:
public class T extends Thread {
public void run() {
……
}
}
public class R implements Runnable {
public void run() {
……
}
}
對于擴展Thread的實現(xiàn)類T,可以使用T.start()來啟動此線程;如
public static void main(String[] args) {
Thread t = new T();
t.start();
}
但對于繼承Runnable接口的實現(xiàn)類R,因接口中并沒有提供直接啟動線程的start()方法,只有一個線程主邏輯運行的run()方法。此時,如執(zhí)行run(),會因為R.run()只是作為此線程實現(xiàn)類的一個方法,并未在主線程之外,啟動另一個線程,從而導(dǎo)致R.run()阻斷主線程繼續(xù)向下執(zhí)行;并未達到多線程運行的目的。
錯誤啟動代碼如下:
public static void main(String[] args) {
R r = new R();
r.run();
}
那么,如何使用另外線程來啟動繼承Runnable接口的實現(xiàn)類呢?以下就是它的正確的使用方式:
public static void main(String[] args) {
R r = new R();
Thread t = new Thread(r);
t.start();
}
此時,需注意,在主線程執(zhí)行時,需等待子線程執(zhí)行,否則,當(dāng)主線程結(jié)束后,子線程也將結(jié)束。
需求:
系統(tǒng)A與系統(tǒng)B分別部署在不同域的兩臺服務(wù)器中,但它們的身份都統(tǒng)一在身份認證服務(wù)器中;身份認證信息以Session方式存貯于各自系統(tǒng)中,并輔以cookie進行使用。
當(dāng)用戶在A系統(tǒng)登錄后,訪問B系統(tǒng)時,由于是跨域訪問,導(dǎo)致身份信息不能正確的傳遞到B系統(tǒng)中,從而致使用戶需在B系統(tǒng)中重新登錄。
解決方案:
處理這類跨域訪問時,我們最先使用從B系統(tǒng)向C通過HttpRequest(類AJAX請求)的方式獲取身份信息,此方式好處是同步處理,方便用使用;但其限制諸多,如需設(shè)置信任站點、用戶訪問確認等,甚至,在對應(yīng)用服務(wù)器作了一次安全升級后,根本無法訪問了。因此,需另行開辟途徑,于是,在同事建議下,我們使用IFrame內(nèi)嵌跨域驗證網(wǎng)頁,來解決此問題。
1、原理設(shè)計:用戶在訪問B系統(tǒng)時,先使用一內(nèi)置的iframe,并將iframe的src指向身份認證服務(wù)器系統(tǒng)代理驗證接口;如果用戶已經(jīng)在A系統(tǒng)中進行過登錄,即A域了中已存在著身份認證信息后,身份認證服務(wù)器中也將具有其身份信息將其附帶著身份認證信息后重定向訪問B系統(tǒng)代理接口;B系統(tǒng)代理驗證接口在接收到由A系統(tǒng)傳遞而來的身份認證信息后,通過身份認證服務(wù)器驗證后,在B系統(tǒng)所在域重建身份認證信息。
2、實現(xiàn)邏輯貼碼:
1)B系統(tǒng)代理驗證接口:
(1)IFrame邏輯貼碼:
(2)JS檢測是否通過認證邏輯貼碼:
2)身份認證服務(wù)器端接口(JSP):
3、注意事項:
1)由于身份認證中心使用cookie作為身份標識,因此,需要用戶在瀏覽器中允許使用cookie的設(shè)置;
2)由于在iframe中進行跨域重定向,因此需在IE安全中的跨域瀏覽子框架項設(shè)為啟用:
4、源碼文件:
……
在windows下進行j2ee項目開發(fā)和部署時,常需要對系統(tǒng)存在問題進行更深入的分析。由此,實時的javacore就是分析的最佳方式之一。但如何以最方便直接的方式產(chǎn)生javacore文件,就是這項工作必需做的準備工作了。
1、通過dos窗口,進入至jdk安裝目錄下的bin目錄中;
2、運行jconsole.exe,并設(shè)置信息輸出的目標文件,以便于分析,否則將直接輸出至屏幕上;
3、連接正在運行的目標jvm;
4、連接后的jconsole如下:
5、通過通過Ctrl+Break組合鍵,產(chǎn)生javacore至指定文件中。
6、下一步就是對所產(chǎn)生的javacore文件進行具體的分析和使用了。
某日,公司進行年度一次的體檢!
在連續(xù)查出10個脂肪肝后,醫(yī)生對第11個進來檢查的人說:“等會,我們的B超機好像出問題了,等檢修后再進行”
這是一個真實的事件,我們這些IT行業(yè)的從業(yè)人員,多坐少動,壓力大,時間長,導(dǎo)致體質(zhì)差的邊醫(yī)生都懷疑機器了!
唉!