lbom

          小江西

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            18 隨筆 :: 21 文章 :: 69 評論 :: 0 Trackbacks

          2009年10月29日 #

          昨日年終總結(jié)會,公司總裁給出IT產(chǎn)業(yè)未來發(fā)展的幾個新趨勢,值得我們這些從事軟件工作的人員沉思,現(xiàn)對他的發(fā)言摘錄如下:
          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è)組織模式。
          posted @ 2014-01-24 22:28 lbom 閱讀(287) | 評論 (0)編輯 收藏

          今天,花費1個小時,研究了一下在Windows下,使用Telent登錄至UNIX的腳本,現(xiàn)將其貼下,以供下次使用(tt.bat)

           

           

          @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

           

          posted @ 2011-10-10 16:02 lbom 閱讀(4030) | 評論 (1)編輯 收藏

          1)啟動LiveWriter客戶端

          2)添加Blog帳戶:

          image image

          3)設(shè)置日志類型:

          image

          4)連接測試

          posted @ 2010-09-25 18:02 lbom 閱讀(315) | 評論 (0)編輯 收藏

          很久沒有動手寫WebService了,這次,借項目間隙,對系統(tǒng)進行一個小改造,將一部分功能使用WS進行封裝,為下一步異構(gòu)系統(tǒng)集成打下基礎(chǔ)。

          但在WS化時,由于日久生疏,一個小小的WS化變動,卻花了整整好幾天時間!為此,狠下以來,將其過程進行記錄,以便下次參考。

           

          WS整體流程:

          clip_image001

          以下分別介紹:

          1、設(shè)計和實現(xiàn)WebService服務(wù)端功能組件,用于統(tǒng)一處理針對本應(yīng)用系統(tǒng)所需進行WebService化的邏輯實現(xiàn)。并將系統(tǒng)邏輯處理中的對象轉(zhuǎn)成序列化后的String對象,以符合WebService交互標準。

          clip_image002

          2、根據(jù)SBPApi.java,生成WSDL等:通過Eclipse右鍵菜單中的WebService-->Create Web Service項。完成后,會在web目錄下建立wsdl目錄和SBPApi.wsdl,在WEB-INF目錄下建立(改寫)server-config.wsdd等文件,并完成對web.xml的修改。其操作流程示如下:

          clip_image003

          3、根據(jù)SBPApi.wsdl,生成WebService客戶端開發(fā)包和部署文件:

          1)為不影響已有項目,可另建java Web項目;

          2)將wsdl目錄復(fù)制至新項目對應(yīng)的web目錄下;

          3)通過eclipse已提供的webService插件(右鍵)功能,生成客戶端開發(fā)包所各文件。此時,所生成的文件與服務(wù)端對象文件結(jié)構(gòu)一至。

          clip_image004

          4)調(diào)整關(guān)聯(lián)引用文件,將其調(diào)整至客戶端開發(fā)包,從而避免與服務(wù)器端的引用路徑重復(fù)而引發(fā)不便,并將服務(wù)器SDK中已有文件刪除。

          clip_image005

          5)建立客戶端的快速使用代理SBPClient.java,對WebService服務(wù)端交互工作的SBPApiSoapBindingStub.java進行客戶端封裝,并根據(jù)服務(wù)端中交互對象進行反向工程,其示例結(jié)構(gòu)如下:

          clip_image006

          6)將clientApi下的所有文件打包后,加入測試項目進行測試。此時,因客戶端所使用的服務(wù)端對象未包含在WebService客戶端開發(fā)包中,因此需要將服務(wù)端對象也一同打包。

          7)測試。

          4、開發(fā)環(huán)境:Eclipse3.3.1.1 + JDK1.5.06 + Apache Axis version: 1.4

          posted @ 2010-04-02 15:45 lbom 閱讀(2171) | 評論 (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é)束。

          posted @ 2010-03-10 16:48 lbom 閱讀(1584) | 評論 (2)編輯 收藏

          需求:

          系統(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)中重新登錄。

          clip_image001[6]

          解決方案:

          處理這類跨域訪問時,我們最先使用從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邏輯貼碼:

          clip_image002[6]

          (2)JS檢測是否通過認證邏輯貼碼:

          clip_image003[6]

          2)身份認證服務(wù)器端接口(JSP):

          clip_image004[6]

          3、注意事項:

          1)由于身份認證中心使用cookie作為身份標識,因此,需要用戶在瀏覽器中允許使用cookie的設(shè)置;

          2)由于在iframe中進行跨域重定向,因此需在IE安全中的跨域瀏覽子框架項設(shè)為啟用:

          clip_image005[6]

          4、源碼文件:

          ……

          posted @ 2010-02-08 17:55 lbom 閱讀(3501) | 評論 (3)編輯 收藏

          在windows下進行j2ee項目開發(fā)和部署時,常需要對系統(tǒng)存在問題進行更深入的分析。由此,實時的javacore就是分析的最佳方式之一。但如何以最方便直接的方式產(chǎn)生javacore文件,就是這項工作必需做的準備工作了。

          1、通過dos窗口,進入至jdk安裝目錄下的bin目錄中;

          2、運行jconsole.exe,并設(shè)置信息輸出的目標文件,以便于分析,否則將直接輸出至屏幕上;

          image

          3、連接正在運行的目標jvm;

          image

          4、連接后的jconsole如下:

          image

          5、通過通過Ctrl+Break組合鍵,產(chǎn)生javacore至指定文件中。

          6、下一步就是對所產(chǎn)生的javacore文件進行具體的分析和使用了。

          posted @ 2009-12-10 15:00 lbom 閱讀(2359) | 評論 (2)編輯 收藏

          某日,公司進行年度一次的體檢!

          在連續(xù)查出10個脂肪肝后,醫(yī)生對第11個進來檢查的人說:“等會,我們的B超機好像出問題了,等檢修后再進行”

          這是一個真實的事件,我們這些IT行業(yè)的從業(yè)人員,多坐少動,壓力大,時間長,導(dǎo)致體質(zhì)差的邊醫(yī)生都懷疑機器了!

          唉!

          posted @ 2009-10-29 15:32 lbom 閱讀(333) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 湘潭市| 夏邑县| 民乐县| 洪江市| 金华市| 德昌县| 尉犁县| 合山市| 家居| 石河子市| 常山县| 桃园县| 华阴市| 武鸣县| 东阳市| 同心县| 清丰县| 沙湾县| 莱西市| 丹凤县| 五原县| 焦作市| 德格县| 高雄市| 阳高县| 襄城县| 永城市| 茌平县| 正安县| 昆明市| 临洮县| 宜兰县| 车致| 山东| 马公市| 黔西县| 巩义市| 扎赉特旗| 勐海县| 中山市| 正阳县|