posts - 14,  comments - 22,  trackbacks - 0
            2008年6月16日
          幾經(jīng)輾轉(zhuǎn),我又被安排到了一個新的項目里。
          現(xiàn)在到處缺人啊,我們項目剛完事,所有成員都被別的組瓜分了。

          貌似ERP的產(chǎn)品也很多,SAP的,Oracle的,國內(nèi)有些名聲的有金蝶,用友,金算盤等等吧。
          我們這個項目是和SAP公司合作,使用SAP的軟件產(chǎn)品。
          貌似SAP這個產(chǎn)品非常復(fù)雜。真的是一無所知啊。
          我被分到TR模塊,和SAP公司的顧問,客戶公司的顧問和一些關(guān)鍵用戶一起做。
          先熟悉一下TR是什么;
          TR:treasury的簡寫;是SAP ERP系統(tǒng)中Financial Acounting (FI)模塊的一個子模塊,TR模塊又分為Cash Management(TR-CM)、Cash Budget Management(TR-CB)兩部分。
          先看TR-CM部分吧
          SAP Library中說道:
           

          The topic Input contains an introduction to the menu options: lectronic and manual bank statement, payments, lockbox, electronic and manual check deposit, bill of exchange presentation, and memo records.

          The topic Check contains an introduction explaining the transactions used to compare payment advices, calculate interest, and analyze cashed checks.

          Cash concentration is covered in the topic on Management . In this section you will also find the chapters explaining the payment program, payment requests, bill of exchange presentation, memo records, and the telephone list.

          See Tools for information on the distribution of the Cash Management systems.

          The topic Information System deals with, among other things, the liquidity forecast, which you use to obtain information on customer and vendor payment flows. This section also describes the setup of the cash position and the transactions that affect it. The Cash Management application component uses the cash position to reproduce the activity in bank accounts, while activity in subledger accounts is reproduced using the liquidity forecast.

          Additional topics are: Journal of Single Transactions Enter and Changed, Comparison and Checking, and Reconciling Cash Management.

          The Environment topic describes the procedure for adopting market data in the SAP System. You can do this using the file interface, the real-time datafeed, or the table calculation. The documentation also includes information on worklists and changing master records.

          ---直接copy的
          好了,就知道這么多了,下午再聽SAP的顧問的培訓(xùn)吧。
          posted @ 2008-11-25 11:56 張老三 閱讀(399) | 評論 (0)編輯 收藏

          學(xué)習(xí)MQ(三) 一個實例。
          現(xiàn)在有兩臺機(jī)器A和B,分別安裝了MQ6.0,我要通過MQ進(jìn)行A和B之間的雙向通信。
          我打算分兩步,第一步:實現(xiàn)A到B的數(shù)據(jù)傳輸。
          在A上:
          1、創(chuàng)建隊列管理器 QM_1001。
          2、創(chuàng)建本地隊列 LQ_1001
          3、創(chuàng)建傳輸隊列 XQ_1001
          4、創(chuàng)建遠(yuǎn)程隊列 RQ_1002
          5、創(chuàng)建發(fā)送方通道 1001.1002
          在B上:
          1、創(chuàng)建隊列管理器 QM_1002
          2、創(chuàng)建本地隊列 LQ_1002
          3、創(chuàng)建接收方通道 1001.1002,名字必須與發(fā)送方通道相同。
          4、創(chuàng)建偵聽器,監(jiān)聽1414端口
          這樣,A到B的數(shù)據(jù)傳輸就可以了。
          啟動隊列管理器QM_1001和QM_1002,啟動B上的偵聽器,A上啟動發(fā)送方通道1001.1002,B上的接收方通道也會自動運(yùn)行;
          第二步:實現(xiàn)B到A的數(shù)據(jù)傳輸
          在B上:
          1、創(chuàng)建傳輸隊列 XQ_1002
          2、創(chuàng)建遠(yuǎn)程隊列 RQ_1001
          3、創(chuàng)建發(fā)送方通道 1002.1001
          在A上:
          1、創(chuàng)建接收方通道1002.1001
          2、創(chuàng)建偵聽器,偵聽1414端口
          啟動A上的偵聽器,啟動B上的發(fā)送方通道1002.1001,這樣A上的接收方通道會自動運(yùn)行。
          這樣,由B到A的數(shù)據(jù)傳輸也能進(jìn)行了。
          這是我搞定的第一個例子,也是我學(xué)習(xí)MQ以來感覺有進(jìn)步的一次。
          下面是腳本。
          在A上:
          * 定義隊列管理器
          crtmqm -t 5000 -h 1000 -lc -lf 10240 -lp 30 -ls 32 -q QM_1001
          *更改QM的字符集編碼(CCSID)
              ALTER QMGR FORCE CCSID(1381)

          * 定義本地隊列
              DEFINE QLOCAL('LQ_1001') REPLACE +
                     USAGE(normal) +
              DEFPSIST(YES)

          * 定義傳輸隊列
              DEFINE QLOCAL('XQ_1001') REPLACE +
                     USAGE(XMITQ) +
              DEFPSIST(YES) +
              TRIGGER +
              TRIGTYPE(FIRST) +
              INITQ('SYSTEM.CHANNEL.INITQ') +
              PROCESS('') +
              TRIGDATA('1001.1002')

          * 定義遠(yuǎn)程隊列
              DEFINE QREMOTE('RQ_1002') +
              DEFPSIST(YES) +
              RNAME('LQ_1002') +
              RQMNAME('QM_1002') +
              XMITQ('XQ_1001')

          * 定義發(fā)送方通道
              DEFINE CHANNEL('1001.1002') +
              CHLTYPE(SDR) +
              TRPTYPE(TCP) +
              CONNAME('192.168.110.35(1414)') +
              XMITQ('XQ_1001') +
              DISCINT(0) +
              SHORTTMR(30) +
              SHORTRTY(999999999) +
              LONGTMR(1200) +
                     LONGRTY(999999999)

          * 定義接收方通道
              DEFINE CHANNEL('1002.1001') +
              CHLTYPE(RCVR) +
              TRPTYPE(TCP)
          * 啟動隊列管理器
          strmqm QM_1001
          * 啟動偵聽器
          runmqlsr -m QM_1001 -t TCP -p 1414 &

          在B上:
          * 定義隊列管理器
          crtmqm -t 5000 -h 1000 -lc -lf 10240 -lp 30 -ls 32 -q QM_1002
          *更改QM的字符集編碼(CCSID)
              ALTER QMGR FORCE CCSID(1381)

          * 定義本地隊列
              DEFINE QLOCAL('LQ_1002') REPLACE +
                     USAGE(normal) +
              DEFPSIST(YES)

          * 定義傳輸隊列
              DEFINE QLOCAL('XQ_1002') REPLACE +
                     USAGE(XMITQ) +
              DEFPSIST(YES) +
              TRIGGER +
              TRIGTYPE(FIRST) +
              INITQ('SYSTEM.CHANNEL.INITQ') +
              PROCESS('') +
              TRIGDATA('1002.1001')

          * 定義遠(yuǎn)程隊列
              DEFINE QREMOTE('RQ_1001') +
              DEFPSIST(YES) +
              RNAME('LQ_1001') +
              RQMNAME('QM_1001') +
              XMITQ('XQ_1002')

          * 定義發(fā)送方通道
              DEFINE CHANNEL('1002.1001') +
              CHLTYPE(SDR) +
              TRPTYPE(TCP) +
              CONNAME('192.168.110.21(1414)') +
              XMITQ('XQ_1002') +
              DISCINT(0) +
              SHORTTMR(30) +
              SHORTRTY(999999999) +
              LONGTMR(1200) +
                     LONGRTY(999999999)

          * 定義接收方通道
              DEFINE CHANNEL('1001.1002') +
              CHLTYPE(RCVR) +
              TRPTYPE(TCP)
          * 啟動隊列管理器
          strmqm QM_1002
          * 啟動偵聽器
          runmqlsr -m QM_1002 -t TCP -p 1414 &

          剩下幾個疑問沒有明白
          1、更改QM的字符集編碼是做什么用的?
          2、從資料上看到有個服務(wù)器傳輸通道,不知道是做什么用的?

          posted @ 2008-11-12 17:37 張老三 閱讀(3873) | 評論 (3)編輯 收藏
          學(xué)習(xí)MQ(二)基本概念
          這次簡單羅列一下MQ的基本概念,還有我對它們的理解
          1、queue manager 隊列管理器,這是MQ系統(tǒng)中最上層的一個概念。每一個queue manager都有一個偵聽器,如果它要接受消息的話,每個queue manager中管理多個隊列queue和消息通道m(xù)essage channel。
          2、消息 message,消息是應(yīng)用程序交給MQ來傳輸?shù)臄?shù)據(jù)。
          3、隊列 queue,隊列是用來存放消息的,把消息存放到隊列中,直到應(yīng)用程序或其他MQ對象來處理或取走。
          假如,系統(tǒng)A和系統(tǒng)B之間需要數(shù)據(jù)傳輸,那么應(yīng)用程序在系統(tǒng)A端把消息放到MQ的隊列中,在系統(tǒng)B端的應(yīng)用程序從隊列中取消息,至于系統(tǒng)A到系統(tǒng)B的數(shù)據(jù)傳輸,那是MQ要做的事情。
          我用到的隊列有三種,本地隊列,遠(yuǎn)程隊列,傳輸隊列。其中傳輸隊列也是本地隊列的一種,也叫本地傳輸隊列,另外一個叫普通本地隊列。
          普通本地隊列是消息的暫存區(qū),應(yīng)用程序可以通過API直接把消息放入本地隊列,或者取走消息,普通本地隊列是占用磁盤空間的,應(yīng)該是對應(yīng)磁盤上測某個文件。
          本地傳輸隊列是一個存儲轉(zhuǎn)發(fā)隊列,資料上是這么說的:比如,我們將某個消息交給MQ系統(tǒng)發(fā)送到遠(yuǎn)程主機(jī),而此時網(wǎng)絡(luò)發(fā)生故障,MQ將把消息放在傳輸隊列中暫存,當(dāng)網(wǎng)絡(luò)恢復(fù)時,再發(fā)往遠(yuǎn)端目的地。
          本地傳輸隊列也是要占用磁盤存儲空間的。
          遠(yuǎn)程隊列是一個定義,它是目的MQ系統(tǒng)中的本地隊列在本系統(tǒng)中的一個映像,就像定義了一個指針,指向目的系統(tǒng)的本地隊列一樣。它不占用磁盤空間。

          還有模板隊列和動態(tài)隊列的概念,很好理解,模板隊列就是一個模板,定義新的隊列時可以照著這個模板創(chuàng)建。動態(tài)隊列沒用過,聽說很靈活,是MQ的特色。
          4、消息通道 message channel 消息通道是一個邏輯概念,它是隊列管理器之間傳輸消息的管道,它建立在屋里的網(wǎng)絡(luò)連接之上。傳說,通道是MQ的精華,由于我沒用過其他的消息中間件產(chǎn)品,也沒有深入使用MQ,所以沒有看出這精華二字體現(xiàn)在何處。
          消息通道是單向的,由發(fā)送方通道和接收方通道組成,而且這兩個必須是同名的。如系統(tǒng)A要發(fā)消息到系統(tǒng)B,那么需要在A中建立發(fā)送方通道,在B建立接收方通道,必須同名。

          另外還有兩種通道,MQI通道和Cluster通道,我沒用,就沒深究,要是以后用到,就深挖一下。
          5、偵聽器 listener 這是在接受消息方必不可少的。它偵聽一個端口(默認(rèn)為1414,可以更改),等待發(fā)送方的連接。

          posted @ 2008-11-12 17:36 張老三 閱讀(3177) | 評論 (1)編輯 收藏
          聲明:我的文字里出現(xiàn)的MQ,如沒有特殊指明,就是指的IBM的websphere MQ

          以前對MQ一無所知!
          MQ是IBM websphere的系列產(chǎn)品之一,是很好的一個中間件產(chǎn)品。其實我對這列產(chǎn)品并不感興趣,覺得它們沒有很大的是作用。
          也許我是錯的,在一個規(guī)模較大的分布式系統(tǒng)中,遠(yuǎn)程數(shù)據(jù)傳輸、數(shù)據(jù)同步是一個很大的問題,很重要,而且必須是可靠的。分布在各地的系統(tǒng)之間進(jìn)行數(shù)據(jù)傳輸,會因為網(wǎng)絡(luò)問題、服務(wù)器處理問題變得十分復(fù)雜;這樣,如果采用傳統(tǒng)意義上的網(wǎng)絡(luò)編程的話,恐怕就達(dá)不到預(yù)期的效果了。
          而采用消息中間件產(chǎn)品可以解決這樣問題。
          這是我對中間件產(chǎn)品MQ的一些初步的理解。
          posted @ 2008-11-12 17:36 張老三 閱讀(2304) | 評論 (4)編輯 收藏
          好久不能上網(wǎng)了,我哭
          posted @ 2008-11-12 17:35 張老三 閱讀(291) | 評論 (0)編輯 收藏

          今天,應(yīng)用程序出現(xiàn)問題,一個頁面的表格展現(xiàn)不出來。
          左查右查,發(fā)現(xiàn)是這個表格查詢的數(shù)據(jù)庫視圖不可用導(dǎo)致的。

          針對這個視圖做查詢時,報錯如下:
          SQL0575N  不能使用視圖或具體查詢表
          "DB2ADMIN.VIEW_BRAND_EXPORT_FLAG",因為它已經(jīng)標(biāo)記為不可用。  SQLSTATE=51024

          問題1:
          這是什么原因引起的?以前一直用的挺正常,怎么就突然不可用了呢。

          Google了一把,IBM的官方資料有這么一個介紹:加入建立視圖view_a,然后建立角色role_a,分配view_a的查詢權(quán)限給role_a,然后把role_a分配給用戶db2admin,之后使用db2admin用戶可以查詢視圖view_a。但是當(dāng)角色role_a的查詢權(quán)限r(nóng)evoke的話,再用db2admin用戶查詢視圖view_a是,就報錯:SQL0575N  不能使用視圖或具體查詢表,因為它已經(jīng)標(biāo)記為不可用。  SQLSTATE=51024。詳情見:http://www.ibm.com/developerworks/cn/db2/library/techarticles/dm-0808chengy/index.html
          但是,可以肯定的是我這個問題不是由這個原因引起的。因為我們根本沒有創(chuàng)建角色,我們使用db2admin用戶直接訪問視圖的。
          那問題出在哪兒呢?
          我也不知道,以后再查吧。
          問題2:
          這個問題怎么解決呢?
          我沒有什么好辦法。
          比較菜:drop 該視圖,然后找到建立該視圖的SQL腳本,重新建立一遍,就OK了。

          哪位高人對這個問題有了解,請把問題原因和解決辦法分析一下吧!

          posted @ 2008-10-07 10:56 張老三 閱讀(4107) | 評論 (2)編輯 收藏
          AIX默認(rèn)安裝ksh,默認(rèn)沒有翻查上一條命令
          而習(xí)慣了bash中的翻查上一條命令,使用起AIX的ksh感覺不爽。在不安裝bash的情況下,可以使用下述方法在ksh中實現(xiàn)翻查上一個命令。
          1、在主目錄中 vi .profile
          2、添加一行:export EDITOR=vi
          3、保存.profile,重新登陸。
          這樣就可以使用vi中的上下(j/k)翻查上一條命令了。
          posted @ 2008-08-26 13:16 張老三 閱讀(4036) | 評論 (3)編輯 收藏
          ??????????????
          posted @ 2008-08-18 12:58 張老三 閱讀(282) | 評論 (0)編輯 收藏

          騰訊科技訊 6月27日消息,微軟創(chuàng)始人蓋茨將于北京時間27日晚正式引退,52歲的蓋茨將結(jié)束他在微軟的全職工作,正式交棒。至此,全球IT業(yè)的“蓋茨時代”將成為歷史。

          值此難忘時刻,微軟員工自發(fā)向蓋茨贈送了一本電子書,并共同在書上記下具有紀(jì)念意義的重大時刻。

          微軟員工表示,“一張照片,一段記憶,或是一件趣事!還有比這更好的方式,向傾注全部熱情帶領(lǐng)微軟公司33年的比爾,表達(dá)我們的謝意嗎?”

          一下是部分電子書精彩照片:

          胡錦濤書記訪美,作客微軟。圖為比爾蓋茨,Craig,亞勤在向總書記及夫人作介紹。

          胡錦濤書記訪美,作客微軟。圖為比爾蓋茨,Craig,亞勤在向總書記及夫人作介紹。

          共同書寫電子年鑒,微軟員工送給比爾蓋茨的禮物

          蓋茨的精彩時刻

          蓋茨的精彩時刻

          蓋茨的精彩時刻

           

          2007年4月,在博鰲亞洲論壇期間,蓋茨與張亞勤博士共同主持亞洲青年領(lǐng)袖論壇后與參會嘉賓的合影,青年企業(yè)家包括丁磊,馬云,張欣和李亦非等

          posted @ 2008-06-27 17:10 張老三 閱讀(361) | 評論 (0)編輯 收藏
          前些天,下載了一個免安裝版的mysql,由于我的本性能不太好,免安裝版的正合我意。我下的是mysql-noinstall-5.1.6-alpha-win32.zip,那個網(wǎng)址不記得了。不過Google一下,遍地都是!

          不過,使用過程中有個問題一直很煩,就是在命令行下,執(zhí)行命令時,如果發(fā)生報錯,電腦會發(fā)出“嘀”的響聲,貌似主板的聲音,很是刺耳,有點討厭。

          于是,在網(wǎng)上查了一下,發(fā)現(xiàn)有這個問題的還挺少,沒找到答案,于是問了一下同事牛人,在試了N次之后,終于搞定了這個問題,方法很簡單:

          在配置文件my.ini中的[mysql]節(jié)點下,添加一行no-beep,保存,重啟mqsql,就ok了。

          不過有的剛接觸mysql的朋友可能會說,我沒有my.ini文件???

          的確,安裝完mysql之后或者是下載的免安裝版解壓之后,默認(rèn)是沒有my.ini文件的.
          但是,有幾個類似的文件,如my-small.ini、my-medium.ini、my-large.ini、my-huge.ini,下面我說一下這幾個文件是干嘛的。
          這幾個文件是mysql針對不同的應(yīng)用推薦的不同的配置信息;但這些配置只有放到my.ini中才會被應(yīng)用。
          其中:
              1、my-small.ini是為了小型數(shù)據(jù)庫而設(shè)計的。不應(yīng)該把這個模型用于含有一些常用項目的數(shù)據(jù)庫。
              2、my-medium.ini是為中等規(guī)模的數(shù)據(jù)庫而設(shè)計的。如果你正在企業(yè)中使用RHEL,可能會比這個操作系統(tǒng)的最小RAM需求(256MB)明顯多得多的物理內(nèi)存。由此可見,如果有那么多RAM內(nèi)存可以使用,自然可以在同一臺機(jī)器上運(yùn)行其它服務(wù)。
              3、my-large.ini是為專用于一個SQL數(shù)據(jù)庫的計算機(jī)而設(shè)計的。由于它可以為該數(shù)據(jù)庫使用多達(dá)512MB的內(nèi)存,所以在這種類型的系統(tǒng)上將需要至少1GB的RAM,以便它能夠同時處理操作系統(tǒng)與數(shù)據(jù)庫應(yīng)用程序。
              4、my-huge.ini是為企業(yè)中的數(shù)據(jù)庫而設(shè)計的。這樣的數(shù)據(jù)庫要求專用服務(wù)器和1GB或1GB以上的RAM。
              
              這些選擇高度依賴于內(nèi)存的數(shù)量、計算機(jī)的運(yùn)算速度、數(shù)據(jù)庫的細(xì)節(jié)大小、訪問數(shù)據(jù)庫的用戶數(shù)量以及在數(shù)據(jù)庫中裝入并訪問數(shù)據(jù)的用戶數(shù)量。隨著數(shù)據(jù)庫和用戶的不斷增加,數(shù)據(jù)庫的性能可能會發(fā)生變化。
              
              可以根據(jù)自己的情況,選擇某一個文件中配置復(fù)制到my.ini中,my.ini文件當(dāng)然需要自己創(chuàng)建,直接新建這個文件就行了,然后復(fù)制進(jìn)去配置信息。我本機(jī)上的mysql只是學(xué)習(xí)用的,使用的是my-small.ini中的配置;如果有其他的需求,可以針對my.ini文件中某個節(jié)點修改配置。
              
               至于,my.ini中的配置信息的詳細(xì)介紹,我在此就不說了,內(nèi)容太多(我好多都沒用到,還未深入理解,呵呵),說了估計也沒人看。需要的話,Google一下,也是遍地都是。

          posted @ 2008-06-27 11:28 張老三 閱讀(1987) | 評論 (4)編輯 收藏
          文章出自:http://www.yeeyan.com/articles/view/nana/9276 譯者:scorpio31 

          簡介

          探討新的互聯(lián)網(wǎng)技術(shù)發(fā)展趨勢及其代表公司,google  蘋果  Facebook

          接受人類的創(chuàng)造并使用它

          但是不要崇拜它

          因為它將成為過去

          一位匿名的智者在一個廢棄的汽車門上刻下了上面的話,并把它拖到了我在北部加利福尼亞的家附近的一條小路上。原始的紅衫小樹林似乎不該出現(xiàn)這樣銹跡斑斑的汽車門,然而車門上的話卻神奇般地把這片破舊不堪的東西變成了一件藝術(shù)品。我一回到家就再google上搜索這句話,當(dāng)然是什么也沒發(fā)現(xiàn)。(多虧了google, 我們生活的世界,把“我不知道”變成一個無法接受的回復(fù)。因此,我不能找到作者的結(jié)果讓我抓狂。)

          我住的小鎮(zhèn)距離硅谷很近,我大多數(shù)朋友都以技術(shù)為生,而我則以撰寫這些內(nèi)容為生。 我們都崇拜那些璀璨耀眼的新事物。這段時間,日益臨近的蘋果下一代iphone發(fā)布正處在信誓旦旦的祈禱中。 如果這馬上到來的奇跡將被相信,這款新的手機(jī)將會成為下一個大的“平臺”。

          一個平臺,對于計算機(jī)人士而言,是指在其上可以運(yùn)行第三方的應(yīng)用程序。目前已有許多平臺,僅在手機(jī)一塊國際上就有30多種。 但是一個真正成功的平臺應(yīng)該可以超越它的直接用戶群并能有效的創(chuàng)造并控制一個巨大的市場。 在計算機(jī)工業(yè)界,IBM憑借其大型機(jī)和操作系統(tǒng)主宰著高端商用平臺,著眼于企業(yè)用戶。 隨著PC革命的興起,似乎是在一夜之間,IBM受到了微軟和Windows操作系統(tǒng)的排擠。 依次下來,隨著web-不被任何個體擁有,對全體開放—成為主宰平臺,Windows正在失去其往日的威力。(是的,web只不過是一層巨大的程序代碼,所有我們訪問的網(wǎng)絡(luò)站點不過是跑在其上的應(yīng)用程序而已。)

          當(dāng)然每個技術(shù)領(lǐng)域的主要角色都想創(chuàng)造出下一代平臺。新穎之處在于的確有這樣的可能使得任意多的他們?nèi)〉贸晒Α?#8220;在這些當(dāng)中與以往的觀點不同,即只有一個成功者” Marc Andreesen說,他輔助開發(fā)了第一個被廣泛使用的瀏覽器,Mosaic,后來在互聯(lián)網(wǎng)中流行。 互聯(lián)網(wǎng)相對PC操作系統(tǒng)而言是一個廣大的多的天地。“試圖找出誰將取勝”Andereessen 補(bǔ)充道,“有點類似于爭論在食品市場中牛肉、雞肉還是龍蝦將會贏得市場一樣。”

          然而,對象我這樣喜歡過度用功的人,觀察硅谷當(dāng)中最具創(chuàng)新性的三家公司—每家都代表信息時代的一種基本特質(zhì)—誰能勝出是一件吸引人的事情。 蘋果、google、facebook分別是個人計算機(jī)開創(chuàng)時代的小角色;是最大的、獲利最多的、造就了web的公司;并且是充滿膽識的“暴發(fā)戶”,是當(dāng)前社會網(wǎng)絡(luò)遷移的同義詞。

          在很多方面,這些公司成為了技術(shù)標(biāo)準(zhǔn)的棋手,雖然他們的指導(dǎo)體系有差別。 例如,google倡導(dǎo)“開放”的web,并且傾向于在開發(fā)者中推動開放的標(biāo)準(zhǔn)和聯(lián)盟。 Facebook, 連同其注冊社區(qū)中7000萬的活動用戶,提供了一個更可控的經(jīng)驗,至少迄今為止,希望在其虛擬社區(qū)內(nèi)保證用戶的安全。蘋果從舊世界中走來。 它雅致的產(chǎn)品保護(hù)了用戶遠(yuǎn)離信息時代的混亂,但是蘋果的經(jīng)驗仍傾向于產(chǎn)品的高度受限,使用蘋果獨(dú)有的硬件終端以及蘋果的軟件和服務(wù),例如iTunes音樂商店。

          在這場平臺之爭中的獲勝者將會贏得數(shù)十億的用戶,為廣告商賺足眼球,銷售其諸如音樂、電影、甚至按需的計算能力等服務(wù)。然而這里的結(jié)果遠(yuǎn)比誰將掙得最多更為重要。互聯(lián)網(wǎng)的將來—我們?nèi)绾潍@取信息,如何在相互之間進(jìn)行交流,更重要的一點,誰將控制它—都還是一個問題。

          Facebook為何出現(xiàn)

          當(dāng)Facebook創(chuàng)始人Mark Zuckerberg宣稱這項運(yùn)動開始時,平臺這個詞在一年前成了時髦用語。 ‘“社會網(wǎng)絡(luò)是封閉的平臺”。他講述了一群在舊金山的800開發(fā)人員的聚會。“今天我們將會去改變所有這些。”

          你將觀看這個講演的視頻,像我所做那樣,在google中搜索開發(fā)者會議的名稱,“F8。” 讓F8有史以來變得有意義的是Facebook平臺首次對開發(fā)人員開放。任何人知道如何編寫應(yīng)用程序的人都被Facebook所歡迎。Andreessen說一個開放的編碼環(huán)境是任何一個平臺成功的關(guān)鍵,因為它將更加易用,更多的開發(fā)人員將匯集起來,使得平臺變得不斷強(qiáng)大。Facebook也把免費(fèi)的版本分發(fā)給開發(fā)人員。想要增加新應(yīng)用的用戶可以通過單擊的快捷方式來實現(xiàn)。謠傳將會進(jìn)入Facebook董事會的Andreessen說,所有這些都幫助Facebook更引人注目。“成為一個平臺的關(guān)鍵是能夠激發(fā)成千上萬的處在另一側(cè)的你不需要支付費(fèi)用的人群的創(chuàng)造力,并且他們可以想到你沒有想到的東西。”

          這正是過去一年中發(fā)生在Facebook身上的事情。類似于淘金熱的一波又一波的開發(fā)人開始編寫簡單的應(yīng)用。截至6月1日,24000個程序,小到手勢,例如虛擬打人的能力,再到完整的游戲例如Scrabulous都對Facebook的用戶可用。期待可以加載更多,F(xiàn)acebook開放了其關(guān)鍵的編程接口,這些代碼是開發(fā)人員訪問Facebook平臺所需要的,令人震驚的達(dá)到400000個,遠(yuǎn)遠(yuǎn)超出了Zuckberg的預(yù)期。

          Zuckerberg,24歲,在會議中是熱門人物。當(dāng)我和他交談時,他剛從舊金山附近的一個大型的業(yè)界技術(shù)活動回到加州的Palo Alto.在那里他又一次被問到是否會把Facebook賣給微軟,僅是小規(guī)模投資就給了Facebook150億資金。(微軟,曾經(jīng)嘗試收購雅虎但以失敗告終,將會使用一個新的平臺。)Zuckerberg有一次說了不,他將不會賣出,他會盡全力打造一個偉大的并且切實可行的平臺,當(dāng)然這需要時間。 Zuckerberg以一種平穩(wěn)流暢的男高音講述著,他長長的脖子,并習(xí)慣于把下巴上翹,像是在吹薩克斯。“許多去年中所作的開發(fā)平臺的工作只是為了跟上勝利的步伐。”他說。

          這就是當(dāng)你創(chuàng)造一個成功的平臺時所要發(fā)生的:一個有效的圈子擴(kuò)張著,有廣大的用戶吸引著一批開發(fā)人員創(chuàng)造更多樂趣和有用的東西,這些反過來又吸引更多的用戶加入。無需提及的是,當(dāng)然也會存在相當(dāng)?shù)臒o用的、讓人厭煩的應(yīng)用。 在Facebook,應(yīng)用程序開發(fā)者的收入是從與安裝該程序的用戶相關(guān)的廣告發(fā)布費(fèi)用中提取的,其中一批很適合插入式的廣告。Facebook也會對類似Funwall的應(yīng)用采取措施,這個程序很容易使得用戶不經(jīng)意間對其郵件列表中的朋友發(fā)送垃圾郵件,邀請其安裝Funwall. Zuckerberg說Facebook在調(diào)整其平臺以幫助最有用的應(yīng)用程序有效傳播,而打擊壓制那些不良應(yīng)用程序。

          我詢問Zuckerberg關(guān)于類似Facebook這樣的封閉專有網(wǎng)絡(luò)可能會抑制網(wǎng)絡(luò)創(chuàng)新性的理論。這個想法是Jonathan Zittrain 的新書《互聯(lián)網(wǎng)的將來和如何停止它》的主題,這本書由哈福大學(xué)的Berkman互聯(lián)網(wǎng)與社會中心聯(lián)合撰寫。他指出像Facebook這樣的封閉社區(qū)的興起,iPhone的出現(xiàn),以及看起來沒有副作用的google所設(shè)立的標(biāo)準(zhǔn)會使得那些不正當(dāng)?shù)摹⑸踔劣芯哂衅茐男缘陌l(fā)生在無序網(wǎng)絡(luò)中的創(chuàng)新活動退出視野。Zuckerbert停下來想了一回,接著說:“總體上我是同意上述原則的,我認(rèn)為某種程度的開放性和兼容性是極其重要的。” 偉大的平臺在開始時通常都是封閉式的,當(dāng)其走向成熟可以處理更多的負(fù)載時會逐漸開放。他補(bǔ)充道:“我們在某種程度上已經(jīng)完成了那個初始階段,正在向更開放的階段邁進(jìn)。”

          實際上,上個月Zuckerberg發(fā)布了Facebook Connect功能,這項功能允許用戶通過一小段代碼把自己的聯(lián)系列表放在網(wǎng)頁上。再比如說,過些時間,博客作者把Facebook風(fēng)格的“圍墻“嵌入到自己的站點上也會成為可能,這將允許方便地查看朋友留言。這是個很棒的想法。到處都是Facebook! 但還存在一個問題。在Facebook Connect發(fā)布之后,goolge發(fā)起了一個近乎相似的計劃—Friend Connect. 如果有什莫會使Facebook近乎瘋狂腳步放慢下來,那就是google.

          Google嘗試連接

          網(wǎng)絡(luò)發(fā)展的最初階段是把信息在線發(fā)布并讓人們可以通過某種方式找到并連接上。第二階段即現(xiàn)階段是關(guān)于在人們之間彼此建立連接。

          “社會性是個新的重點” Joe Kraus說, 他負(fù)責(zé)指導(dǎo)google創(chuàng)建運(yùn)行在整個網(wǎng)絡(luò)之上的社會層。在這一點上,正如google在其他方面所為一樣,Kraus的策略是創(chuàng)造一個社會網(wǎng)絡(luò)的聯(lián)盟,這個網(wǎng)路將使用開放的標(biāo)準(zhǔn)而不是Facebook的專有網(wǎng)絡(luò)和編程語言,因此開發(fā)人員可以推廣他們的應(yīng)用。

          “Google依賴于開放的互聯(lián)網(wǎng)來運(yùn)作它全部的業(yè)務(wù)。”他告訴我說,“這存在開放性所帶來的各種遺傳性問題。” 這部分也是由于google的核心業(yè)務(wù),搜索依賴于開放性。Google無法找到位于網(wǎng)上的文件、音樂、圖片等等--除非它們是開放的可以訪問的,Kraus說。在財富500強(qiáng)中最富有的互聯(lián)網(wǎng)公司(排名150,市值165億),google有個商業(yè)計劃,其依賴于網(wǎng)絡(luò)被盡可能多的人使用。這也正是為何公司會投入如此大量的時間和精力來發(fā)掘新的應(yīng)用以使得網(wǎng)絡(luò)變得更有用、更有趣。

          社會網(wǎng)絡(luò)對這個計劃是一個威脅;用戶將會傾向于留在其自己所屬的網(wǎng)絡(luò)社區(qū)中,在那些應(yīng)用中流連。例如,當(dāng)Facebook的用戶開始玩Scrabulous或修改圖片時,他們就不使用google。實際上,他們更可能過其朋友或網(wǎng)絡(luò)應(yīng)用程序來發(fā)現(xiàn)新事物,比如iLike,一個用于匹配你的朋友和你相似音樂喜好的服務(wù)。

          所以,google在去年12月通過OpenSocial,這個由Facebook競爭對手:MySpace,Hi5, 以及google自己的社會網(wǎng)絡(luò)Orkut構(gòu)成的聯(lián)盟, 試圖創(chuàng)造一個一次開發(fā)即可普遍運(yùn)行的應(yīng)用平臺。 這意味著開發(fā)者,只要經(jīng)過微小的改動就可以創(chuàng)造一個可以

          在所有主要社會網(wǎng)絡(luò)運(yùn)行的應(yīng)用,當(dāng)然了,F(xiàn)acebook除外。 "當(dāng)你同開發(fā)人員交談時,他們中的多數(shù)都不超過50人;他們不可能用50種不同的方式來編寫應(yīng)用,"Kraus說,“他們的確需要一次性開發(fā),然后盡可能多的推廣。”

          他的觀點確實是有道理的。但是我在想也許對google也許已經(jīng)晚了,或者對于社會網(wǎng)絡(luò)的聚會已經(jīng)過時了。“Google意識到了它需要面向更多用戶,但這需要在現(xiàn)有平臺上增加許多。這并不都是自有的。”我的鄰居Seth Goldstein說,他經(jīng)營著SocialMedia,一個針對社會網(wǎng)絡(luò)的廣告網(wǎng)。“Facebook是從頭開始被設(shè)計出來用于描繪展現(xiàn)這些復(fù)雜的且有細(xì)微差別的各種社會關(guān)系的。”

          為什么iPhone是重要的

          蘋果的理念更加簡單:誰占領(lǐng)網(wǎng)絡(luò)根本不重要- Facebook,Google或者二者都有,抑或其它。 Steve Jobs只是希望確保你使用他們的設(shè)備去訪問。

          到了那時,新的iPhone,這個被期待在于6月9日發(fā)布的茶品,將是具有“巨大意義的”,Andreessen說,他現(xiàn)在主持一家名為Ning的公司,允許任何人打造自己的社會網(wǎng)絡(luò)。 “,所有這里的人們都相信iPhone—并且我認(rèn)為這是事實—將是第一個真正的、完整意義上的手持計算機(jī)終端,”他說,“它具備一個可用平臺所必需的一切要素。”

          Matt Murphy,一位位于Kleiner Perkins Caulfield & Byers的風(fēng)險投資人,目睹了這項花費(fèi)1億資金啟動iPhone偉大應(yīng)用的過程,乃至更遠(yuǎn)。他宣稱iPhone將會“毫無疑問的成為后PC時代的驅(qū)動力。” Murphy指出用于開發(fā)iPhone應(yīng)用程序的開發(fā)包已經(jīng)被下載超過了200,000次,他估計當(dāng)iPhone商店開業(yè)時將約有1000個應(yīng)用程序商品提供給消費(fèi)者。“當(dāng)看到有眾多的阻礙移動生態(tài)環(huán)境的制約因素時,蘋果只想拋棄這些因素并提供一個開放的平臺,一個偉大的設(shè)備和用戶群對于這些新的應(yīng)用來說是非常重要的。”

          Jobs的杰出才能總是表現(xiàn)在融合邊緣的技術(shù)并使之易于接受。平板監(jiān)視器,電影制作軟件,wi-fi,數(shù)字音樂播放器,觸摸顯示屏---所有這些都大約是在過去的20年中以比較粗糙的方式出現(xiàn)的,他的天才在于發(fā)現(xiàn)這些并重新包裝它們,使得這些技術(shù)可以在大眾面前閃亮登場。與之相似的是,蘋果的iPhone2.0將會在地理位置上更廣泛流行,想想車載衛(wèi)星導(dǎo)航系統(tǒng)作為一種人們隨地都可進(jìn)行的交流方式。

          又一次,在平臺之戰(zhàn)中面臨保衛(wèi)多個戰(zhàn)場的Google將是蘋果的強(qiáng)大對手。它正在領(lǐng)導(dǎo)另一個聯(lián)盟為下一代手機(jī)以及其它消費(fèi)終端來建造一個稱為Android的開放操作系統(tǒng)。這個開放的手持設(shè)備聯(lián)盟具有34名成員,手機(jī)網(wǎng)絡(luò)運(yùn)營商以及設(shè)備制造商,包括摩托羅拉,LG電子,三星,中國移動,Sprint Nextel和T-Mobile. 盡管Google的CEO Eric Schmidt坐在蘋果執(zhí)行董事會的位置上,Jobs像對待合作伙伴一樣在iPhone上運(yùn)行g(shù)oogle的應(yīng)用,蘋果卻不在這個聯(lián)盟當(dāng)中。

          這看起來類似于在山谷中來大喊“Frenemies”, 公司之間在某些領(lǐng)域進(jìn)行合作而在其它則相互競爭。

          第一款A(yù)ndroid研制的手機(jī)就要面世了,Google宣稱,在今年下半年,也可能就是在新的iPhone發(fā)布的時刻。在最近的google開發(fā)者大會上,公司第一次作了展示,一個通用的運(yùn)行操作系統(tǒng)的手機(jī)。 可觸摸,附一個可隨車攜帶的運(yùn)動檢測加速計,用于在google衛(wèi)星地圖上指示用戶的位置,這個設(shè)備與iPhone沒有任何相似之處。 Google的移動平臺總監(jiān),Andy Rubin解釋說,Android對開發(fā)者來說是一個開放的平臺;他們可以隨意更改代碼。他說迄今為止,開發(fā)者已經(jīng)編寫了超過1800個應(yīng)用程序,這些都可通過google站點傳播,類似于YouTube一樣根據(jù)受歡迎程度。“這當(dāng)中有一些相當(dāng)有創(chuàng)意的東西”,Rubin解釋到,“這將融合手持設(shè)備與網(wǎng)絡(luò)以及隨之出現(xiàn)的全新的事物。”

          為了推動進(jìn)程,google舉辦競賽,最終將有10個最佳應(yīng)用的開發(fā)者贏取275000美元的獎金。 Robert Lam, 他的Eco2go在上個月被提名為50名進(jìn)入決賽頂級獎項之一,他表示決定為Android平臺而不是iPhone開發(fā)自己的應(yīng)用程序,用來幫助用戶計算并減少carbon footprints, 因為對于Android平臺而言,比iPhone要簡單的多。為iPhone做開發(fā)“將會花費(fèi)我們一定的年度費(fèi)用,所以我們不得不與蘋果分享收入的30%”,Lam說。這就是說,Lam已經(jīng)考慮在Eco2go建立后把其應(yīng)用移植到iPhone上。 iPhone可能最終將會變得非常流行,在這個階取消所有可能的選項是不明智的。

          我同意。像他一樣,在這場戰(zhàn)爭里,我在各處植根,因為聽起來哈佛的Zittrain的擔(dān)憂似乎并非是事實,我們都身處其中。當(dāng)Andreessen說網(wǎng)絡(luò)太廣闊以至于拒絕任何控制的企圖時他是正確的。 有了google,使我深刻意識到Facebook或者任何其他人似乎都不太可能領(lǐng)先的太遠(yuǎn)。同時我也相信當(dāng)Zuckerberg說Facebook將隨著時間逐步開放。 這是個明智的進(jìn)步,他是個聰明的人。最后,我希望手上可以拿著新的iPhone. 屬于它的時間會來的也會過去。但是現(xiàn)在呢?偉大的技術(shù),仍會一如既往的呈現(xiàn)在我們每一個上帝面前。

          posted @ 2008-06-24 12:34 張老三 閱讀(276) | 評論 (0)編輯 收藏
              周末加班,在IBM小型機(jī)上部署升級版的應(yīng)用程序。
          我在學(xué)校學(xué)過Linux,實驗室環(huán)境下用過red hat 。但是還沒用過IBM 的AIX系統(tǒng),其實命令應(yīng)該差不多,整整忙一天。
              系統(tǒng)很龐大,我們首先需要使用MQ將程序包從頂級節(jié)點下發(fā)到下一層每個服務(wù)器節(jié)點,剩下的都是重復(fù)性的工作了。每個下層環(huán)境下都有三臺小機(jī),分別是DB2server、MQserver、WASserver,現(xiàn)在總結(jié)一下。
              使用secureCRT telnet到WASserver上,在這里,創(chuàng)建備份目錄,先備份當(dāng)前版本的程序包,然后將升級版的程序包copy進(jìn)去。
               1、mkdir -p /tmp/20080621/app_bak  創(chuàng)建備份目錄
                  如果不指定-p參數(shù),那么若/tmp/20080621路徑不存在的話,app_bak就無法創(chuàng)建;指定-p就可以連續(xù)創(chuàng)建不存在的目錄
              2、cd  /tmp/20080621/app_bak 進(jìn)入備份目錄 可以使用pwd查看一下當(dāng)前目錄

              3、mv 原來的文件包 ./ 將原來的程序包移動到當(dāng)前目錄下

              到現(xiàn)在為止,備份算是搞定了,接下來將升級版的軟件包copy到WASserver上,由于升級版的軟件包在MQserver上,我們使用ftp命令把它取到WASserver上,過程如下:
              1、cd 應(yīng)用程序目錄
              2、ftp MQserver ip 
                  系統(tǒng)提示輸入user、password,驗證之后,進(jìn)入ftp命令模式下,即ftp>
                  使用ftp的get命令將MQserver上的升級版軟件包取至當(dāng)前目錄:ftp>get 軟件包在mqserver上的全路徑 ./
                  文件不大的話,應(yīng)該很快就能傳完。然后使用bye命令斷開ftp連接(ftp真是個好東西,其他的命令很多,請見ftp相關(guān)資料)

                現(xiàn)在升級版的軟件包就copy到WASserver上了,接下來要做的是升級數(shù)據(jù)庫,這要登錄到DB2server上,AIX提供了一個連接本地主機(jī)或遠(yuǎn)程主機(jī)的命令,rlogin [本地主機(jī)或遠(yuǎn)程主機(jī)名],查看主機(jī)名可以使用hostname命令,例如我現(xiàn)在鍵入hostname,系統(tǒng)會打印出WASserver。
              1、rlogin DB2server 登錄到DB2server上
              2、cd /tmp/datascript 然后使用chown -R db2admin:db2grp1 * 修改此目錄的所有權(quán),使用chmod 777 *修改讀寫權(quán)限,chmod 有符號方式和數(shù)字方式兩種,不清楚的Google一下。
              2、使用同樣的方法,將數(shù)據(jù)庫升級包從MQserver ftp到DB2server上
              3、DB2 -tvf xxxx.sql > ./xxxx.sql.log 執(zhí)行升級腳本 并創(chuàng)建日志,如果有很多sql腳本要執(zhí)行的話,可以寫成shell腳本,然后直接執(zhí)行就ok了,如./update_20080621.sh
              4、使用cat或more命令仔細(xì)查看腳本執(zhí)行的日志,確保執(zhí)行無異常

          做到這里,一個地方的升級基本上完成了,重啟一下was就可以到另一個地方的去升級了。全國30多個地方呢,夠我們忙的了。

              期間也遇到了很多小問題,值得一提的是,在升級數(shù)據(jù)庫的時候,腳本文件是dos格式還是unix格式的問題。不知道怎么回事,我們在Windows下編寫好腳本之后,已經(jīng)改為unix格式,而傳到小機(jī)上之后仍然發(fā)現(xiàn)有很多dos格式下的回車,只好使用vi編輯器在小機(jī)上做了修改。熟練使用vi是在unix/linux工作的必備能力,尚且不熟的請趕快Google,學(xué)習(xí)學(xué)習(xí),vi的內(nèi)容很多,先不說了。

                 周末忙了兩天,累,欣慰的是客戶反映升級后,系統(tǒng)使用正常,還沒發(fā)現(xiàn)問題。好了,收工嘍!
          其實上面這些都是類unix系統(tǒng)中最簡單的操作,對牛人來說不值一提,但我還不是牛人,希望和我同水平的人共同學(xué)習(xí)!
              
          posted @ 2008-06-22 16:40 張老三 閱讀(1983) | 評論 (1)編輯 收藏
          簡要說一下http請求報文的格式:
              HTTP請求包括三部分:請求行(Request Line),頭部(Headers)和數(shù)據(jù)體(Body)。其中,請求行由請求方法(method),請求網(wǎng)址Request-URI和協(xié)議 (Protocol)構(gòu)成,而請求頭包括多個屬性,數(shù)據(jù)體則可以被認(rèn)為是附加在請求之后的文本或二進(jìn)制文件。

              get 請求表示客戶端請求一個uri,服務(wù)器返回客戶端請求的uri,post請求表示客戶端請求的時候還要提交數(shù)據(jù),比如提交form表單,要提交的數(shù)據(jù)會放到請求報文的body部分,服務(wù)器收到后這樣的請求后通常需要來處理這些數(shù)據(jù)。

              get請求是將數(shù)據(jù)放在請求的url之后,是一個以"?"打頭的查詢字符串,比如常見的test.jsp?name=aaa&age=10這種格式,這個是可以直觀看到的,(登陸的用戶名和密碼可不能用get哦)。由于http協(xié)議的限制,這樣放在url之后的get請求的數(shù)據(jù)是受大小限制的,最大長度不超過256字符(好像是,可能和web服務(wù)器有關(guān))。

              為了能夠傳輸更多的數(shù)據(jù),可以采用post請求,post請求是將數(shù)據(jù)放到了http的Content中,這就無大小的限制了,而且傳輸?shù)臄?shù)據(jù)不能直接被看到(登陸的用戶名和密碼一般采用post請求),大量的數(shù)據(jù)或是文件上傳,都只能用post來傳輸。
              簡單的說,get是通過http header來傳輸數(shù)據(jù),有數(shù)量限制,而且可見,而post則是通過http body來傳輸數(shù)據(jù),沒有數(shù)量限制。

              再說servlet中的doget和dopost方法
              web服務(wù)器處理這些請求的時候,如果客戶端提交的是get請求,則響應(yīng)doget方法,如果客戶端提交的是post請求,則響應(yīng)dopost方法。這是web服務(wù)器在響應(yīng)doservice方法時,由doservice方法分發(fā)下來的(詳情請查看http協(xié)議和servlet生命周期方面的文章)
          posted @ 2008-06-19 00:28 張老三 閱讀(4819) | 評論 (2)編輯 收藏
          大學(xué)中從未寫過Java代碼的我,竟然要做Java開發(fā)了,
          看來這個時間還是很有意思的!

          那我張老三也只能很感興趣的奉陪了!
          以后注定是Java的人。

          專注于技術(shù),我會走好我的路!

          高調(diào)做事,低調(diào)做人,開博第一天,就不大宴賓客了!
          posted @ 2008-06-16 17:25 張老三 閱讀(496) | 評論 (1)編輯 收藏
          主站蜘蛛池模板: 清原| 个旧市| 光山县| 五台县| 甘泉县| 昆明市| 句容市| 离岛区| 吴旗县| 临泉县| 大方县| 肇庆市| 海口市| 曲水县| 哈巴河县| 德庆县| 瑞安市| 建昌县| 天祝| 仁怀市| 鹤峰县| 横峰县| 壶关县| 奎屯市| 株洲县| 柞水县| 安庆市| 宁夏| 定边县| 樟树市| 温泉县| 丹江口市| 拜城县| 平顶山市| 新晃| 三门县| 佛冈县| 新和县| 彩票| 平阳县| 额尔古纳市|