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

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

          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的
          好了,就知道這么多了,下午再聽(tīng)SAP的顧問(wèn)的培訓(xùn)吧。
          posted @ 2008-11-25 11:56 張老三 閱讀(398) | 評(píng)論 (0)編輯 收藏

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

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

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

          * 定義遠(yuǎn)程隊(duì)列
              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)
          * 啟動(dòng)隊(duì)列管理器
          strmqm QM_1001
          * 啟動(dòng)偵聽(tīng)器
          runmqlsr -m QM_1001 -t TCP -p 1414 &

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

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

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

          * 定義遠(yuǎn)程隊(duì)列
              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)
          * 啟動(dòng)隊(duì)列管理器
          strmqm QM_1002
          * 啟動(dòng)偵聽(tīng)器
          runmqlsr -m QM_1002 -t TCP -p 1414 &

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

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

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

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

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

          以前對(duì)MQ一無(wú)所知!
          MQ是IBM websphere的系列產(chǎn)品之一,是很好的一個(gè)中間件產(chǎn)品。其實(shí)我對(duì)這列產(chǎn)品并不感興趣,覺(jué)得它們沒(méi)有很大的是作用。
          也許我是錯(cuò)的,在一個(gè)規(guī)模較大的分布式系統(tǒng)中,遠(yuǎn)程數(shù)據(jù)傳輸、數(shù)據(jù)同步是一個(gè)很大的問(wèn)題,很重要,而且必須是可靠的。分布在各地的系統(tǒng)之間進(jìn)行數(shù)據(jù)傳輸,會(huì)因?yàn)榫W(wǎng)絡(luò)問(wèn)題、服務(wù)器處理問(wèn)題變得十分復(fù)雜;這樣,如果采用傳統(tǒng)意義上的網(wǎng)絡(luò)編程的話,恐怕就達(dá)不到預(yù)期的效果了。
          而采用消息中間件產(chǎn)品可以解決這樣問(wèn)題。
          這是我對(duì)中間件產(chǎn)品MQ的一些初步的理解。
          posted @ 2008-11-12 17:36 張老三 閱讀(2304) | 評(píng)論 (4)編輯 收藏
          好久不能上網(wǎng)了,我哭
          posted @ 2008-11-12 17:35 張老三 閱讀(291) | 評(píng)論 (0)編輯 收藏
          主站蜘蛛池模板: 郯城县| 福州市| 南江县| 库尔勒市| 辽中县| 石林| 虹口区| 江安县| 三江| 宿松县| 兴义市| 庄浪县| 平定县| 汤原县| 浙江省| 阿坝县| 德令哈市| 万全县| 通化市| 临汾市| 玉屏| 通海县| 胶南市| 内丘县| 工布江达县| 河津市| 聂拉木县| 宝丰县| 娱乐| 铜梁县| 新晃| 睢宁县| 资源县| 牙克石市| 宜宾县| 新巴尔虎右旗| 萨嘎县| 新昌县| 滨海县| 龙口市| 平邑县|