999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

圖表技術在Java Web應用程序中的應用研究

2020-06-01 05:14:04張少應
西安航空學院學報 2020年1期
關鍵詞:圖表數據庫系統

張少應,張 濤

(西安航空學院 計算機學院,西安 710077)

0 引言

隨著信息化建設的不斷發展,企業各下屬部門建立了各種功能的管理系統,給企業的生產和銷售帶來了很大的幫助和便利,但這些系統存在架構差異較大、系統間數據不關聯、信息不互換共享、重復建設等問題。同時企業對數據的應用和要求越來越廣泛,企業開始將各類同構和異構的數據進行集成,使得數據量按級數增加,導致數據檢索與分析困難。針對上述問題,系統開發人員通常采用數據倉庫、數據挖掘、聯機分析、應用集成等技術,對海量數據進行分析處理,為管理層政策決策提供可靠的依據。在Web應用程序中,數據統計已從單純的文本顯示向多元化角度發展[1]。使用報表、圖表顯示的方式,更直觀地為管理層進行信息預測、政策制定提供可靠的保障,實現數據的可視化。

1 常用圖表生成技術

Java語言是企業級開發中常選的開發語言之一,目前在Java Web應用程序中使用的圖表生成技術有兩種:一是基于HTML5圖形庫的圖表組件(客戶端生成技術);二是基于服務器端生成技術。這兩種技術針對多種格式的數據,為用戶提供了可以高度個性化定制的數據可視化圖表,基本都能滿足企業級開發的需求。

1.1 基于客戶端生成技術

在B/S應用系統開發中,基于客戶端生成技術通常采用Flash插件、基于HTML5的Canvas組件采用JavaScript+DIV等前臺開發技術,結合Ajax的異步更新工作方式,在不重新加載整個頁面的情況下,實現與服務器交換數據,并更新部分網頁內容。其工作原理如圖1所示。

圖1 基于客戶端生成技術的工作原理

目前比較流行的技術有ECharts、Hightcharts等。這些軟件大多都是純JavaScript編寫的圖表庫,底層依賴輕量級的Canvas類庫,為用戶提供直觀、可交互、可高度個性化定制的數據可視化圖表[2-3]。使用該技術進行開發時,需要在頁面中引入該技術對應的庫文件以及自定義的JavaScript文件,在頁面添加一個DIV元素,作為放置圖表展示的容器;設置圖表類型配置項的參數值和圖表的渲染;定義解析函數,完成處理XML、JSON格式數據的JavaScript加載文件,實現以圖表形式顯示業務邏輯數據的功能。

1.2 基于服務器端生成技術

基于服務器端的生成技術,通常都是采用Java技術開發的圖形圖表類庫,供Java Applets、Servlets以及JSP應用程序的調用,實現對后臺數據的處理,直接在瀏覽器中顯示交互式的圖表圖像,其工作原理如圖2所示。

圖2 基于服務器端生成技術的工作原理圖

目前比較流行的技術有JFreeChart[4-5]、JCharts、潤乾報表等,它們大多都使用純Java語言編寫,繼承其跨平臺的特性,在基于框架開發、MVC開發模式等Java Web應用程序中,都可以無縫的與該系統集成,為企業級數據分析與商業智能提供可靠的、直觀的統計分析圖表,為企業管理者的決策提供必要的參考。

使用該技術進行開發時,用戶需要在項目中導入該技術對應的JAR庫文件,在Java類文件(JavaBean或Servlet)中,調用JAR文件中接口或類提供的方法,建立與后臺數據庫服務器交互的數據源;創建圖表對象,設置圖表類型項參數、圖形特性、顯示外觀等屬性值;使用JSP的動作標記,完成JSP頁面對Java類文件的調用,實現業務邏輯數據以圖表形式的直觀顯示。

1.3 兩種技術的比較

在Java應用開發中,兩種技術都可以同后臺數據庫進行交互,在Web應用程序中生成折線圖、餅狀圖、曲線圖、散點圖等各類動態統計圖,為用戶提供直觀的數據顯示模式;設置鼠標點擊時數據點顯示提示的效果,縮放過濾按需查看細節,實現圖形的渲染等功能。但這兩種技術存在差異,主要表現在下述方面。

1.3.1 數據加載過程

在客戶端生成技術中,一般都采用Ajax實現動態數據的加載,其具體過程為:客戶端通過Ajax發送請求給Web服務器,服務器端通過Servlet接收用戶的請求,生成JSON格式的數據后,將結果反饋給客戶端。客戶端接收到數據,通過JavaScript的解析函數對JSON數據處理后,繪制出滿足用戶查詢條件的統計圖表。

在服務器端生成技術中,數據庫訪問層的Java類直接調用圖形圖表類庫中的接口或類,通過這些類提供的方法建立數據源。使用SQL或HQL語句操作后臺數據庫,完成對查詢數據的篩選。業務邏輯層通過調用數據庫訪問層的Java類、圖形圖表類庫提供的方法,完成對統計圖表的渲染。表示層通過JavaBean或者Servlet完成對業務邏輯層類的調用,實現圖表的正常顯示。

同服務器端技術相比,絕大多數客戶端技術都需要將后臺數據進行二次處理(生成JSON、XML格式),客戶端接收到這些數據后,需重新解析后才能生成圖表,增加了編碼的難度。而服務器端技術直接操作后臺數據庫,生成對應的數據集或單元格數據,處理效率高。

1.3.2 運行加載速度

使用服務器端生成技術開發的應用程序,大多都采用胖服務器架構形式,服務器的性能、訪問內容的冗余程度、網速帶寬和流量問題,影響圖表生成和瀏覽。在移動客戶端訪問時,圖表顯示會浪費大量流量,使得圖表加載的速度比較慢。而客戶端生成技術中,Web應用程序多采用瘦服務器架構,與圖表處理相關的好多代碼需在客戶端完成,Ajax技術的使用,使得不同的Ajxa請求在服務器端處理時間和客戶端處理時間上可能存在重疊部分,實現了服務器和瀏覽器并行工作[6],提升了網頁的加載渲染速度。隨著Adobe Flex技術在Web開發中應用,越來越多的B/S結構Web應用程序,都采用胖客戶端的形式,使這些Web應用程序的加載速度得到了明顯地提升。在服務器性能、處理數據量、查詢條件相同的條件下,其運行加載速度明顯快于服務器端生成技術。

1.3.3 瀏覽器支持情況

基于客戶端實現中,都會使用到圖形容器Canvas類庫,而對于低版本的瀏覽器一般都不支持該類庫,使得圖形的顯示效果受到明顯影響。例如,Echarts組件在360、IE8瀏覽器中不兼容,部分功能不能正常顯示。基于服務器端實現中,雖然圖表生成代碼都在業務邏輯層和數據庫訪問層完成,但該技術在部分瀏覽器中兼容性較差。例如,JFreeChart在低版本的IE瀏覽器中就不能正常顯示統計圖。

2 基于服務器端通用統計圖表生成技術的設計與實現

2.1 實施方案設計

在使用Java語言進行企業級應用開發中,大多都采用Struts2.x、Spring4和Hibernate4(簡稱SSH2)框架集成[7]的方法來進行系統開發。這種系統結構成熟、性能良好、運行穩定,是目前許多企業級開發中首選的結構之一。選用框架集成的實施方案,可以更好地與采用框架集成技術系統的整合,降低開發的難度,具體實施方案如圖3所示。

方案采用面向接口編程的思想,DAO實現與數據庫的交互,完成對底層數據庫的持久化;Service為控制器提供服務,完成對DAO的封裝,使得控制器實現無需直接訪問DAO方法,而是調用業務邏輯的方法;Action實現用戶界面與業務邏輯的交互。在該方案中,Spring的IoC容器負責管理業務邏輯組件、控制層組件以及持久層組件,利用依賴注入的優勢,增強了系統的解耦,提高了系統擴展性,降低了系統重構的成本[8]。DAO編程模式的使用,使得數據訪問操作集中獨立在一層完成,在應用集成中,開發人員很容易在不同數據庫之間切換,獲取不同數據庫的數據,提高了系統的可維護性和可移植性。

為更好的與現有系統整合,可針對不同開發模式,選用不同的整合方法。當現有系統采用框架集成的方式,選用相同框架時可直接將該實施方案在系統中整合,以此完成不同數據源、統計圖顯示的設置;當現有系統采用其他開發模式時,將該實施方案發布為一個Web Service,通過Web服務方式完成與現有系統的集成。

2.2 通用統計圖表生成技術的實現

在基于服務器端統計表生成技術中(見圖3),開發人員需將圖表開發所需的JAR文件導入到Web工程中(以JFreeChart為例),為有效管理生成動態圖表,在web.xml中配置JFreeChart組件,通過該組件中的org.jfree.chart.servlet.DisplayChart類管理生成的圖片。在完成配置后,對來自不同應用的同構或異構數據進行整合,使用DAO模式創建JFreeChart圖表的數據集。在Action中創建JFreeChart對象,修改圖片的顯示屬性,美化圖片的顯示樣式,并以輸出流的方式獲取圖片。如果想在JSP頁面調用圖片,把圖片的src請求路徑設置為產生輸出流的Action即可,實現了與系統中其他功能模塊的無縫整合。

圖3 框架集成的實施方案示意圖

在具體實現時,為方便集成到新系統,將連續不同數據源的基本信息(數據庫類型、用戶名、密碼等)存放在配置文件(.properties)中,使用Properties類完成數據源基礎信息的管理,驗證不同類數據庫連接是否正常。考慮到繪制統計圖時對數據庫的單表、多表操作,需要分析選擇數據庫表的數據是否滿足統計條件。對Excel格式數據的處理,則選用Java的POI組件對所選文件中單元格數據的隨機讀和寫。

圖4 通用統計圖表生成技術的應用

在通用統計圖表生成操作界面(見圖4)中,用戶可選擇不同數據源或導入Excel的數據,配置圖表參數后,程序開發人員需要分析所選擇的數據,判斷能否生成統計圖表。將該實施方案整合到現有系統中,開發人員無需進行數據庫訪問層代碼編寫,只要根據新系統的操作流程和客戶需求,完成業務邏輯層代碼二次開發,簡化了開發過程,提高了開發效率。

3 結語

以直觀清晰的圖表展示企業生產過程中各個要素的數據,為管理者決策提供可靠的參考,是企業級應用開發中常用的功能模塊。基于客戶端統計圖表生成技術具有加載速度快、開發周期較短等優勢,在數據處理難度較低的應用開發中,很好地滿足了PC端和移動端的開發要求。而基于服務器端的統計圖表生成技術具有數據處理效率高、安全性較高的特點,在同構或異構數據集成的應用開發中,能夠很好地將不同應用的數據以圖表形式,直觀地將統計數據展現給用戶。在服務器端統計圖表生成技術中,使用SSH2框架集成技術和DAO編程模式設計的實施方案,具有開發難度低、維護效率高、系統可擴展性強的優勢,在系統集成開發中,具有推廣價值。

猜你喜歡
圖表數據庫系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年2期)2017-03-10 14:35:35
雙周圖表
足球周刊(2016年14期)2016-11-02 10:54:56
雙周圖表
足球周刊(2016年15期)2016-11-02 10:54:16
雙周圖表
足球周刊(2016年10期)2016-10-08 18:30:55
圖表
世界博覽(2016年16期)2016-09-27 18:25:26
數據庫
財經(2016年15期)2016-06-03 07:38:02
主站蜘蛛池模板: 全午夜免费一级毛片| 久久久国产精品免费视频| 自拍偷拍欧美日韩| 欧美色99| 高清色本在线www| 日韩成人在线视频| 9久久伊人精品综合| 国产毛片基地| 欧美v在线| 久久国产高清视频| 国产成人亚洲精品色欲AV| 天天色天天综合| 中文字幕色站| 亚洲国产精品不卡在线| 亚洲成人在线网| 无码一区18禁| 亚洲欧洲免费视频| 国模极品一区二区三区| 亚洲无码视频喷水| 91国语视频| 国产av色站网站| 国产综合精品一区二区| 国产精品亚欧美一区二区三区| 91福利在线看| 噜噜噜综合亚洲| 国产精品思思热在线| 久久一本精品久久久ー99| 在线观看无码av免费不卡网站| 亚洲一区二区三区国产精品| 日韩成人免费网站| 国产精品永久久久久| 国产黄色爱视频| 国内精品免费| 日韩小视频在线观看| 精品一区二区三区自慰喷水| 亚洲永久视频| 第九色区aⅴ天堂久久香| 激情网址在线观看| 91网红精品在线观看| 国产成熟女人性满足视频| 青青青视频免费一区二区| 99视频精品在线观看| 2048国产精品原创综合在线| 国产成人精品综合| 91久久偷偷做嫩草影院| 97人妻精品专区久久久久| 久久综合AV免费观看| 青青草综合网| 午夜精品福利影院| 在线观看91香蕉国产免费| 婷婷亚洲天堂| 精品中文字幕一区在线| 无码日韩精品91超碰| 亚洲国产欧美国产综合久久 | 国产精品亚洲va在线观看| 999精品视频在线| 国产熟女一级毛片| 国产精品13页| 国产视频一区二区在线观看 | 国产一区二区福利| 国产一区二区精品福利 | 精品国产中文一级毛片在线看| 国产精品亚洲专区一区| 曰AV在线无码| 久久久久久久蜜桃| 亚洲午夜18| 91蜜芽尤物福利在线观看| 亚洲三级影院| 久久久亚洲国产美女国产盗摄| 成人午夜天| 亚洲精品在线影院| 九色免费视频| 性色一区| 亚洲热线99精品视频| 欧美一区福利| 伊人色天堂| 嫩草在线视频| 免费一级成人毛片| 国产成人精品免费视频大全五级| 国产呦视频免费视频在线观看| 中文字幕免费在线视频| 福利小视频在线播放|