軟體開發人的亂想

我今天有感所以要發,以自認軟體開發人的身份談談網路軟體產業的環境~

最近接觸IBM的產品,也參加了幾場微軟研討會,還有其他雜七雜八的事之後~

就在今天微軟的WSS的研討會中,讓我發覺了一些現象~

就如同台灣微軟的人說的,我發現軟體界一些身為領導地位的頭頭,

在如同台灣這樣電腦、網路普及的地方,不斷讓他們賺錢而支撐這些頭頭的,

我相信不會是他們那些提供Service與Support的網站(如Live、Spaces等,除非那就是他領先的服務,如Google)~

而是他們賣給企業的東西(如OS、Server、Application Server、DB...等)~

從這裡又可以發現幾件事~

這些公司有了這些產品後,再來就靠業務、合作夥伴,就可以從企業取得不少資金了~

有這些資金與名聲,就可以招攬更多生意與人才,不斷增進自己的產品可用性與重要性~

想要提供更多更好的額外服務,也就不再是難事了~

反觀合作夥伴、一般軟體開發者、其他服務提供者,大都依附著這些龍頭求生~或是自己苦力蠻幹~

有的良性循環,但也有的一不小心,也會出現惡性循環~

Web 2.0的新興網站下,能夠提供使用者免費服務,的確是我們的福音~但這些免費服務之下,

大的服務提供者除了藉這些服務帶來的商機,背後其實還有著額外的資金支援~

但只靠這些服務帶來的商機過活的公司呢...

說真的~在台灣,軟體產業~由其是這些想從夾縫中努力開創一片天的人,

真的是很困難~

以無名為例,或許他們的服務不夠穩定,處理事件的方式不夠成熟,商業做法不夠圓滑~

但我設身處地的想想,身為資工的學生,

這輩子學校也沒真正讓我們知道當伺服器的使用者高過一個上限時要怎麼做才是最好的~

學校也沒教怎麼樣讓使用者與服務提供者能雙贏...

我只能說,國內能提供免費服務的人(黑米、無名、I'm TV、樂多、天空、Pixnet、UrMap...等),真的值得為你們鼓勵~

希望這些網站在大家的監督、提供意見、相互支持的狀態下,都能越來越好~

我想這樣才是使用者們所樂見的~

安裝WBMonitor 6.0.1

老話~我不是IBM官方人員,所以只能從"多"次失敗經驗中,找出結果~

目前本篇還在修訂中~

WebSphere Business Monitor是IBM BDD Solution中的一環,用來監控、收集SOA的Process執行結果,藉此資料做為Process改進的資訊

我前目前是採用information center中的第二種安裝架構(Second scenario),不過我發現如果要符合某些範例,最好把Monitor Server與DB Server放在一起,方便練習

安裝環境

根據IBM的說明,要安裝在Windows Server上,所以我用Windows 2000 Advance Server

我後來又試了用XP安裝,他會警告你這樣安裝只能測試,不足以當真正的產品服務,我要試試才能知道會有什麼結果

注意事項

使用Monitor的 Launchpad 安裝,所以有些設定必須按照它的規定

  • 安裝時,各個需安裝的元件必需放在指定資料夾(請參考)
  • Windows的電腦名稱必須不大於8個字,至 控制台→系統→網路識別→內容 修改
  • 用 Launchpad 安裝 DB2 前系統中不能有db2admin的帳號,否則會安裝失敗
  • DB2安裝後要關掉所有的視窗,然後再重新啟動Launchpad

安裝過程摘要記錄

Monitor DB Server(請參考)&Monitor Server(請參考)

  • 電腦名稱:WBMS1
  • 安裝J2RE 1.4.2
  • 執行Monitor Launchpad,選擇【建立資料庫】
  • 安裝DB2 8.2.1,後關掉Monitor Launchpad,執行"db2start"指令
  • 執行Monitor Launchpad
  • 安裝Cube View 8.2.1
  • 安裝Monitor DB-State、Repository、Runtime、Historical 安裝完DB Server的所有東西大約花了我一個半小時(不含作業系統)
  • 選擇【安裝產品】→【監控伺服器】
  • 安裝Process Server 6.0.0,此時會要求輸入CEI資料庫的帳戶資料,用DB2的帳號密碼 這個動作大約會花45分鐘
  • (如果要分開安裝DB與監視伺服器,要先設定DB2 Control Center,加入 WBMDB1中的DB到資料庫伺服器清單中,方法下面會有)
  • 安裝監控伺服器 雖然文件上說這步只要安裝45分鐘,但我安裝了約一個半小時

Monitor Server安裝驗證

文件中有些驗證步驟,我有空再補上

Monitor Dashboard Client(請參考)

  • 電腦名稱:WBMD1
  • 安裝J2RE 1.4.2
  • 執行Monitor Launchpad,選擇【安裝產品】→【監視儀表】
  • 安裝DB2 8.2.1,後關掉Monitor Launchpad,執行"db2start"指令
  • 執行Monitor Launchpad
  • 安裝Cube View 8.2.1
  • 安裝WAS 6.0.2.3
  • 安裝Portal 5.1.0.2
  • 安裝DB2 Alphablox 8.3
  • 使用DB2 Control Center,加入 WBMDB1到資料庫伺服器清單中
    • 在DB2 Control Center中,右鍵選擇【All Databases】→【Add】
    • 輸入Hostname:WBMS1
    • 點選Search後,下方會列出資料庫有哪些
    • 分別選擇 Repository、Runtime、Historical,點選【Apply】就會加入到資料庫伺服器清單中
  • 安裝儀表板客戶端
    • 這裡還要輸入許多Portal還有Process server的資訊 整個Dashboard Client的安裝相當耗時間,大約要7小時以上吧(我已經等到懶得仔細算了,要不是有人逼我,我大概灌一次失敗就放棄了...)

Monitor Dashboard Client安裝驗證

文件中有些驗證步驟,我有空再補上

Monitor Server 與Process Server的SIB連結設定

文件中有些ㄕ步驟,我有空再補上

參考資料

安裝完Windows後常用工具整理

系統與文書

  • MS-Office 雖然想用用看open的,不過學校還是以此為主,加上沒時間學,所以不得不用這個
  • UltraEdit 老牌編輯工具,要註冊,但好用
  • ConvertZ 簡體繁體轉換工具,可以轉換檔名、檔案內容、剪貼簿...等
  • WinRAR 壓縮軟體
  • Unlocker(英文軟體) 有時刪檔刪不了,又不知啥程式開著它,就用這軟體試試吧(教學)
  • Process Explorer 進階版工作管理員,它允許使用者在所提供的視窗中觀看每一個程序的原始所在位址、佔用記憶...找出有沒有後門程式
  • Adobe Acrobat 雖然曾經用過一個免費的PDF讀取工具叫Foxit PDF Reader,不過我上次用時,覺得開的快,有些功能卻有問題,例如複製、搜尋等~所以還是用這個
  • Daemon Tools(英文軟體有中文化) 不能產生光碟的映像檔,但能讀取的免費軟體,很多人都用這個唷(Daemon Tools 的使用教學)
  • FastCopy(英文軟體有中文化) 我個人常用的複製檔案軟體,有人問我真的快嗎?我也不知,不過有一點可以肯定的~他能幫我做到輕鬆的排程複製,這樣硬碟磁頭就不會跳來跳去了
  • Total Copy(英文軟體有中文化) 說到複製,另一個能夠續傳、限制速度的複製軟體就是這個了,區網複製時很好用
  • MDIE(英文軟體有中文化版) 瀏覽器與檔案總管工具,可取代Windows內建檔案總管,重點是支援分頁與滑鼠手勢(中文版下載網址)
  • freeCommander(英文軟體有官方中文語言檔) 管理檔案用的,一次處理兩個資料夾(可同步),可惜只支援電腦內的磁碟機,不能用網芳
  • Nero 燒錄軟體,雖然要買,不過很多燒錄器會附上
  • FinalBurner (英文軟體) 免費的燒錄軟體,功能還算完整,可燒CD、DVD、音樂、影片...等,我最近才看到,還沒有仔細研究,這家軟體公司還有出了其他免費的相關軟體
  • Ignition 燒錄檔案不浪費,能夠幫使用者最佳化光碟儲存的工具軟體,不過要燒時要搭配他們家的付費軟體,所以我當計算軟體用
  • CD Index CD內容管理,幫你建你的CD索引庫
  • ATnotes 桌面便利貼,可定時提醒唷
  • Birthday(英文軟體) 生日提醒器,管理我朋友的生日

影音相關

網路工具

  • Firefox & KKFox Firefox是由Mozilla所提供免錢的瀏覽器,同時也提供很多聰明且方便的擴充套件;KKFox以FireFox為核心,把常會用到的外掛都放上去了
  • Windows Live Messenger 我想不用多做說明吧
  • SharpReader(英文) & GreatNews(多國含中文) & RSSOwl(多國含中文)

    RSS 的讀取器。(請參考 比較7個RSS Reader與GreateNews使用教學)

  • FlashGet 越做功能越多的下載軟體,以前收費,現在也變免費軟體了,最新版還支援BT下載。
  • BitComet BT的下載工具,還滿容易用的
  • eMule P2P軟體
  • CuteFTP & FileZilla CuteFTP是要付錢的FTP Client,但牌子老,功能完整。也可以用不用錢的FileZilla,也還滿好用的
  • POP Peeper 新郵件來系統列就會有圖示改變, 除了支援POP3外,還囊括了較知名的 Hotmail 、 MSN 、 Yahoo 、 Gmail 等
  • TCPView 微軟旗下某部門提供的工具,幫你看看你電腦有哪些人與你連線,架站的人一定要試試
  • NetSetMan(英文軟體) 切換網路設定,將網路設定值儲存起來,再在需要的時候,再呼叫出某一特定已儲存的網路設定值
  • VDownloader(英文軟體) 可以針對Google VideoYoutubeDailyMotio 等網站的FLV影片,下載與轉檔(AVI或Mpg),一次搞定。
  • RapGet 能夠下載存放於 RapidShare 、 mytemp 、 turboupload...等數十個知名的免費空間上的檔案
  • JWGet 抓圖機,無名、Xuite、PCHOME、YAHOO正妹相簿一次抓下來
  • PicaLoader 更進階的抓圖機,不過要錢唷

MS-DOS commands與磁碟定期重組

相信有很多比我玩電腦玩更熟的人,一定知道命令提示字元可以為我們做很多事。

像我有時懶得寫程式,但又想有效率的叫電腦做些瑣碎的事,這時MS-DOS command就能幫上忙了~

以下我分享一些我常用的命令:磁碟定期掃瞄重組、立即重新啟動、XP懶人開機法、移動檔案

chkdsk】【defrag】磁碟定期掃瞄重組

先針對設定步驟說明,再對用到的指令說明

設定步驟

  • 開啟 開始\程式集\附屬應用程式\【記事本】
  • 輸入以下內容
start /wait chkdsk c: /f
start /wait defrag c:
start /wait chkdsk d: /f
start /wait defrag d:
  • 儲存檔案,附檔名為.bat,如【C:\DefragAll.bat】
  • 開啟 開始\程式集\附屬應用程式\系統工具\排定的工作
  • 新增排定的工作, 瀏覽到剛才的.bat檔,然後設定執行時間,輸入你登入的帳號密碼等...
  • 完成
在這裡要用到三種MS-DOS指令
  • start:執行另一程式,我下wait參數,代表被呼叫的程式結束後才繼續執行
  • chkdsk:掃瞄磁碟,後面帶c:就掃瞄C碟
  • defrag:重組磁碟,後面帶c:就重組C碟

PS.順道一提,前陣子看到一個免費的重組工具,可以針對資料夾重組,叫PowerDefrag2005,有需要的人也可以玩玩看

shutdown】立即重新啟動

不知大家是否像我一樣懶,有時電腦變慢要重新啟動,可是要按好幾下按鍵或滑鼠,在實在很麻煩~

我的做法

  • 開啟 開始\程式集\附屬應用程式\【記事本】
  • 輸入以下內容
pause
shutdown -r -t 0 
  • 儲存檔案到桌面,附檔名為.bat,如【RestartNow.bat】

當你要重新啟動時,就點兩下這個Bat檔

然後跳出黑色視窗要你按一下任意鍵,當你按下時就會重新啟動了

在此用到的兩個指令

  • pause:跟重新開機沒有直接關係,只是怕你有時不小心點到這個工作時,不會真的馬上重新啟動,如果你要取消,請按【Ctrl+C】
  • shutdown:用來關機的指令,不過按照我下的參數,它會很快的重新啟動電腦

control】XP懶人開機法

既然都談到懶人重新開機的方式,不免談談開機的方式~

如果你是用windows xp的話,電腦中只要有2個以上使用者帳號,或是你有設定密碼,就會要求你選擇使用者,輸入密碼~

但如果你很確信不會有人亂動你電腦,或是你希望它開機後自己登入~

那就用這方法吧~

  • 開始→【執行】
  • 輸入【control userpasswords2】
  • 出現「使用者帳戶」對話盒後,先點選你要讓XP自動登入的帳號,使該帳號成反白狀態後,再取消「必須輸入使用者名稱和密碼,才能使用這台電腦」左邊的勾選狀態,最後再按下〔套用〕,讓電腦以你選擇的帳號自動登入XP
  • 出現「自動登入」對話盒後,依序在「密碼」、「確認密碼」欄中輸入你原本的XP登入密碼,如果之前沒設定密碼,就留空白不管他。設定好之後,再按下〔確定〕,回到「使用者帳戶」對話盒後,一樣按下〔確定〕完成全部設定工作。

以後,當你再重開機時,電腦便會自動登入WindowsXP,不用再花時間輸入密碼啦!

move】移動檔案

移動檔案這件事可能就不是那麼多人會用到,不過我自己會用,所以就順便介紹,下這個命令的方式如下

move "來源檔" "目的地"

例如我希望我D:\Temp的資料夾下,所有的內容要放到 "E:\New Data "資料夾下

我就會寫

move "D:\Temp\*" "E:\New Data "

這裡可以注意到兩件事

  • 我用雙引號把路徑匡起來,這樣就算有空白在裡面的路徑也沒關係
  • 這樣下命令只會移動一層的資料,也就是說有子目錄它不會移動

參考資料

用.Net Compact Framework 1.1開發時開外部程式

之前有學弟為了在一台有Win CE環境的PDA上開發應用程式傷腦筋

原因是Visual Studio 2005提供.Net Compact Framework 2.0 無法發佈在比較舊版的Win CE上,

所以就使用.Net Compact Framework 1.1在開發,然後就出現了一個問題,

要呼叫外部程式的話,去MSDN找現有函式只有2.0的才有,

1.1的就要用我下面說的東西了~

PS.我在Google上找 VB 範例,能直接用不會有錯的都不在前面的搜尋結果,讓我花了不少功夫~

開發環境

  • Microsoft Visual Studio 2005
  • 語言:VB

程式功能

  • 在.Net Compact Framework 1.1的環境下,使用VB程式呼叫外部的程式
  • 等外部程式結束後,才繼續往下一行程式執行

開發要點

開一個模組,來放下面的程式

Module MyProcessCreater



 Declare Function CreateProcess Lib "CoreDll.dll" (ByVal imageName As String, ByVal cmdLine As String, ByVal lpProcessAttributes As IntPtr, ByVal lpThreadAttributes As IntPtr, ByVal boolInheritHandles As Int32, ByVal dwCreationFlags As Int32, ByVal lpEnvironment As IntPtr, ByVal lpszCurrentDir As IntPtr, ByVal si As Byte(), ByVal pi As ProcessInfo) As Integer



 Declare Function WaitForSingleObject Lib "CoreDll.dll" (ByVal Handle As IntPtr, ByVal Wait As Int32) As Int32



 Declare Function GetLastError Lib "CoreDll.dll" () As Int32



 Declare Function CloseHandle Lib "CoreDll.dll" (ByVal Handle As IntPtr) As Int32





 Public Class ProcessInfo

     Public hProcess As IntPtr

     Public hThread As IntPtr

     Public ProcessId As Int32

     Public ThreadId As Int32

 End Class 'ProcessInfo





 Public Function CreateProcess(ByVal ExeName As String, ByVal CmdLine As String, ByVal pi As ProcessInfo) As Boolean

     Dim INFINITE As Int32

     INFINITE = &HFFFFFFFF



     Dim WAIT_OBJECT_0 As Int32 = 0

     Dim result As Int32



     If pi Is Nothing Then

         pi = New ProcessInfo

     End If

     Dim si(128) As Byte



     result = CreateProcess(ExeName, CmdLine, IntPtr.Zero, IntPtr.Zero, 0, 0, IntPtr.Zero, IntPtr.Zero, si, pi) '呼叫外部程式

     If 0 = result Then

         Return False

     End If

     result = WaitForSingleObject(pi.hProcess, INFINITE) '等外部程式結束

     CloseHandle(pi.hThread)

     CloseHandle(pi.hProcess)

     If WAIT_OBJECT_0 <> result Then

         Return False

     End If

     Return True

 End Function



End Module 

然後在要呼叫的地方加入以下程式

CreateProcess("要呼叫的程式路徑", "", Nothing)

第一個參數:"要呼叫的程式路徑" 如"\Windows\iexplore.exe"

第二個參數:是外部程式用的參數

第三個參數:我也不清處怎麼用

參考資料

'方法1
returnID = Shell("D:\run.txt", vbNormalFocus)

'方法2
System.Diagnostics.Process.Start ("D:\run.txt")

'方法3
Dim myProcess As Process = System.Diagnostics.Process.Start
("D:\run.txt")
MessageBox.Show(myProcess.ProcessName)

'方法4
Dim psInfo As New _
System.Diagnostics.ProcessStartInfo _
("D:\run.txt")
psInfo.WindowStyle = _
System.Diagnostics.ProcessWindowStyle.Normal
Dim myProcess As Process = _
System.Diagnostics.Process.Start(psInfo)

'方法5
Dim myProcess As System.Diagnostics.Process = _
new System.Diagnostics.Process()
myProcess.StartInfo.FileName = _
"D:\run.txt"
myProcess.StartInfo.WindowStyle = _
System.Diagnostics.ProcessWindowStyle.Normal
myProcess.Start

這裡是關於技術的手札~

也歡迎大家到

倫與貓的足跡



到噗浪來

關心一下我唷!
by 倫
 
Copyright 2009 倫倫3號Beta-Log All rights reserved.
Blogger Templates created by Deluxe Templates
Wordpress Theme by EZwpthemes