通信學(xué)論文-計(jì)算機(jī)系統(tǒng)分析員論文-通信服務(wù)平臺(tái)的應(yīng)用.doc_第1頁(yè)
通信學(xué)論文-計(jì)算機(jī)系統(tǒng)分析員論文-通信服務(wù)平臺(tái)的應(yīng)用.doc_第2頁(yè)
通信學(xué)論文-計(jì)算機(jī)系統(tǒng)分析員論文-通信服務(wù)平臺(tái)的應(yīng)用.doc_第3頁(yè)
通信學(xué)論文-計(jì)算機(jī)系統(tǒng)分析員論文-通信服務(wù)平臺(tái)的應(yīng)用.doc_第4頁(yè)
通信學(xué)論文-計(jì)算機(jī)系統(tǒng)分析員論文-通信服務(wù)平臺(tái)的應(yīng)用.doc_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

通信學(xué)論文-計(jì)算機(jī)系統(tǒng)分析員論文-通信服務(wù)平臺(tái)的應(yīng)用【正文】數(shù)據(jù)通訊是當(dāng)前十分活躍與熱門的計(jì)算機(jī)與信息技術(shù)的應(yīng)用領(lǐng)域。某大型通信公司開發(fā)了其業(yè)務(wù)的主要支撐平臺(tái),在這里,我們簡(jiǎn)稱之為“通信信息服務(wù)平臺(tái)”,用于在全國(guó)與全球開展數(shù)據(jù)業(yè)務(wù)的需要。該平臺(tái)是一個(gè)典型的Java技術(shù)應(yīng)用于Internet的項(xiàng)目。作為信息技術(shù)公司中的一名技術(shù)骨干,我有幸參加了該系統(tǒng)的分析與設(shè)計(jì)工作,承擔(dān)了相當(dāng)多的Java應(yīng)用開發(fā)任務(wù)。此系統(tǒng)中的軟件部分大多由Java來實(shí)現(xiàn),在全系統(tǒng)中我們是這樣來用Java構(gòu)架系統(tǒng)的:(1)本系統(tǒng)可分為4層,分別是Browser、表示層、中間件層和數(shù)據(jù)層。(2)表示層用Java中的JavaScript來實(shí)現(xiàn)頁(yè)面輸出。(3)中間件層用Java來實(shí)現(xiàn)CORBA,即實(shí)現(xiàn)Component(構(gòu)件),主要實(shí)現(xiàn)業(yè)務(wù)邏輯的封裝與復(fù)用。(4)數(shù)據(jù)層主要是數(shù)據(jù)庫(kù)和存儲(chǔ)過程的實(shí)現(xiàn)。我們?cè)趹?yīng)用Java技術(shù)時(shí),所采用的技術(shù)和策略可大致上歸納為以下5個(gè)方面:(1)使JavaScript盡量簡(jiǎn)單,因?yàn)镴avaScript在我們系統(tǒng)中是放在服務(wù)器端執(zhí)行的,該語(yǔ)言是通過一個(gè)解釋器解釋執(zhí)行的,相對(duì)速度很慢,我們采用了兩臺(tái)HP前置機(jī)來運(yùn)行JavaScript,但是其運(yùn)行速度還是不理想,所以我們?cè)谠O(shè)計(jì)中把JavaScript僅用來顯示從中間件層所得到的數(shù)據(jù),生成動(dòng)態(tài)頁(yè)面。在最初的設(shè)計(jì)中表示層(JavaScript)曾承擔(dān)了一些業(yè)務(wù)邏輯處理操作,導(dǎo)致效率不理想,因此,我們不得不盡量地減少JavaScript的程序量。(2)用Java實(shí)現(xiàn)CORBA時(shí),應(yīng)盡量考慮共享和復(fù)用。在本系統(tǒng)中,最初的設(shè)計(jì)是讓Java在實(shí)現(xiàn)Component時(shí),只是執(zhí)行一些數(shù)據(jù)庫(kù)表的操作,導(dǎo)致表示層的負(fù)載較大。后來,我們重新設(shè)計(jì)時(shí),總結(jié)歸納了所有的UseCase,找出了其中可供共享和復(fù)用的接口,把相同的業(yè)務(wù)邏輯操作封裝到一個(gè)接口中去。因?yàn)镴ava的執(zhí)行效率比JavaScript要高,因此提高了系統(tǒng)效率。(3)在別的項(xiàng)目中,我們?cè)罅康厥褂眠^Java中的JSP技術(shù)和Servlet技術(shù),一般人可能不能區(qū)分這兩種Java技術(shù)的區(qū)別。為了得到系統(tǒng)的一些執(zhí)行速率的數(shù)據(jù),我們采用了一個(gè)著名的壓力測(cè)試軟件LoadRunner來測(cè)試這兩種技術(shù)的差別。測(cè)試表明:用JSP和Servlet完成同樣的一個(gè)操作,并且保證是在相同的測(cè)試環(huán)境中(相同服務(wù)器、壓力測(cè)試工作站與數(shù)據(jù)庫(kù)環(huán)境),得到的測(cè)試數(shù)據(jù)卻有著很大差別,JSP完成一個(gè)操作的平均執(zhí)行時(shí)間大致會(huì)是Servlet程序的兩倍。在一個(gè)企業(yè)級(jí)應(yīng)用項(xiàng)目中,這可能是一個(gè)很關(guān)鍵的瓶頸。因此,我們得出的結(jié)論是:在可能的條件下,盡量地多使用Servlet。當(dāng)然,與Servlet相比,JSP編程快速,修改方便,在訪問量不是很大的應(yīng)用場(chǎng)合下也是可以接受的。(4)使用Java作為整體解決方案時(shí),應(yīng)盡量使用相同版本的JDK。在用Java作為編程語(yǔ)言的項(xiàng)目中,幾乎大多要遇到“漢字”問題,即Java在沒有經(jīng)過轉(zhuǎn)換的情況下,在輸出漢字時(shí),很可能會(huì)出現(xiàn)亂碼。采用不同版本的JDK,解決的方案是不一樣的,比如V1.2.2版本的JDK和V1.3版本的JDK解決方法就會(huì)有一些不一樣,把V1.2.2的Java程序放在V1.3的JDK中,就不能順利輸出漢字了。其根本原因在于Java使用了Unicode編碼,和我們中國(guó)的國(guó)標(biāo)編碼不一樣。所以在這個(gè)意義上一些人竭力鼓吹的“一次編寫,到處運(yùn)行”似乎不一定能在所有的場(chǎng)合都行得通。(5)使用Java時(shí),應(yīng)盡量遵從軟件規(guī)范。在Java中有一個(gè)JVM的概念,即在Java虛擬機(jī)中使用了一個(gè)垃圾收集器,專門用來回收內(nèi)存。但是該垃圾收集器在給編程人員帶來方便的同時(shí),也隱埋下了隱患。在程序設(shè)計(jì)中,并不能強(qiáng)制執(zhí)行垃圾收集器,所以,開發(fā)人員不能確定某對(duì)象是否已釋放,常常讓編程人員養(yǎng)成依賴自動(dòng)收集的壞習(xí)慣,因此我們要求:在Try,Catch之后必須明確要求回收內(nèi)存(當(dāng)然,也只能是通知垃圾收集器來回收垃圾),這樣可以有效地提高系統(tǒng)穩(wěn)定性。以上這些實(shí)用性的技術(shù)與策略,是我們?cè)趯?shí)踐中的一些實(shí)際體會(huì),僅供各位開發(fā)人員根據(jù)實(shí)際情況參考。當(dāng)然,在使用Java作為解決方案時(shí),也會(huì)遇到很多讓我們頭疼的問題,這些問題導(dǎo)致同時(shí)執(zhí)行的并發(fā)性比較差,系統(tǒng)速度慢等等。歸納起來看,我們?cè)龅竭^的主要具體的問題有:(1)用Java來實(shí)現(xiàn)CORBA中的Component,有時(shí)效率會(huì)比較低。(2)用Java來建立數(shù)據(jù)庫(kù)連接往往會(huì)比較慢。(3)用JSP編程時(shí)容易導(dǎo)致系統(tǒng)信息的擴(kuò)散。比如,如果有黑客攻擊一臺(tái)運(yùn)行JSP程序的服務(wù)器,他可以故意地輸入一些非法字符或異常信息給JSP程序,于是程序執(zhí)行將出現(xiàn)異常。這時(shí),就會(huì)在頁(yè)面上打印出相應(yīng)的錯(cuò)誤信息。很不幸的是,這些信息極有可能暴露出這臺(tái)服務(wù)器的JDK的版本號(hào)與路徑信息等內(nèi)容。這往往容易讓黑客們有機(jī)可乘,有可能去抓住系統(tǒng)的漏洞。在發(fā)現(xiàn)了這些問題后,我們經(jīng)過仔細(xì)研究,找出了一些解決辦法。比如:(1)既然用Java實(shí)現(xiàn)Component比較慢,我們就盡量減少Component所執(zhí)行的業(yè)務(wù)邏輯量。爭(zhēng)取把能夠放在存儲(chǔ)過程中實(shí)現(xiàn)的操作,盡可能在存儲(chǔ)過程中加以實(shí)現(xiàn)。眾所周知,數(shù)據(jù)庫(kù)的存儲(chǔ)過程操作,比起在Java程序中執(zhí)行數(shù)據(jù)庫(kù)操作要快得多。(2)既然用Java建立數(shù)據(jù)庫(kù)連接比較慢,我們就可以把數(shù)據(jù)庫(kù)連接封裝成連接池(ConnectPool),從而能非常有效地提高系統(tǒng)效率。我們也曾經(jīng)用“LoadRunner”作過壓力測(cè)試,使用連接池比不使用連接池的速度要快上35倍。(3)為了對(duì)付JSP程序與Servlet程序會(huì)打印出異常系統(tǒng)信息的問題。我們?cè)殚喠撕芏郕SP或Servlet的資料,最終是毫無頭緒。但是我們可以換另一種思路,即是不從程序下手,而從WebServer著手,我們可以把Apache配置成為使這類異常信息不再打印出來,而是使之僅出現(xiàn)一個(gè)通用的異常說明的頁(yè)面,這樣,就能十分有效地解決這個(gè)問題。在我們使用Java作為編程語(yǔ)言的這么多項(xiàng)目中,絕大多數(shù)是比較成功的。Java語(yǔ)言作為一種快捷、穩(wěn)定的計(jì)算機(jī)語(yǔ)言,開發(fā)基于因特網(wǎng)應(yīng)用的項(xiàng)目大多是相當(dāng)穩(wěn)定和比較適用的。在我個(gè)人看來,Java的應(yīng)用前景十分光明,大體上可以著眼于以下方面:(1)在因特網(wǎng)上將會(huì)有更加廣泛的應(yīng)用。(2)在嵌入式設(shè)備中,Java也大有用武之地。比如,在最新推出的Java技術(shù)中,Java已經(jīng)進(jìn)入了手機(jī)領(lǐng)域。(3)Java程序大多以線程運(yùn)行,占用資源少,會(huì)逐步代替ASP與CGI程序。根據(jù)第三方測(cè)試表明:JSP程序比ASP程序要快2倍以上。用JSP代替ASP應(yīng)是大勢(shì)所趨。(4)Java在無線互聯(lián)網(wǎng)中的應(yīng)用將會(huì)更加廣泛。Java支持WAP,可以方便地用Java開發(fā)WAP程序,實(shí)現(xiàn)WAP應(yīng)用。(5)Java與XML的無縫連接使Java在數(shù)據(jù)傳輸和異構(gòu)網(wǎng)絡(luò)通信方面有著很大的優(yōu)勢(shì)。就我個(gè)人而言,我將會(huì)在相當(dāng)長(zhǎng)一段時(shí)期內(nèi)致力于Java在無線互聯(lián)中的應(yīng)用,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論