應用程序范文

時間:2023-04-01 09:16:23

導語:如何才能寫好一篇應用程序,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

篇1

應用程序通常又被分為兩部分:圖形用戶接口(GUI)和引擎(Engien)

它與應用軟件的概念不同。應用軟件指使用的目的分類,可以是單一程序或其他從屬組件的集合,例如Microsoft Office、OpenOffice。應用程序指單一可執(zhí)行文件或單一程序,例如Word、Photoshop。日常中可不將兩者仔細區(qū)分,一般視程序為軟件的一個組成部分。

應用程序的幾種分類:單文檔、多重文檔、基本對話框三種。

單文檔:如記事本,永遠只有一個文檔窗口。

多重文檔:多文檔窗口如word可以同時打開多個文檔窗口。

篇2

計算機業(yè)界對基準測試的迷戀幾乎到了無以復加的地步。許多項目通常會分配相當大一部分的時間用于對廠商的軟硬件(應用服務器、JDK和IDE)來一次“選美大賽”

由于目前并行化硬件數(shù)量激增,基準測試再次成了熱門話題。本文會探討如何評測這種硬件的實現(xiàn)效果有多好。這個過程困難重重――基準測試本身更多時候因無法測試或者測試不準確而備受詬病,卻很少因測試公正性而備受好評。本文的這個基準測試同樣擺脫不了這種命運。不過讀完了本文后,讀者會明白我們是如何設(shè)計及實現(xiàn)框架的、它可以評測什么(不能評測什么)及其可能的應用。

在深入探討之前,我想先定義一下什么是基準測試:基準測試是一種測試,可以通過可重復、客觀、透明的一種方式,對針對同一目的的多種實現(xiàn)彼此進行比較。

給出了這個定義之后,我們認為,任何基準測試都有兩個邏輯部分,因而,這些不同目標在現(xiàn)有的基準測試中沒有分開來。這兩個部分是:一是成功執(zhí)行基準測試所需的基礎(chǔ)架構(gòu):二是測試本身,這總是針對特定的應用。這一假定是下文的關(guān)鍵所在。

基準測試框架

在介紹本文構(gòu)建的基準測試框架之前,先看一下有哪些現(xiàn)有的框架可供使用。簡而言之,沒有一個框架是適合的?,F(xiàn)有的框架存在的問題可以歸納如下:過時或未得到維護; 成了廠商相互競爭的地盤,因而靠不住;往往關(guān)注科學或工程應用(譬如浮點運算性能);往往關(guān)注JVM方面的基準測試;針對性非常強(譬如Volano基準測試的對象是聊天服務器――如果在構(gòu)建聊天服務器,這很好,不然,這種基準測試并不適用)。

這些框架也無法區(qū)別基準測試和測試本身。換句話說,基準測試的潛在對象是整個Java開發(fā)社區(qū)。不可能設(shè)計出能適用于各部分對象的基準測試。但如果我們能夠把基準測試運行的東西與基準測試的基本內(nèi)容本身分開來,那么框架在擴展后就具有適用性了。

如圖1所示,我們特意讓框架力求簡單,想讓框架易于理解及擴展,另外也想盡量減少測試目標硬件和軟件平臺時產(chǎn)生的隱性開銷。

通過使用Java平臺、Standard Edtion 6.0及更高版本的特性,尤其是添加并發(fā)API,大大簡化了這個基準測試。沒有用到針對特定平臺的任何特性。不過,如果擴展了框架,就可以隨意使用這些特性,把目標平臺推向極限。該框架應該可以在所有平臺上直接運行,具體來講是Windows、Unix和Linux這些平臺。

框架的工作方式

以下代碼片段詳細表明了這個框架有多簡單。一旦讀者明白了這種主要方法,基本上就可以理解框架本身了。

public static void main(String[] args) throws Exception {

LoadTestEngine te = new LoadTestEngine();

//保存與我們想如何執(zhí)行加載測試有關(guān)的所有數(shù)據(jù)

LoadTestMetaData ltmd = new LoadTestMetaData();

//分析加載測試輸出的對象

Analyser ra = new LinpackRunAnalyser();

ltmd.setAnalyser(ra);

//弄清楚我們想運行多少個線程

//使用聲稱的內(nèi)核數(shù)量并加1個

int numThreads = Runtime.getRuntime().availableProcessors() + 1;

ltmd.setNumThreads(numThreads);

//ltmd.setTaskClass(LinpackTask.class);

//現(xiàn)在設(shè)置我們想構(gòu)成每一個任務基礎(chǔ)的類

ltmd.setTaskClass(SimpleTask.class);

//我們希望任務執(zhí)行多少次

ltmd.setNumIterations(1000);

//我們需要未完成的任何任務能夠繼續(xù)完成,

//于是我們設(shè)定了截止點,過了這個點,我們就不再等任務完成

ltmd.setTaskTimeout(10000);

te.setLoadTestMetaData(ltmd);

long startTime = System.currentTimeMillis();

RunResult rr = te.runLoadTest();

long endTime = System.currentTimeMillis() - startTime;

System.out.println(rr);

System.out.println("Engine output BEGIN");

System.out.println("Total elapsed time (ms): " + endTime);

System.out.println("Engine output END");

te.stop();

}

但實際工作是由LoadTestEngine.java完成的,具體是這段代碼:

//首先,啟動任務

for(int i = 0; i < numTasks;i++){

try {

Task t = (Task) ltmd.getTaskClass().newInstance();

//讓fw擴展器返回TaksResult的子類型

Future< ? extends TaskResult> f = pool.submit(t);

futures[i] = f;

} catch (InstantiationException e1) {

throw new LoadTestException(e1);

} catch (IllegalAccessException e) {

throw new LoadTestException(e);

}

}

// 現(xiàn)在整理結(jié)果

for(int i = 0; i< numTasks;i++){

try {

TaskResult tr = futures[i].get(ltmd.getTaskTimeout(),

TimeUnit.MILLISECONDS);

ra.addTaskResult(tr);

} catch (TimeoutException e) {

e.printStackTrace();

} catch (ExecutionException e) {

e.printStackTrace();

} catch (InterruptedException e) {

e.printStackTrace();

}

}

return ra.analyse();

該代碼使用由ExecutorService管理的一組線程來執(zhí)行我所定義的工作負載,然后通過Future.get()方法收集結(jié)果,以便最終分析。

框架的優(yōu)缺點

框架非常簡單,簡而言之,用不了十分鐘,應當能夠了解框架的運作方式,直至代碼??蚣芸梢詳U展,默認狀態(tài)下,該框架旨在讓用戶可以進行擴展。因此,如果想測試Spring和Struts/WebWork,那么這個框架能夠進行客觀地測試。框架可以在多線程環(huán)境下測試應用程序的正確性。一旦擴展后,框架就可以集成到持續(xù)集成環(huán)境中,用來確保開發(fā)中的應用程序可以繼續(xù)滿足穩(wěn)定性、擴展性和性能等方面的標準。

但是,框架過于簡單。如果任務是了解某個版本的特定框架(譬如Spring R1.2)是如何運作的,那么這個框架充其量只是供你使用的外殼。默認狀態(tài)下,該框架評測的只是我們讓它來評測的內(nèi)容。雖然這聽上去很顯然,但有一點很清楚:魔鬼存在于細節(jié)中。兩個基準測試可能是測試某個應用程序在運行特定硬件配置的多線程Java環(huán)境中進行擴展的功能,但實際上它們測試的可能是某個系統(tǒng)中完全不同的方面。換句話說,這兩個基準測試是微觀基準測試,而在孤立狀態(tài)下進行的微觀基準測試獲得的結(jié)果總是具有誤導性。

鏈接:主流處理器廠商產(chǎn)品特點

英特爾

英特爾的硬件一度就是超線程概念的同義詞,但現(xiàn)在它更成熟了,包括真正支持多核的功能――譬如說,現(xiàn)在雙核CPU就出現(xiàn)在新款Apple MacBook里面。最初,英特爾實現(xiàn)的超線程復制了CPU架構(gòu)的一些部分,而架構(gòu)的其他部分只保留了一份,從而在某些情況下會造成瓶頸。這種實現(xiàn)手段最多只能看成是權(quán)宜之計,目的在于在真正的多核支持(一開始是雙核)漸漸投入生產(chǎn)的同時,可以取悅市場。英特爾今年已經(jīng)為服務器市場了四核CPU。

AMD

AMD提供雙核CPU。此外,它使用直接連接(Direct Connect)和超傳輸總線(HyperTransport)等技術(shù)把這些CPU連接起來,從而形成更龐大的CPU集群。

Sun

Sun真正擁護服務器上采用并行計算的強大功能,目前的T1(Niagara)系列及規(guī)劃中的T2(Rock)系統(tǒng)就表明了這一點。當然,早在基于T1的系列問世之前,Sun就一直在制造高端服務器,但T1真正才開始兌現(xiàn)并行硬件作為大路貨的承諾。

遺憾的是,T1有一個缺點,只有T2才能解決它――支持并行浮點操作的功能很差,所以如果需要這項特性,那么T1不適合你。但如果想在典型的Web服務器環(huán)境中使用T1,它就很理想。除了這個弱點外,T1使用八核CPU、每個內(nèi)核都能夠處理四個不同的活動線程上下文,從而最多可以提供32個真正獨立的線程。

IBM

篇3

關(guān)鍵詞:設(shè)備驅(qū)動程序;應用模塊;探究應用;分析總結(jié)

1 設(shè)備驅(qū)動程序應用環(huán)節(jié)的分析

為了確保操作系統(tǒng)的整體安全性及其穩(wěn)定性的提升,我們要進行應用程序可移植性的剖析,這就是進行與之對應的設(shè)備驅(qū)動程序的應用,這是因為受到 Windows操作系統(tǒng)的程序應用限制,這些硬件資源的調(diào)動需要操作者運作設(shè)備驅(qū)動程序。通過對設(shè)備驅(qū)動程序的應用,可以實現(xiàn)硬件的有效操作,實現(xiàn)應用程序與設(shè)備驅(qū)動程序之間的良好通信,確保程序控制底層硬件設(shè)備應用效率的優(yōu)化。這需要我們進行相關(guān)具體應用模塊的分析。

在該模式應用過程中,需要通過對應用程序的應用,進行設(shè)備驅(qū)動程序與應用程序的協(xié)調(diào)應用。同時我們也要確保設(shè)備驅(qū)動程序與應用程序的協(xié)調(diào)。在上述環(huán)節(jié)的應用過程中,為了達到我們的應用需要,需要進行相關(guān)函數(shù)的設(shè)置,從而確保設(shè)備驅(qū)動程序的正常應用,在該模塊中,我們可以利用好Win32函數(shù)進行有效應用,實現(xiàn)設(shè)備驅(qū)動程序與應用程序之間的良好協(xié)調(diào),提升其通信的質(zhì)量效率。在應用過程中,我們也要為其創(chuàng)造一個良好的應用條件,確保其不同應用環(huán)節(jié)的正常效能的發(fā)揮。在設(shè)備驅(qū)動程序進行相關(guān)數(shù)據(jù)采集工作之后,我們需要進行相關(guān)應用程序的應用,保證這些數(shù)據(jù)的積極處理,以滿足當下工作的需要,提升其應用效率。

為了更好的進行設(shè)備驅(qū)動程序應用程序的優(yōu)化,我們也要進行相關(guān)工作模塊的協(xié)調(diào),積極做好異步過程調(diào)用程序、事件應用程序、消息應用程序等的協(xié)調(diào),通過對不同應用模式的協(xié)調(diào),實現(xiàn)其現(xiàn)實工作模塊的正常開展。在異步過程調(diào)用模塊中,Win32應用程序需要應用到特殊的函數(shù)動態(tài)模式,進行設(shè)備驅(qū)動程序的積極加載,從而實現(xiàn)回調(diào)函數(shù)的積極定義,這需要我們進行回調(diào)函數(shù)的具體地址的參考,確保設(shè)備驅(qū)動程序的綜合應用效益的提升。在設(shè)備驅(qū)動程序獲得回調(diào)函數(shù)的相關(guān)地址后,在進行全局變量的保存。

為了更好的進行上述工作環(huán)節(jié)的優(yōu)化,我們也要運用函數(shù)進行應用程序線程句柄的保存。當具備一定的條件時,我們就可以進行設(shè)備驅(qū)動程序的調(diào)用,確保Win32應用程序的有效應用。該函數(shù)帶需要滿足具體的參數(shù)需要。通過對參數(shù)的設(shè)置進行回調(diào)函數(shù)地址的應用。在第二個參數(shù)應用過程中,要確?;卣{(diào)函數(shù)信息的良好應用。

鑒于設(shè)備驅(qū)動程序通知應用程序的重要性,本人結(jié)合一些經(jīng)驗,對它進行了總結(jié),歸納出5種方法摘要:異步過程調(diào)用、事件方式、消息方式、異步I/O方式和事件方式(WDM)。下面分別說明這幾種方式的原理,并給出實現(xiàn)的部分源代碼。

為了滿足當下工作的開展,進行事件方式的優(yōu)化是非常必要的,這需要我們通過Win32應用程序的應用,進行事件的句柄的確立。在通過虛擬設(shè)備驅(qū)動程序的應用,進行該事件句柄的創(chuàng)建。做好上述應用環(huán)節(jié)中,在利用一些函數(shù)進行未公開的動態(tài)鏈接庫的加載,確保其動態(tài)鏈接庫的句柄的獲得,這需要我們利用好函數(shù)的相關(guān)特點,進行動態(tài)鏈接庫位置的選擇,從而實現(xiàn)對該事件的句柄的有效轉(zhuǎn)換,確保Win32應用程序的有效應用。假如加載成功,則調(diào)用DeviceIoControl()函數(shù)將Ring0事件句柄傳給VxD;同時,創(chuàng)建一個輔助線程等待信號變成有信號狀態(tài),本身則可去干其它的事情。當條件成熟時,VxD置Ring0事件為有信號狀態(tài),調(diào)用_VWIN32_SetWin

32Event()函數(shù),這馬上觸發(fā)對應的Ring3事件為有信號狀態(tài)。一旦Ring3事件句柄為有信號狀態(tài),Win32應用程序的輔助線程就對這個消息進行相應的處理。

在消息方式運作模式中,我們要進行Win32應用程序的積極調(diào)用,從而確保虛擬設(shè)備驅(qū)動程序的積極加載,提升其加載的效益。在完成該環(huán)節(jié)中,我們要進行窗體句柄的積極傳送,確保窗體的相關(guān)消息的發(fā)出,在利用好相關(guān)的函數(shù)進行Win32應用程序消息的發(fā)送,確保該函數(shù)的應用成功。在利用一些手段進行消息模塊的積極定義,以滿足現(xiàn)實工作的需要。要在消息循環(huán)中使用ON_MESSAGE()來定義消息對應的消息處理函數(shù),以便消息產(chǎn)生時,能夠調(diào)用消息處理函數(shù)。SHELL_PostMessage()函數(shù)的第一個參數(shù)為Win32窗體句柄,第二個參數(shù)為消息ID號,第三、四個參數(shù)為發(fā)送給消息處理函數(shù)的參數(shù),第五、六個參數(shù)為回調(diào)函數(shù)和傳給它的參數(shù)。Win32應用程序收到消息后,對消息進行處理。

2 關(guān)于異步I/O方式及其事件應用模式的分析

在日常工作過程中,為了保證 Win32加載設(shè)備驅(qū)動應用程序的正常開展,我們需要做好相關(guān)函數(shù)的調(diào)用工作,確保各個參數(shù)之間的良好設(shè)置,以滿足現(xiàn)實工作的需要。進行文件的重疊I/O操作控制,確保設(shè)備驅(qū)動程序文件的有效應用。在初始態(tài)的創(chuàng)建過程中,要進行手動復位模式的應用,進行相關(guān)類型數(shù)據(jù)結(jié)構(gòu)的積極傳送,確保該模塊中,參數(shù)與函數(shù)的不同模塊的傳送。在該設(shè)備驅(qū)動應用模塊中,其會將其設(shè)置為掛起狀態(tài),在該模塊中,如果IRP隊列為空,就可以將IRP放到IRP隊列中去,從而確保設(shè)備驅(qū)動程序的正常工作。在Win32應用程序工作中,其與待IRP處理模塊并不能完全實現(xiàn)同步化,這就需要確保gia模塊的設(shè)備驅(qū)動程序結(jié)構(gòu)的優(yōu)化。

在返回值的判定過程中,我們也要進行IRP處理環(huán)節(jié)的優(yōu)化,實現(xiàn)IRP工作程序的優(yōu)化,為了滿足該環(huán)節(jié)工作,要進行主程序與其他應用程序的協(xié)調(diào),確保該模塊中各個函數(shù)的信號狀態(tài)的保持,進行設(shè)備驅(qū)動程序的綜合利用效率的提升,從而實現(xiàn)IRP程序的有效開展,確保其處理效益的提升。這需要我們進行函數(shù)的應用,保證Overlapped事件中信號狀態(tài)的保持,從而確保Win32應用程序的正常相應,以滿足現(xiàn)實工作的開展,確保事件復位的無信號狀態(tài)的保持,利用一些函數(shù)來滿足我們的應用需要。函數(shù)獲取IRP的處理結(jié)果。

在事件應用模塊中,我們可以利用Win32應用程序進行事件的創(chuàng)建,將事件句柄進行設(shè)備驅(qū)動程序的傳送,確保輔助線程的積極創(chuàng)建。當然,在該模塊應用過程中,要進行等待事件的信號狀態(tài)的保持。這樣方便下序設(shè)備驅(qū)動程序應用過程中的事件句柄的轉(zhuǎn)換,以方便后續(xù)程序應用的開展。

3 結(jié)束語

Windows操作系統(tǒng)運作環(huán)節(jié)中,通過對設(shè)備驅(qū)動程序的應用,可以實現(xiàn)操縱硬件的最底層軟件接口模塊的優(yōu)化。從而進行I/O、硬件中斷、DMA和內(nèi)存訪問等操作。通過對上述模塊的應用,將應用程序和硬件細節(jié)屏蔽開來,使軟件不依靠于硬件并且可在多個不同的平臺之間移植,以滿足現(xiàn)實工作條件的需要。

參考文獻

[1]韓海力,郭云峰. 用DDK開發(fā)win2000/xp下USB設(shè)備驅(qū)動程序[J].微型電腦應用,2005.

篇4

1、首先,打開要進行操作的文件所在的文件夾,可以看到這些文件都是沒有后綴的;

2、點擊左上方的“組織”,在彈出菜單中點擊“文件夾和搜索選項”;

3、打開文件夾選項窗口后,點擊上端的“查看”;

4、進入查看界面后,如果想讓文件的后綴顯示出來,就將“隱藏已知文件類型的擴展名”選項前的勾選去掉,然后再點擊“確定”即可;

5、然后,進入桌面,發(fā)現(xiàn)文件名后面就有了后綴名;

篇5

這幾年來,我們一直在談論開發(fā)面向眾多設(shè)備的應用程序。移動應用程序仍然是將新服務或新內(nèi)容提供給移動設(shè)備的首選方式。

但是“應用程序”這整個概念可能會迎來重大變化。這一天可能很快就會到來:你只要點擊主屏幕上的某個鏈接,就可以在瀏覽器中啟動運行應用程序,用不著訪問應用程序商店(App Store)或Android Market。

原生應用程序占上風

開發(fā)人員為移動設(shè)備開發(fā)應用程序時,通常開發(fā)“原生應用程序”――這是你在應用程序商店購買后安裝到手機內(nèi)存中的那種應用程序。原生應用程序一向是為手機添加功能的事實上的標準。

大多數(shù)開發(fā)人員會贊同這個觀點:與基于瀏覽器的應用程序相比,無論外觀還是性能,原生應用程序都要勝出一籌。大多數(shù)用戶對于移動瀏覽器的態(tài)度是唯恐避之不及,因為用起來實在麻煩,當你需要輸入數(shù)據(jù)時更是如此。

原生應用程序也一向比基于瀏覽器的應用程序更易預測。因為原生應用程序在手機的內(nèi)存中運行,所以不存在這個問題:各種移動瀏覽器呈現(xiàn)原生應用程序的方式無法預測、缺乏一致性。

此外,原生應用程序?qū)W(wǎng)絡的依賴比較?。河捎谠鷳贸绦虬汛蟛糠謨?nèi)容存儲在手機上,不像瀏覽器應用程序那樣非常依賴網(wǎng)絡。瀏覽器應用程序通常駐留在云端的服務器上,必須通過Wi-Fi或3G連接不斷接人到云,才能訪問內(nèi)容。要是該網(wǎng)絡連接很差或無法使用,瀏覽器應用程序的性能可能會大打折扣。

原生應用程序很麻煩

長期以來,時間和資金有限的開發(fā)人員之所以為蘋果iOS設(shè)備和Android設(shè)備開發(fā)應用程序,是因為只有這么做,才可以讓自己開發(fā)的應用程序進入到數(shù)量最多的手機上。

但這個理由開始失去了說服力,一方面是由于在應用程序商店中推銷原生應用程序?qū)﹂_發(fā)人員來說難度很大。拿iOS應用程序來說吧,就連讓應用程序通過應用程序商店的審批也難度不小。雖然蘋果對提交審批的每個應用程序?qū)嵤┝送惶讟藴剩_發(fā)人員們表示,要是蘋果不喜歡某個應用程序――不管是什么理由,就可以一口回絕。

雖然開發(fā)人員讓應用程序通過Android Market的審批相對要容易些,但應用程序很快會消失在這個應用程序商店成千上萬的其他應用程序中,其中許多是質(zhì)量低劣的程序。

應用程序開發(fā)人員面臨的另一個問題是,他們必須針對不同的移動操作系統(tǒng)(iOS、Android及其他),有些情況下必須針對那些操作系統(tǒng)系列的不同版本,開發(fā)多個不同版本的原生應用程序。于是,開發(fā)人員不得不花大量的時間和資金,為應用程序“搞好版本”,而不是不斷改進或開發(fā)新的應用程序。

迷失于超級市場

如前所述,好不容易進入到應用程序商店的原生應用程序可能很少有人注意。隨著應用程序商店日益龐大,同時充斥著低劣或無用的應用程序,訪問應用程序變得更麻煩了。游戲網(wǎng)站W(wǎng)ildTangent的副總裁Matt Shea表示,由于各大應用程序商店是囊括各類應用程序的一站式商店,對應用程序進行合理的分類和組織很麻煩,而且常常行不通。因而,應用程序買家找不到處理預期任務的理想應用程序,盡管這個應用程序明明就在商店里面――這對應用程序的開發(fā)人員來說是個大問題。

Shea表示,各大應用程序商店對應用程序進行的分類很糟糕,這有助于解釋像WildTangent這樣專門的應用程序商店能夠大行其道;該網(wǎng)站只提供游戲,并作了精心的分類,那樣訪客更容易找到自己所需的應用程序了。

HTML5是解決之道嗎?

移動領(lǐng)域的許多人認為,如果開發(fā)人員使用HTML5來開發(fā)基于瀏覽器的應用程序,就能避免這些棘手問題。HTML5是超文本標記語言(HTML)自1999年以來的第一次升級。雖然官方HTML5標準到2014年才由萬維網(wǎng)聯(lián)盟(W3C)正式制定完成,但大多數(shù)現(xiàn)代化的移動瀏覽器已經(jīng)支持這種語言,許多Web開發(fā)人員已經(jīng)在設(shè)計HTML5網(wǎng)站。

簡而言之,HTML5將讓瀏覽器(桌面瀏覽器和移動瀏覽器)可以實現(xiàn)許多很酷的新穎功能,比如位置檢測和不需要插件就能播放音頻和視頻。同步功能也將得到改進,那樣你在工作單位觀看了電影的一部分后,坐車回家途中可以接著看電影。

HTML5最大的潛在好處也許在于,它讓應用程序開發(fā)人員能夠?qū)P拈_發(fā)每個應用程序的一個版本即可,然后它們就可以在多種瀏覽器上順暢運行,這樣他們就能把精力集中在向市場推出更多、更好的應用程序上。它還會鼓勵他們增加營銷宣傳方面的投入,減少搞好版本這項枯燥乏味的任務方面的投入。

網(wǎng)絡也是個因素。內(nèi)容傳送速度比3G網(wǎng)絡快十倍的4G網(wǎng)絡問世后,用戶們能夠以比過去快得多的速度從網(wǎng)絡獲取內(nèi)容,可靠性也要高得多――基于瀏覽器的應用程序其性能與原生應用程序匹敵的可能性也會大得多。

至于推銷宣傳方面的考慮,基于瀏覽器的移動應用程序減小了開發(fā)人員對應用程序商店的依賴。為了讓原生應用程序有機會取得成功,開發(fā)人員只好通過應用程序商店來進行推銷;HTML5的支持者則表示,而基于瀏覽器的應用程序本身更有助于通過Twitter和Google+等社交媒體,在網(wǎng)上進行推銷。

該墨守成規(guī)還是大膽嘗試?

雖然大多數(shù)開發(fā)人員認為HTML5在不斷改進,但他們表示,在實際的使用場合下,原生應用程序運行起來還是比瀏覽器應用程序要好、要快。

導致這種事態(tài)的一個原因牽涉到應用程序?qū)κ謾C功能的訪問。許多開發(fā)人員表示,HTML5應用程序還無法像原生應用程序那樣很好地控制和利用智能手機的各種硬件功能,比如處理器和方向感應器。

不過,HTML5原生應用程序在控制智能手機的硬件資產(chǎn)方面趕上原生應用程序的速度有多快,這個問題引發(fā)了激烈的爭議。

高通CDMA部門的產(chǎn)品經(jīng)理SyChoudhury說:“當然,讓人們可以使用位置檢測等功能的JavaScript綁定機制已出現(xiàn)在了大多數(shù)移動瀏覽器上。在今后半年內(nèi),我們會看到這方面不斷完善,包含更豐富的位置檢測功能,以及眾多新功能,比如訪問圖形處理器(GPU)的WebGL、訪問攝像頭/攝像機的功能,以及比現(xiàn)在更豐富的音頻控制功能,等等?!?/p>

Choudhury及其團隊負責在高通的Snapdragon處理器上為移動設(shè)備優(yōu)化Web瀏覽器和操作系統(tǒng)的性能。

Mozilla的移動瀏覽器產(chǎn)品經(jīng)理Thomas Arend補充說:“幾個月前,各大瀏覽器廠商開始紛紛演示,重點介 紹HTML5應用程序能夠充分利用的功能,比如方向感應器、設(shè)備方向、地理定位和攝像頭集成?!盇rend著重提到了Mozilla開發(fā)者網(wǎng)站重點介紹的儀表板(Dashboard,https:///an-US/demos/detail/html5-dashboard)這個例子。

提供一致的用戶體驗也是個問題。一些開發(fā)人員表示,面對不同的瀏覽器和不同的設(shè)備,HTML5瀏覽器應用程序的運行方式也不同,因而開發(fā)人員很難確保所有移動消費者會喜歡應用程序在各自環(huán)境中運行的方式。

Arend表示,但采用基于瀏覽器的方法未必是個不利因素。Arend說:“使用Web作為采用HTML5和CSS3的平臺最有希望讓用戶在不同的設(shè)備和平臺上獲得一致、個性化的體驗,而不是使用不同設(shè)備會獲得不同的體驗。設(shè)計良好的Web應用程序與原生應用程序在用戶看來沒什么區(qū)別。”

與任何新技術(shù)一樣,HTML5的采用也會呈現(xiàn)鐘形曲線的模式。而早期采用者已經(jīng)開始采取行動。比如說,網(wǎng)絡音樂服務商Pandora已宣布改用HTML5來開發(fā)應用程序;而云存儲公司表示,它也會走HTML5這條路線。另外讓人感興趣的是,一則吊人胃口的傳聞堅稱,亞馬遜很快會一款用HTML5開發(fā)的基于瀏覽器的Kindle應用程序。

不是“非此即彼”的問題

盡管原生應用程序與瀏覽器應用程序爭得不可開交,但許多開發(fā)人員并沒有面臨非此即彼的決定。實際上,這兩種應用程序可能都有一席之地。

比如說,游戲開發(fā)人員可能會開發(fā)基于瀏覽器的“簡化”版本,那樣潛在買家沒必要訪問應用程序商店,就可以試玩一下,就像Mozilla的Arend指出的那樣;如果他們喜歡這款游戲,可能會決定購買標準版的原生應用程序。

此外,開發(fā)人員可以基本上像開發(fā)瀏覽器應用程序那樣開發(fā)許多原生應用程序,使用同樣的工具,但隨后可以給它們配備原生應用程序“包裝器”(wrapper)。由于這個原因,原生應用程序和瀏覽器應用程序有時不像人們想象的那樣大不一樣。

最終,開發(fā)人員可能會根據(jù)銷售要素來決定是開發(fā)原生應用程序還是開發(fā)基于瀏覽器的應用程序。開發(fā)人員必須問清楚:讓應用程序吸引用戶的最佳方法到底是通過應用程序商店來銷售,還是通過社交媒體在開放的互聯(lián)網(wǎng)上來銷售。

篇6

要將應用程序綁定到任務欄上,首先點擊打開“網(wǎng)頁瀏覽器”程序。

打開后,會在任務欄中出現(xiàn)瀏覽器程序的圖標。

右鍵單擊任務欄中的瀏覽器程序的圖標,在彈出的菜單中選擇“將此程序鎖定到任務欄”。。

然后關(guān)閉瀏覽器程序,你會發(fā)現(xiàn)瀏覽器程序圖標已經(jīng)在任務欄中了。

綁定之后,再右鍵單擊任務欄中的瀏覽器程序的圖標,在彈出的菜單中選擇“將此程序從任務欄解鎖”。就可以解除與任務欄的綁定了。。

點擊“將此程序從任務欄解鎖”,將瀏覽器關(guān)閉后,狀態(tài)欄上面就沒有瀏覽器程序了。。

篇7

1、無法啟動是因為計算機管理是本地組策略更改的計算機的設(shè)置。

2、解決辦法:開始---運行(輸入gpedit.msc)----確定或者回車。在打開的“本地組策略編輯器”窗口找到用戶配置,點擊用戶配置前面的小三角。在“用戶配置”的展開項中找到管理模板,點擊管理模板前面的小三角。

3、在“管理模板”的展開項中找到系統(tǒng),并用左鍵單擊系統(tǒng)。用鼠標左鍵按住右邊的滑塊向下拉,找到“組策略”下的“不要運行指定的Windows應用程序”。

4、用鼠標左鍵雙擊“不要運行指定的Windows應用程序”,在彈出的“不要運行指定的Windows應用程序”窗口點擊已禁用,再點擊確定,退出“本地組策略編輯器”。重啟電腦即可。

(來源:文章屋網(wǎng) )

篇8

 

1 “網(wǎng)上地宮”的開發(fā)體系結(jié)構(gòu)分析與設(shè)計

 

1.1 應用程序系統(tǒng)結(jié)構(gòu)

 

“網(wǎng)上地宮”是基于Web信息所建立的HTTP協(xié)議,它運用到了Web的數(shù)據(jù)庫訪問技術(shù),并通過Java開發(fā)技術(shù)進行對系統(tǒng)作用的補充。所以整體來看,“網(wǎng)上地宮”是基于Web、B/S、Java等技術(shù)形成的綜合開發(fā)體系結(jié)構(gòu),如圖1。

 

1.2 應用程序系統(tǒng)設(shè)計

 

一般來說,“網(wǎng)上地宮”系統(tǒng)都是應用于煤礦企業(yè)的礦級應子系統(tǒng)和隊級應子系統(tǒng)的,另外它也能夠負責生產(chǎn)指揮圖子系統(tǒng)的相關(guān)功能。其中礦級子系統(tǒng)包括了7個模塊:油水井動靜態(tài)開發(fā)數(shù)據(jù)模塊、月生產(chǎn)運行曲線模塊、原油產(chǎn)量監(jiān)測模塊、綜合開采模塊、產(chǎn)量組合模塊、開采模塊以及機采井動態(tài)控制模塊。而隊級子系統(tǒng)則包括了開發(fā)數(shù)據(jù)模塊、單井生產(chǎn)運行模塊、油水井基礎(chǔ)信息模塊和機采井動態(tài)控制模塊4大模塊。

 

上述11個模塊都擁有自身的獨立性,并在“網(wǎng)上地宮”總系統(tǒng)的指揮下進行各個服務器端的運行、編輯、動態(tài)管理和信息。以便于“網(wǎng)上地宮”相關(guān)功能的多元化實現(xiàn)。

 

2 “網(wǎng)上地宮”應用程序的模塊功能實現(xiàn)

 

按照上述對“網(wǎng)上地宮”中各個子系統(tǒng)模塊的設(shè)計狀況,其目的也是為了在實際的煤礦開采過程中得以功能實現(xiàn),并創(chuàng)造經(jīng)濟效益。所以本文選取基于Java技術(shù)的生產(chǎn)指揮圖子系統(tǒng)的相關(guān)功能模塊應用進行論述。

 

按照功能劃分,生產(chǎn)指揮圖子系統(tǒng)具備兩項功能:第一是基于Web的生產(chǎn)指揮圖編輯功能,第二是網(wǎng)上信息功能。兩種功能系統(tǒng)都是通過Servlet與Java技術(shù)得以實現(xiàn)的。

 

2.1 基于Web的生產(chǎn)指揮圖編輯功能實現(xiàn)

 

生產(chǎn)指揮圖編輯工作是有技術(shù)管理員來完成,所以它應該被設(shè)置于服務器端最為合理,而并不通過網(wǎng)絡,這是為了避免過多插件所造成的影響。由于運用到了Java技術(shù)對模塊的B/S結(jié)構(gòu)模式加以實現(xiàn),所以它需要系統(tǒng)虛擬機支持JDK1.1以上版本的軟件,并同時支持SWING。按照系統(tǒng)的實際需求,可以將編輯處理器部分的JDK軟件設(shè)置于服務器上,并將其與網(wǎng)上信息模塊相互連通,以提升它的高級程序特性。

 

在編輯功能系統(tǒng)中,一定要針對Java技術(shù)進行系統(tǒng)功能實現(xiàn),從而滿足網(wǎng)上地宮的動態(tài)可視化特性。這里運用到AWT,它是Java中的可視功能部分,它可以輔助JavaGUI實現(xiàn)靈活的系統(tǒng)結(jié)構(gòu)設(shè)計,并基于AWT的基礎(chǔ)上為系統(tǒng)提供可以替代AWT的輕重量組件,最終全面實現(xiàn)系統(tǒng)的圖形編輯功能。

 

2.2 基于Web的生產(chǎn)指揮圖網(wǎng)上信息功能實現(xiàn)

 

在生產(chǎn)指揮圖的網(wǎng)上信息功能方面,則運用了基于Java Applet技術(shù)的客戶端。但在功能實現(xiàn)過程中也要考慮“網(wǎng)上地宮”系統(tǒng)中與安全機制相關(guān)的“沙箱”模型限制,它主要是針對服務器端通信功能的限制。本文在對信息功能設(shè)計過程中所采用的是證書機制,它會為每一個使用系統(tǒng)的用戶發(fā)放證書,進而實現(xiàn)數(shù)據(jù)服務器中所有數(shù)據(jù)的無線共享功能。不過為了解決證書發(fā)放的相對復雜性,這里采用到了基于Servlet客戶端的applet模式來避開applet的相關(guān)安全限制,以達到實現(xiàn)三層模式的基本要求,同時保證不損失服務器端的安全功能。

 

在該系統(tǒng)中,“沙箱”模式主要對隔離區(qū)域的執(zhí)行程序(例如Java模板、ActiveX控件)進行進程方面的程序執(zhí)行,它的操作前提是不會影響到其它部件的基本功能。由于采用了訪問權(quán)限機制,所以只有有權(quán)限的使用者才可以對系統(tǒng)內(nèi)的文件及目錄進行訪問,這樣設(shè)計的目的也是為了保護系統(tǒng)中資源不會受到來自于未知威脅的影響。

 

按照Web的基本三層結(jié)構(gòu)設(shè)計應用,并同時為系統(tǒng)的安全性限制做考慮,本文中的生產(chǎn)指揮圖網(wǎng)上信息子系統(tǒng)所采用的是基于Java技術(shù)的Applet服務器,它可以實現(xiàn)在數(shù)據(jù)庫各個服務器之間的相互通信,并實現(xiàn)從客戶端到Web服務器之間以及Web服務器和Oracle數(shù)據(jù)庫服務器之間的動態(tài)信息傳輸功能應用。

 

3 總結(jié)

 

以目前的計算機技術(shù)及網(wǎng)絡應用程序開發(fā)的發(fā)展節(jié)奏來看,交互式Web技術(shù)的應用范圍將會越來越廣。正如本文中所描述的“網(wǎng)上地宮”企業(yè)信息動態(tài)管理系統(tǒng),它的設(shè)計與功能模塊就幫助煤炭企業(yè)實現(xiàn)了對工程信息的管理和共享,這極大程度的提升了企業(yè)的生產(chǎn)效率和決策效率,使得我國工業(yè)發(fā)展更加信息化、智能化、人性化。

篇9

本文提出的WEB運用程序的安全設(shè)計以及運用技術(shù)將為客戶建立全新的視角和服務理念,并且對該項新技術(shù)作了相應的研究和分析,希望為我國以后WEB系統(tǒng)的發(fā)展提供一些借鑒性的參考。

【關(guān)鍵詞】WEB系統(tǒng) 應用技術(shù) 信息技術(shù)

本文中介紹的Web支持的系統(tǒng)能夠勝任用戶的這一要求,Web的運行程序主要是由能夠完成特定任務的Web組件構(gòu)成的,并且可以通過web把服務項目清晰全面地展現(xiàn)給用戶。

1 智能網(wǎng)絡和WEB的不同點

1.1 智能網(wǎng)絡

無數(shù)種信息技術(shù)的融合和發(fā)展最終組成了現(xiàn)在人們生活中接觸和使用智能網(wǎng)絡,它可以通過先進的數(shù)據(jù)傳輸技術(shù)和相關(guān)的軟件對人們手中各種各類的電子元件進行連接來完成用戶的某種需求,而且也能夠完成對數(shù)據(jù)頁面的研究和分析。

1.2 WEB系統(tǒng)概念和作用

WEB應用程序,這個概念是計算機專業(yè)人士總結(jié)并提出的,對它最為廣泛和常見的解釋就是:一個網(wǎng)站內(nèi)的信息可以和其它網(wǎng)站的數(shù)據(jù)系統(tǒng)相互交流和同步更新,也可以利用第三方網(wǎng)絡平臺對多家網(wǎng)站內(nèi)的實時數(shù)據(jù)有效的整合、更新和利用,而我們的用戶可以在互聯(lián)網(wǎng)中建立自己的個人數(shù)據(jù)庫,并且這些信息數(shù)據(jù)能夠在多個頁面進行登錄,而且應用WEB這一個程序可以通過瀏覽器完成之前要通過很復雜的程序才能實現(xiàn)的系統(tǒng)功能,用戶在一個網(wǎng)站進行個人數(shù)據(jù)更新之后就會引起所有網(wǎng)站的數(shù)據(jù)更新。

2 WEB應用程序的安全設(shè)計

WEB程序的安全性不單單是為了針對WEB的應用程序而言,而是針對運行WEB應用程序的運行環(huán)境,這其中包括WEB服務器以及網(wǎng)絡數(shù)據(jù)庫等,對WEB程序做安全設(shè)計是為了免遭來自網(wǎng)絡的不同威脅。WEB程序安全技術(shù)設(shè)計一般分為6個方面:身份驗證、授權(quán)、審核、保密、完整性以及認可。

2.1 WEB的身份驗證

身份驗證出現(xiàn)在很多的網(wǎng)絡應用程序中,在WEB中出現(xiàn)也很正常,當我們的用戶連接到WEB應用程序中時,WEB服務器就會對其要求提供相應的信息對身份進行驗證,而且在WEB程序中存在的COM+組件也可以對用戶提出驗證要求,如果用戶一旦訪問了數(shù)據(jù)庫,在數(shù)據(jù)庫內(nèi)部設(shè)置的身份驗證程序也會啟動,這樣通過將身份驗證的程序植入到WEB應用程序的多個位置當中,就可以將信息受到的威脅程度降到最低。

2.2 WEB的授權(quán)程序

當?shù)卿浻脩敉ㄟ^了身份驗證之后就可以進行網(wǎng)頁的瀏覽或者資源的訪問,在WEB程序會對已經(jīng)通過身份驗證的用戶進行檢查,這種程序是用來確保數(shù)據(jù)查閱的人對該資源是否擁有權(quán)限,這就是WEB程序中的授權(quán)。

在WEB程序中常見的授權(quán)機制為下面這四種:

(1)windows 2003用戶賬戶訪問權(quán)限

(2)許可

(3)基于角色的安全

(4)Windows 2003訪問的控制列表數(shù)據(jù)

2.3 WEB的審核程序

審核的目的是為了收集一系列的信息,甚至包括用戶在訪問時的登陸失敗,也包括使用訪問特權(quán)和其他的安全性信息。審核收集的信息會被記錄在系統(tǒng)的日志中,為以后的調(diào)查分析儲存可靠的數(shù)據(jù)。

2.4 WEB的保密程序

保密程序在很多時候被稱為網(wǎng)絡安全的機密性,它的含義也是用來保護用戶信息的,但是這種程序保護的是用戶沒有對外開放的信心數(shù)據(jù)。而且多數(shù)是加上了專門的加密技術(shù),在WEB保密程序中可以在其他用戶看不到的情況下實現(xiàn)一個用戶給另一個用戶發(fā)送秘密信息,有人會建議使用網(wǎng)絡協(xié)議分析器,就算是使用了這種技術(shù)也是無法看到的?,F(xiàn)在的保密技術(shù)包括安全套接字、Internet協(xié)議安全性和加密技術(shù)。

2.5 WEB程序的完整性

完整性是為了保護用戶在進行信息傳輸過程中被惡意更改或者刪除,這種安全技術(shù)可以保證接收一方得到的是最原始的數(shù)據(jù),在現(xiàn)代的可編程簽名數(shù)據(jù)中就應用了這一種技術(shù)。

2.6 WEB程序中的認可

在現(xiàn)代計算機技術(shù)中認可是一種技術(shù)而不是傳統(tǒng)的行為,它的應用本質(zhì)和目的是用來作證明的,證明用戶的行為曾經(jīng)在WEB程序中發(fā)生過,這樣可以確保用戶對資源的順利訪問,不會出現(xiàn)中途突然被禁止的情況。認可的一套完整程序是要經(jīng)過身份驗證、授權(quán)、審核以及數(shù)據(jù)完整性,因此認可這一種安全技術(shù)對于現(xiàn)在的電子商務十分重要。

3 WEB程序?qū)逃脚_建設(shè)的應用

WEB技術(shù)應用的基礎(chǔ)設(shè)備主要是我們現(xiàn)在使用的基礎(chǔ)網(wǎng)絡,當然現(xiàn)代人類對計算機的操作技術(shù)也要包括在內(nèi),而且在有必要的時候要對網(wǎng)絡數(shù)據(jù)庫實時的更新?,F(xiàn)在為了擴展和增加學生的學習內(nèi)容及方式,生活當中實現(xiàn)了在家中建立課堂的夢想,這就是人們所說的家庭課堂,最有名的是黃岡的名師輔導,他們就是利用了WEB系統(tǒng)在網(wǎng)絡上給學生創(chuàng)建了一個虛擬的教室,讓老師和學生能夠?qū)崿F(xiàn)跨越空間面對面交流,還可以實現(xiàn)在線考試,在線實時輔導,這樣就可以完成遠程的知識與教育在不同地方同時開展。

WEB系統(tǒng)程序可以支持全國名師的教學直播,而且可以將收集老師在直播房間中使用的ppt、doc等教學輔助文件,將這些全面的教學資源和學習材料到WEB支持的教育平臺之上,只要學生登錄網(wǎng)站鏈接就可以立刻觀看到名師的課堂講解。

對于建設(shè)在遠程教育中的子系統(tǒng),可以劃分為監(jiān)督學習、活動設(shè)計以及學生的行為追蹤等,對學生的追蹤行為是我們教師對學生1對1的教學模式,WEB系統(tǒng)中設(shè)置的學生行為追蹤模塊可以讓老師實時的觀看到每一個學生在學習過程一系列舉動行為,這樣老師就可以根據(jù)學生目前的學習現(xiàn)狀制定不同的學習任務。WEB運行程序里面的追蹤技術(shù)是聯(lián)合了面向日志系統(tǒng)和事件攔截系統(tǒng),前者可以根據(jù)學生的表現(xiàn)行為提取有效的數(shù)據(jù)并進行相關(guān)的分析,從而達到對每一個聽講學生的全面了解。后者的事件攔截是用來在第一時間內(nèi)對教育系統(tǒng)中的動態(tài)進行攔截和過濾,這樣就可以得到學生在學習中的有關(guān)數(shù)據(jù)模式。

4 結(jié)束語

本文從WEB程序安全程序設(shè)計的角度對安全技術(shù)作了一些簡單的闡述,對WEB應用于教育平臺建設(shè)作了相應的介紹,以期可以為我國在WEB程序安全建設(shè)方面起到一些借鑒性的參考,WEB系統(tǒng)作為促進互聯(lián)網(wǎng)發(fā)展變革的技術(shù)不單單是可以應用于教育平臺的建設(shè),筆者相信WEB系統(tǒng)的發(fā)展會在今后的科技領(lǐng)域引領(lǐng)主導,因此國內(nèi)的信息技術(shù)專業(yè)人才一定要踏上這艘信息革命的快船,為我國在這一領(lǐng)域占領(lǐng)先機,為國家的建設(shè)和發(fā)展做出自己的貢獻。

參考文獻

[1]劉洋.WEB應用程序安全設(shè)計及應用技術(shù)的研究[D].山東大學,2009 CNKI.

篇10

關(guān)鍵詞:Java Web;應用程序;安全技術(shù)

中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2016)30-0265-03

隨著現(xiàn)代化的網(wǎng)絡技術(shù)和信息技術(shù)的不斷發(fā)展,在人們的生活當中網(wǎng)絡已經(jīng)得到了相當廣泛的應用。很多現(xiàn)代化的網(wǎng)上業(yè)務已經(jīng)出現(xiàn)了人們的生活當中,比如電子商務、電子政務、數(shù)字化圖書館、遠程教育以及網(wǎng)上休閑娛樂功能等活動。在網(wǎng)絡發(fā)展過程當中Web應用系統(tǒng)是在網(wǎng)絡發(fā)展過程當中發(fā)展最快的。在現(xiàn)代化的各種政府部門或者企業(yè)當中,Web技術(shù)已經(jīng)得到相當廣泛的應用,因此Web系統(tǒng)發(fā)揮著重要的作用。值得注意的是,在網(wǎng)絡世界當中,對其中的管束和約束也是相當大的,已經(jīng)成為了網(wǎng)絡發(fā)展的重要障礙和威脅,從而需要對其Java Web的應用安全技術(shù)進行全方位的保障,從而推動其健康的發(fā)展。

1 Java Web應用技術(shù)所面臨的安全威脅

Web應用程序主要是在Web開發(fā)程序的基礎(chǔ)之上進行開發(fā)的,需要利用服務器和客戶端這兩個基本的組件來進行維護和開發(fā),從而可以使得對瀏覽器端所發(fā)出的請求進行獲取,將起發(fā)送到服務器的部分進行數(shù)據(jù)的相應和一系列請求操作。在服務器端和客戶端的通信協(xié)議都主要是以HTTP為基礎(chǔ)出發(fā)點的,并且根據(jù)其中的安全級別來對通信過程當中的信息和數(shù)據(jù)進行機密性的保護和完整性的保證,一般在加密f議上都采用SSL/TLS協(xié)議來進行保障。在網(wǎng)絡當中存在的不安全因素是相當多的,因此在對Web應用程序進行開發(fā)的時候,就對設(shè)計人員和開發(fā)人員提出了更多更高的要求。在因素當中,主要包括三個方面的不安全因素,首先是來自于客戶端的安全威脅,主要是由于瀏覽器本身當中的缺陷而對其中的代碼造成了執(zhí)行方面的安全漏洞;其次是服務器端造成的安全威脅,其中主要是Web應用程序當中的服務器端的代碼在進行隱藏的時候其中產(chǎn)生的缺陷就會造成安全方面的威脅,從而對其運行支撐環(huán)境造成相當不利的影響,比如SQL注入漏洞以及操作系統(tǒng)漏洞等威脅;最后在整體的信息通信過程當中還存在著一定程度的威脅,對信息的竊聽以及數(shù)據(jù)方面的修改會產(chǎn)生不利的影響,從而對Web應用程序當中的通信數(shù)據(jù)產(chǎn)生機密性和完整性的缺陷。

2 Java的安全體系結(jié)構(gòu)和安全策略

2.1 Java的安全體系結(jié)構(gòu)

在Java的安全體系結(jié)構(gòu)當中,是建立在安全沙箱的基礎(chǔ)概念之上的,對模型區(qū)分了本地代碼和利用網(wǎng)絡加載的遠程代碼。在本地代碼當中是可以信任的,并且可以對本地的資源進行訪問。在Java設(shè)計當中,對安全體系結(jié)構(gòu)進行了增加,需要建立在保護域的概念之上,從而可以為其提供很大程度的安全控制。

在保護域方面,主要對應用安全和系統(tǒng)安全進行了區(qū)分,其中最核心的概念就是保護域,可以對操作環(huán)境當中需要保護的部分進行指出,以此來對組件進行分組或者對被保護資源進行分組。在保護域當中,需要將具有相同權(quán)限的類進行歸類,從而度保護域進行了定義。如圖1所示:

在Java類的加載安全機制當中,需要對基本類的記載其進行引入,從而對加載器之間的關(guān)系問題進行有效解決,在這過程當中Java程序當中所需要的初始類是需要進行加載的,并且對其他類的加載器,需要進行起動才能對其進行加載,如圖2所示。

在Java權(quán)限方面,是利用一個固定的類來進行表示的,為Permission,在Java當中提供了一些子類來表示具體系統(tǒng)的權(quán)限,并且對其子類也建立了相對應的應用程序權(quán)限,利用此種方式來實現(xiàn)了對Java當中安全策略的相關(guān)定義。

2.2 Java的安全策略

在Java的安全策略當中,最重要的是可以根據(jù)一個應用程序當中的不同來對其創(chuàng)建出不同的安全策略文件,從而對其中的保護域內(nèi)容進行不斷的提升和改進,但是對應用程度當中的代碼卻不會進行任何改動和變動。在安全策略文件當中,需要對應用程序當中的策略條目進行定義,并且根據(jù)文件當中的條目找到相對應的安全策略文件。

首先在安全屬性文件方面,需要對三種類型的安全策略文件進行配置,分別是系統(tǒng)安全策略文件、放在用戶根目錄之下的用戶策略文件以及應用程序加載的應用安全策略文件,利用對其系統(tǒng)屬性的設(shè)定,可以將現(xiàn)有的安全策略文件進行代替。同時,還有一種情況就是可以允許任何程序的人對Java現(xiàn)有的安全策略文件進行改變,在這個過程當中就會出現(xiàn)一系列的安全問題,在發(fā)生此種情況的時候需要利用Java命令來對其系統(tǒng)屬性進行設(shè)置。

在Java的安全策略文件方面,是包含著一系列的條目的,可以對其進行授權(quán),但是在這個過程當中,需要進行鑰箱的明確,從而利用數(shù)字前面來對相關(guān)證書和密鑰進行查找。

3 Web安全研究

在對JavaWeb應用程序的相關(guān)安全技術(shù)進行研究的時候,可以從客戶端、服務器端以及整體的通訊過程當中產(chǎn)生的安全威脅進行研究,可以分為以下幾個方面來進行分析:

1) 如果Web應用程序在程序級別和代碼級別進行安全防范的過程當中,需要對應用程序的編寫和安全級別進行不斷的提升,需要對開發(fā)環(huán)境以及目標程序的安全性和運行穩(wěn)定性進行充分的了解;其次還應該對黑客常用的技術(shù)進行了解,包括黑客的心理、類型、目標以及技術(shù)等相關(guān)的內(nèi)容。從各個角度來對Web程序的防御性能進行編寫。

2) 還可以利用多種方式來作為用戶的身份認證方式,比如數(shù)字證書等,對服務證書和客戶端證書之間實現(xiàn)相互的連接,從而對其SSL實現(xiàn)雙向認證的方式,最終實現(xiàn)數(shù)據(jù)的安全傳送。

3) 還可以利用計算機技術(shù)來充分減少Web應用程序的安全通信方面帶來的各種負面影響:

Ajax:即為一種創(chuàng)建交互式的網(wǎng)頁開發(fā)技術(shù),廣泛受到了信息界的好評和關(guān)注。利用Ajax技術(shù)可以實現(xiàn)后臺異步數(shù)據(jù)有效讀取的功能,從而對用戶操作的便捷性進行全方位的提升。在進行互聯(lián)網(wǎng)技術(shù)提升的過程當中,最重要的部分就是提升用戶本身的操作體驗,從而實現(xiàn)用戶可以在頁面基礎(chǔ)之上和程序進行良好的互動連接。值得注意的是利用此項技術(shù)的時間是相對較短的,因此在應用方面還存在相當大的缺陷和漏洞。在此種情況下,應該在其中進行相對應的嵌入式的保護,從而對程序進行有效的保護。在一般情況下,利用Ajax技術(shù)進行應用程序的開發(fā)過程當中,在頁面發(fā)生變化的情況下就需要及時的通知用戶,并且還要在服務器和客戶端之間建立起專項的通道,從而對其輸入的信息進行檢查。如果服務器需要開展用戶的相關(guān)認證工作的情況下,就應該在所用的服務器的腳本方面上進行展開,需要最大程度的對認證工作的質(zhì)量以及信息的被盜取效率進行降低。

Cookie:即為一種增強用戶身份識別工作的簡單性和準確性所建立的數(shù)據(jù)緩存,可以幫助應用程序的服務器對用戶的身份信息進行有效快速的識別。利用了此項技術(shù)之后,在用戶進行登錄之后,就會對用戶注冊的信息進行記錄,放入到緩存當中,在下一次用戶進行重復訪問的時候就會快速的提取到用戶的相關(guān)信息,實現(xiàn)了信息認證程序當中的重復性工作。在利用cookie技術(shù)進行開發(fā)的時候,在過去的時間當中經(jīng)常會受到黑客的攻擊,從而對用戶的信息數(shù)據(jù)造成泄露,造成了相當大的損失。其中web蠕蟲就是攻擊cookie技術(shù)的主要病毒形式。以其極強的破壞力和傳播力可以對其應用程序的安全漏洞進行全方位的傳播,從而對網(wǎng)頁當中的腳本以及回話信息進行竊取。另外一方面,CSRF也可以ν站進行偽裝,從而騙取用戶的信任,對該網(wǎng)站進行利用。

JavaScript:即為一種安全性能較完善的腳本語言,可以對對象和事件來進行驅(qū)動。利用此項技術(shù)對網(wǎng)頁進行開發(fā)的時候是具有生動簡潔的優(yōu)勢的,在語言的掌握方面是相對簡潔的,在現(xiàn)階段的開發(fā)應用過程當中收到了廣大程序員的歡迎。在現(xiàn)階段當中,函數(shù)句柄劫持以及DOM劫持屬于此項技術(shù)當中最主要的安全威脅。函數(shù)句柄劫持,屬于黑客當中常見的供給手段,對網(wǎng)頁的那個中的方法或者變量值進行重新定義或者賦值的方式來實現(xiàn)對原本程序的攻擊,篡改原本的程序。在很多情況下,被劫持函數(shù)的原本語句是不會被黑客保留的,此種方式下的函數(shù)反劫持工作是具有相當高的難度的,因此是難以實現(xiàn)的。DOM劫持也是比較常見的一種劫持方式,在對象被惡意代碼進行劫持之后,函數(shù)句柄的反劫持手段所發(fā)揮的作用就會被受到限制。在現(xiàn)階段的實際應用環(huán)境當中,相關(guān)的惡意代碼是完全不會被包魯?shù)皆镜木浔北井斨械?,會給函數(shù)的反劫持帶來巨大的限制作用。因此,目前狀態(tài)下的JavaScript函數(shù)反劫持技術(shù)也是一個相當重大的難點,在對其進行開發(fā)的過程當中需要對反劫持的相關(guān)技術(shù)提出防范建議,在Web應用程序的防范方面上需要利用服務器端的驗證代碼來對其進行驗證,從而對用戶提交的數(shù)據(jù)內(nèi)容信息進行客戶端方面的校驗,實現(xiàn)對邏輯相關(guān)業(yè)務的處理,加強對腳本語言的驗證,在客戶端進行驗證,從而做到從根本上安全性能的防范。

比如在一個應用程序當中,需要實現(xiàn)點擊登錄的功能,在進行初始認證的過程當中,就需要對應用程序進行重定向的操作,最終指向OracleAS SSO Server,在這個過程當中可以檢查該用戶是否是一個有效的cookie集;如果沒有,就需要在用戶進行提交用戶名和密碼的時候進行驗證。在用戶提交之后,就可以在服務器當中進行密碼驗證并且在瀏覽器當中設(shè)置一個SSO cookie。可以用來在服務器和瀏覽器之間實現(xiàn)通過HTTP的方式來對客戶進行登錄驗證。在這個過程當中,是不能被第三方進行設(shè)置或者讀取的,需要在一定的特定時間之后才會過期,這個過期的時間長短是由管理員來進行設(shè)置的。在整個服務器和合作應用程序進行登錄的過程當中,首先需要用戶訪問合作伙伴應用程序A,確定沒有被進行認證;之后應用程序就會將其進行重定向到SSO Server;之后就會進行用戶名密碼頁面的顯示,并且進行密碼驗證的時候?qū)ookie進行設(shè)置,就會在SSO證書當中進行存儲,之后就會通過認證用戶登錄合作伙伴應用程序的加密令牌來將用戶進行重定向到合作伙伴的應用程序當中,這樣就完成了A程序當中的cookie設(shè)置,如圖3所示

4 結(jié)語

綜上所述,Java Web應用程序的開發(fā)是需要建立在Java的基礎(chǔ)知識之上的,在和Web技術(shù)建立起緊密的聯(lián)系之后,從而對其進行應用程序的開發(fā)。在這個過程當中,需要針對Web技術(shù)當中存在的漏洞進行安全方面的防護,從而使得系統(tǒng)安全、網(wǎng)絡安全以及數(shù)據(jù)庫安全都可以得到緊密的連接。在進行分析的時候,需要根據(jù)實際情況來對數(shù)據(jù)庫的安全環(huán)節(jié)進行建立,從而制定出切實可行的安全對策,利用各個層次之間的安全策略,保障數(shù)據(jù)庫的安全。

參考文獻:

[1] 彭昊辰,鄭金磊.Java Web應用程序安全技術(shù)研究[J].中小企業(yè)管理與科技,2016(8):261-261.

[2] 裴德志.基于J2EE的WEB安全研究[D].武漢理工大學,2006.

[3] 陳華.Java Web應用程序安全技術(shù)研究[J].電腦編程技巧與維護,2010(24):123-124,139.