技術實現(xiàn)方案WEB端_第1頁
技術實現(xiàn)方案WEB端_第2頁
技術實現(xiàn)方案WEB端_第3頁
技術實現(xiàn)方案WEB端_第4頁
技術實現(xiàn)方案WEB端_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

關于夢境的APP技術實現(xiàn)方案(WEB端)指導老師:張修軍隊名:微積分(Calculus)團隊隊員:魏裔龍劉海文孫天松劉剛紀陽徐凱平時間:2016-03-26目錄TOC\o"1-5"\h\z\o"CurrentDocument"1.WEB1端技術 3\o"CurrentDocument"WEB端技術路線 3\o"CurrentDocument"MVC模式 3\o"CurrentDocument"1.1.2WEB架構 4\o"CurrentDocument"WEB端實現(xiàn)方案 7\o"CurrentDocument"1.2.1通信協(xié)議 7\o"CurrentDocument"1.2.2數(shù)據(jù)處理 8\o"CurrentDocument"1.2.3數(shù)據(jù)調用基本過程 9\o"CurrentDocument"數(shù)據(jù)庫 10\o"CurrentDocument"2.1數(shù)據(jù)庫技術 10\o"CurrentDocument"2.1.1數(shù)據(jù)庫技術路線 10\o"CurrentDocument"2.2數(shù)據(jù)庫實現(xiàn)方案 11\o"CurrentDocument"2.2.1數(shù)據(jù)庫的連接 11\o"CurrentDocument"2.2.2解決數(shù)據(jù)量大的問題 12\o"CurrentDocument"2.2.3備份與恢復 13\o"CurrentDocument"采用技術 14\o"CurrentDocument".PHP的特性 14\o"CurrentDocument"?優(yōu)勢 14\o"CurrentDocument"3.3數(shù)據(jù)庫 15111

1.WEB端技術WEB端技術路線MVC模式WEB端主體框架采用MVC的設計模式,通過視圖、控制器、模型的分離減少了代碼的耦合度,由于MVC模式的三個模塊相互獨立,改變其中一個不會影響其他兩個,所以依據(jù)這種設計思想能構造良好的少互擾性的構件。圖3-2MVC模式1.1.2WEB架構業(yè)務層業(yè)務層WEB應用系統(tǒng)大多采用J2EE(Java2PlatformEnterpriseEdition )的多層框架結構模型,WEB應用框架技術是一種針對某一特定應用領域的面向對象軟件復用技術由特定應用領域的軟件體系結構所決定的軟件構架。我們將使用J2EE三個比較受歡迎的開源框架SSH來實現(xiàn)web功能。SSH為struts+spring+hibernate 的一個集成框架,是目前較流行的一種Web應用程序開源框架。集成SSH框架的系統(tǒng)從職責上分為四層:表示層、業(yè)務邏輯層、數(shù)據(jù)持久層和域模塊層Struts框架Struts框架是基于MVC(Model-View-Controller ,模型視圖控制器)模式的框架。采用Java語言編寫,它繼承了MVC設計模式的特性,對應用系統(tǒng)的用戶界面顯示和數(shù)據(jù)的后端業(yè)務邏輯代碼進行了抽象,并且整合了 Servlet與JSP在WEB應用系統(tǒng)開發(fā)上的優(yōu)勢。在Struts框架中,模型由實現(xiàn)業(yè)務邏輯的JavaBean組件構成,控制器由Action以及Struts-config.xml 配置文件來實現(xiàn),視圖由一組JSP文件構成。Spring框架Spring框架由一個容器、一個配置和組織組件的框架,一組內(nèi)置的為事務、持久化和WEB用戶接口提供的服務組成,是一個輕量的控制反轉((InversionofControl,loC)和面向方面(Aspect-orientedProgramming,AOP)的容器框架:輕量:完整的Spring框架可在一個大小1MB多的JAR文件里發(fā)布,并且Spring所需的處理開銷也很小??刂品崔D:Spring通過一種稱作控制反轉(IoC)的技術促進了松耦合??刂品崔D就是指由容器通過配置文件來管理業(yè)務對象之間的依賴關系,而非傳統(tǒng)方式中由代碼方式來直接操控。控制反轉的實質,是控制管理權由程序代碼轉到了外部容器,控制權的轉變即是所謂的反轉。面向方面:Spring包含對面向方面編程的豐富支持,允許通過分離應用的業(yè)務邏輯與系統(tǒng)服務進行內(nèi)聚性的開發(fā)。應用對象只做它們應該做的,完成業(yè)務邏輯,并不負責其它的系統(tǒng)關注點。容器:Spring包含管理應用對象的配置和生命周期,可以配置每個 bean如何被創(chuàng)建??蚣埽篠pring中,應用對象被聲明式地組合,典型地是在一個XML文件里,Spring提供了很多基礎功能(事務管理、持久性框架集成等等),并留有應用邏輯開發(fā)。Hibernate框架Hibernate是一種Java語言環(huán)境下的對象/關系映射(Object-Relational,OR)解決方案。它為面向對象的實體模型到關系型數(shù)據(jù)庫之間的映射,提供了一個極為方便的開源框架。Hibernate使用數(shù)據(jù)庫和配置文件來為應用程序提供持久化(持久化是指和數(shù)據(jù)庫相關的各種操作)服務。Hibernate配置文件有兩種格式:一種是XML格式的文件Hibernate.cfg.xml,—種是Java屬性文件Hibernate.Properties ,采用"鍵=值"的形式。在應用系統(tǒng)的開發(fā)中,Hibernate配置文件中包含了JDBC連接數(shù)據(jù)庫的驅動信息。在應用程序訪問數(shù)據(jù)庫時,首先讀取 Hibernate配置文件,再通過配置文件找到持久化類的XML映射文件,根據(jù)該映射文件得到相應的持久化類,從而可以對類進行操作。也就是將持久化對象中的屬性與數(shù)據(jù)庫表中的字段對應起來。通過持久化對象完成對數(shù)據(jù)庫表中的數(shù)據(jù)的增加、修改、查詢和刪除操作。4) SSH框架協(xié)同工作整個項目結構清晰,性能優(yōu)良。1.2WEB端實現(xiàn)方案1.2.1通信協(xié)議我們用HTTP協(xié)議實現(xiàn)客戶端與服務端的連接。HTTP協(xié)議是一種詳細規(guī)定了瀏覽器和萬維網(wǎng)服務器之間互相通信的規(guī)則,通過因特網(wǎng)傳送萬維網(wǎng)文檔的數(shù)據(jù)傳送協(xié)議,由于其簡捷、快速的方式,適用于分布式超媒體信息系統(tǒng)。圖3-5XMPP協(xié)議XMPP是一種基于XML的協(xié)議,它繼承了在XML環(huán)境中靈活的發(fā)展性。因此,基于XMPP的應用具有超強的可擴展性。經(jīng)過擴展以后的XMPP可以通過發(fā)送擴展的信息來處理用戶的需求,以及在XMPP的頂端建立如內(nèi)容發(fā)布系統(tǒng)和基于地址的服務等應用程序。而且XMPP包含了針對服務器端的軟件協(xié)議,使之能與另一個進行通話,這使得開發(fā)者更容易建立客戶用應用程序或給一個配好系統(tǒng)添加功能。由于HTTP協(xié)議時需要客戶端發(fā)送請求,服務端才會發(fā)送數(shù)據(jù),但我們系統(tǒng)中有如聊天系統(tǒng)等需要實施的功能使用http協(xié)議就不是很合適,因此我們還使用了XMPP協(xié)議配合HTML協(xié)議完成聊天功能以及系統(tǒng)活動、運動咨詢和定點廣告的推送功能。1.2.2數(shù)據(jù)處理1.字符數(shù)據(jù)處理JSON(JavaScriptObjectNotation) 是一種輕量級的數(shù)據(jù)交換格式。JSON采用完全獨立于語言的文本格式,但是也使用了類似于 C語言家族的習慣(包括C,C++,C#,Java,JavaScript,Perl,Python 等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時也易于機器解析和生成123數(shù)據(jù)調用基本過程數(shù)據(jù)庫2.1數(shù)據(jù)庫技術2.1.1數(shù)據(jù)庫技術路線JDBC(JavaDataBaseConnectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的JavaAPI,可以為多種關系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用 Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標準的API,據(jù)此可以構建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 JavaAPI編寫數(shù)據(jù)庫應用程序。2.2數(shù)據(jù)庫實現(xiàn)方案221數(shù)據(jù)庫的連接與數(shù)據(jù)庫建立連接的標準方法是調用 DriverManager.getConnection方法。該方法接受含有某個 URL的字符串。DriverManager 類(即所謂的JDBC管理層)將嘗試找到可與那個 URL所代表的數(shù)據(jù)庫進行連接的驅動程序。DriverManager 類存有已注冊的Driver類的清單。當調用方法getConnection 時,它將檢查清單中的每個驅動程序,直到找到可與 URL中指定的數(shù)據(jù)庫進行連接的驅動程序為止。 Driver的方法connect使用這個URL來建立實際的連接。 用戶可繞過JDBC管理層直接調用Driver方法。這在以下特殊情況下將很有用:當兩個驅動器可同時連接到數(shù)據(jù)庫中,而用戶需要明確地選用其中特定的驅動器。但一般情況下,讓DriverManager 類處理打開連接這種事將更為簡單。222解決數(shù)據(jù)量大的問題圖4-3數(shù)據(jù)庫數(shù)據(jù)量與性能的關系圖隨著用戶的增加,每個人上傳的圖片等的數(shù)據(jù)量將會在服務器越積越多,導致性能下降。但是每個人的資料信息以及上傳的圖片又不能刪除,給服務器帶來了很大的壓力。為了處理多用戶量的問題我們在后期決定使用分布式多服務器分工合作原理,解決大數(shù)據(jù)量帶來的壓力。223備份與恢復備份2備份2OlliC注解V工隹丟喪鳳時圖4-5數(shù)據(jù)庫備份圖備份策略一:直接拷貝數(shù)據(jù)庫文件直接拷貝數(shù)據(jù)文件最為直接、快速、方便,但缺點是基本上不能實現(xiàn)增量備份。為了保證數(shù)據(jù)的一致性,需要在備份文件前,執(zhí)行以下 sql語句:flushtableswithreadlock;也就是把內(nèi)存中的數(shù)據(jù)都刷新到磁盤中,同時鎖定數(shù)據(jù)表,以保證拷貝過程中不會有新的數(shù)據(jù)寫入。這種方法備份出來的數(shù)據(jù)恢復也很簡單,直接拷貝回原來的數(shù)據(jù)庫目錄下即可。備份策略二:使用mysqlhotcopy 備份數(shù)據(jù)庫mysqlhotcopy是一個perl程序,最初由timbunce編寫。它使用locktables、flushtables和cp或scp來快速備份數(shù)據(jù)庫。它是備份數(shù)據(jù)庫或單個表的最快的途徑,但它只能運行在數(shù)據(jù)庫文件(包括數(shù)據(jù)表定義文件、數(shù)據(jù)文件、索引文件)所在的機器上,并且 mysqlhotcopy 只能用于備份myisam表。本備份策略適合于小型數(shù)據(jù)庫的備份,數(shù)據(jù)量不大,可以采用 mysqlhotcopy程序每天進行一次完全備份。采用技術.PHP的特性PHP獨特的語法混合了C、Java、Perl以及PHP自創(chuàng)新的語法。PHP可以比CGI或者Perl更快速的執(zhí)行動態(tài)網(wǎng)頁一一動態(tài)頁面方面,與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成htmL標記的CGI要高許多;PHP具有非常強大的功能,所有的CGI的功能PHP都能實現(xiàn)。PHP支持幾乎所有流行的數(shù)據(jù)庫以及操作系統(tǒng)。最重要的是PHP可以用C、C++進行程序的擴展!.優(yōu)勢1?開放源代碼所有的PHP源代碼事實上都可以得到。2?免費性和其它技術相比,PHP本身免費且是開源代碼。3?快捷性程序開發(fā)快,運行快,技術本身學習快。嵌入于HTML:因為PHP可以被嵌入于HTML語言,它相對于其他語言。編輯簡單,實用性強,更適合初跨平臺性強由于PHP是運行在服務器端的 腳本,可以運行在 UNIX、LINUX、WINDOWS、MacOS、Android等平臺效率咼PHP消耗相當少的系統(tǒng)資源。圖像處理用PHP動態(tài)創(chuàng)建圖像,PHP圖像處理默認使用GD2。且也可以配置為使用imagemagick進行圖像處理。面向對象在php4,php5中,面向對象方面都有了很大的改進,php完全可以用來開發(fā)大型商業(yè)程序。專業(yè)專注PHP支持腳本語言為主,同為類C語言。3.3數(shù)據(jù)庫數(shù)據(jù)庫采用MySQL,作為一個小型關系數(shù)據(jù)庫管理系統(tǒng),它體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,這使得許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。Mysql擁有許多優(yōu)良特性:使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多種操作系統(tǒng)3?為多種編程語言提供了AP

溫馨提示

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

評論

0/150

提交評論