【文章內容簡介】
化系統(tǒng)的建設容易走兩個極端,一方面相當數(shù)量的單位對信息化辦公自動化系統(tǒng)的重要性認識不是很清楚,不主動去實施辦公自動化系統(tǒng),而且即使是少數(shù)的企業(yè)實施了辦公自動化系統(tǒng)也是迫于上級的壓力,軟件的應用得不到推廣,使得辦公自動化系統(tǒng)的存在成為擺設;另一方面,一些單位在建設辦公自動化系統(tǒng)時,急于求成,沒有從實際出發(fā)考慮自身的現(xiàn)狀,這種不切實際錯誤的想法導致了訊多設備的閑置,許多設備無法得到充分利用成為擺設。信息化的建設是一個長期的過程,建立起符合自身狀況的辦公自動化系統(tǒng)后,還需根據單位的實際運作狀態(tài)不斷的進行維護和更新。但是,我國許多的企事業(yè)單位在實施辦公自動化的過程中沒有認識到這一點,企圖建立起一個一勞永逸的辦公自動化系統(tǒng),不去維護和更新,這使得許多單位中的辦公自動化系統(tǒng)中存放著許多過時和無用的信息,辦公自動化系統(tǒng)基本無法實現(xiàn)原有的作用。 “重硬輕軟”的現(xiàn)象在我國的許多辦公自動化建設中還明顯的存在。人們往往重視硬件設備的投資而缺乏對運行在硬件平臺上軟件系統(tǒng)的重視,從而出現(xiàn)了許多二流三流的信息管理軟件在一流的硬件設備上運行的結果。而且,許多的單位將信息化建設誤解為僅僅是硬件設備的運行和管理,而不重視信息的收集、整理和利用這一基礎性的工作,所以致使一流的硬件系統(tǒng)上沒有有效地信息資料、文檔資料等有效信息的存儲,致使系統(tǒng)發(fā)揮不了應有的作用。在我國信息化發(fā)展的過程中,辦公自動化是一項重要的內容,它的特點是基于網絡環(huán)境的辦公,具有超越地域和時空的特點。在辦公自動化系統(tǒng)建設的過程中,信息資源占著舉足輕重的地位,標準的體系架構是辦公自動化的基礎。新一代辦公自動化系統(tǒng)的包括以下幾個方面的內容:辦公自動化系統(tǒng)的開發(fā)、信息資源的建設、信息網絡的建設、信息產品的研制、信息處理技術和信息化人才的培養(yǎng),這些要素之間存在著緊密的聯(lián)系,相互制約又相互存進,缺一不可 [10]。要實現(xiàn)辦公自動化首先必須建立一個基于網絡的、支持協(xié)同工作的、由硬件環(huán)境和軟件環(huán)境組成的網絡虛擬辦公環(huán)境。硬件設備即網路通訊環(huán)境、計算機等;軟件環(huán)境包括操作系統(tǒng)、數(shù)據庫,軟件開發(fā)環(huán)境、辦公自動化信息平臺等。其次,辦公自動化系統(tǒng)需要一個完善的體系來支撐,這個體系中應包括辦公課程設計自動化系統(tǒng)標準體系的建設、信息安全體系的建設、辦公自動化系統(tǒng)人才隊伍和組織保障體系的建設等。這其中考慮辦公自動化系統(tǒng)信息安全、文件保密等措施,因為辦公自動化系統(tǒng)是基于網絡環(huán)境建設的,系統(tǒng)很容易遭到非法的入侵和破壞。然后是要保證系統(tǒng)中的資源共享,提供用戶應有的訪問,還要建立一套有效的系管理制度。此外,培訓一支既有信息化系統(tǒng)駕馭能力,又能信息管理背景的工作團隊也是支撐辦公自動化系統(tǒng)的重要因素。最后,辦公自動化系統(tǒng)的建設必須嚴格按照信息工程的規(guī)范分步驟實施。這個過程可以分解為:辦公自動化系統(tǒng)的開發(fā)準備階段;調查研究階段;系統(tǒng)分析階段,即邏輯設計階段;系統(tǒng)設計階段即物理設計階段;系統(tǒng)實施階段;系統(tǒng)維護評價階段。 本文的主要工作本文圍繞“基于軟 J2EE 的辦公自動化系統(tǒng)”的設計和開發(fā),以 J2EE 為系統(tǒng)架構,采用 MVC 模式,以目前流行的 Eclipse 為開發(fā)環(huán)境,主要完成以下幾個方面的工作:? ?對基于辦公自動化系統(tǒng)進行了詳細的需求分析;? ?分析并設計了辦公自動化系統(tǒng)的體系結構和功能模塊;? ?設計并實現(xiàn)了基于 J2EE 的辦公自動化系統(tǒng)統(tǒng)的主要功能;本文的具體結構如下:第一章:介紹了辦公自動化系統(tǒng)的發(fā)展現(xiàn)狀,總結了相關的研究情況和本論文研究的背景和意義。第二章:介紹了 J2EE 技術背景,包括 J2EE 組件技術和其層次結構,并對EJB 進行了簡單的說明。第三章:首先對系統(tǒng)需求進行了分析,確定了系統(tǒng)的功能和性能等需求,然后設計了系統(tǒng)功能所對應的用例圖。第四章:對基于 J2EE 的辦公自動化系統(tǒng)進行了設計,給出了系統(tǒng)的設計目標和設計原則,然后確定了系統(tǒng)的設計模式并對系統(tǒng)中要使用的數(shù)據表進行了設計。第五章:在系統(tǒng)設計的基礎上,開發(fā)了基于 J2EE 的辦公自動化系統(tǒng),介紹了具有代表性的幾個模塊的實現(xiàn)代碼。第六章:對本文所設計的基于 J2EE 的辦公自動化系統(tǒng)的操作界面和功能進第一章 緒論7行了簡要介紹,并對系統(tǒng)進行了詳細的測試,從而驗證了系統(tǒng)需求與設計的正確性。第七章:總結本文的工作,并對下一步工作提出展望。課程設計第二章 J2EE 技術簡介 J2EE 技術背景J2EE ( Java 2 Platform Enterprise Edition)是一套面向企業(yè)應用的體系結構,它是由 Sun 公司和多家公司共同參與制定的一個企業(yè)級的分布式應用規(guī)范。Java 不僅僅是一門編程語言,隨著其不斷的發(fā)展,Java 已經成為一門非常龐大的技術體系。這個體系是以 Java 為核心的,它還包括 JavaApplet、RMIIIOP、JavaIDL/CORBA、 JavaBeans、servlet 、JSP 、JSTL、JDBC、JNDI、EJB 等等,而 J2EE 正是在 Java 的基礎上整合了這些關鍵的技術而形成的一個新平臺 [11]。Java2 是 Sun 公司推出的第二代 Java,為了將 Java2 推廣應用到各個領域中,Sun 公司先后推出了多個版本的 Java2 應用平臺,分別為:袖珍版(J2ME)、標準版(J2SE)和企業(yè)版(J2EE) 。Sun 公司就是通過這三個版本的 Java2 平臺,使 Java 的應用得到了極大的擴展 [12]。從家電設備中的嵌入式芯片、手機和掌上電腦,到各種應用服務器現(xiàn)在都可以使用 Java 2 進行開發(fā)。在 JaVa2 以前,Java 一直定位為一種語言,到 Java2時,Sun 公司實際上已經將 Java 定位成一種平臺 [13]。由于包含了 Java 虛擬機(JVM)和 Java 運行環(huán)境(JRE) ,Java 幾乎是不依賴于任何操作系統(tǒng)的。例如,如果在 Pentium 處理器中嵌入 JVM,那么 Java 語言就可以像匯編語言一樣直接運行在處理器上了。Java 平臺使得用戶可以直接在平臺上進行開發(fā),并在平臺上運行。整個平臺可以很容易地從一臺機器移植到另一臺機器上,而不用做任何更改。J2EE 制定了一組規(guī)范,將 J2EE 的平臺責任劃分成七大部分以實現(xiàn)軟件開發(fā)的分工。每個部分都由獨立的供應商或專業(yè)人員來完成,從而大大提高了開發(fā)效率。這七部分是:? 平臺供應商:主要提供 J2EE 平臺,包括組件容器、平臺 APIs 等;? 組件供應商:負責提供應用程序組件,包括 HTML 教程頁面設計人員、JSP 程序員、EJB 開發(fā)人員等等;? 組件裝配人員:組裝由組件供應商提供的組件,最后形成EAR(EnterPrise Archive)文件;? 部署人員:將裝配好的組件部署到容器上;第二章 J2EE 技術簡介9? 系統(tǒng)管理員:管理和維護部署好的系統(tǒng);? 工具供應商:提供開發(fā)組件所使用的工具;? 系統(tǒng)組件供應商:提供系統(tǒng)組件。 J2EE 的層次J2EE 使用多層次的分布式應用模型,應用邏輯則按功能劃分為組件,再根據各個應用組件所在的層次不同,把應用組件分布在不同的機器上。Sun 公司設計J2EE 的最初目的就是為了解決兩層模式 C/S (client/server)的弊端 [14]?,F(xiàn)在 J2EE的多層企業(yè)級應用模型將兩層模型中的不同層面切分成多個層,一個多層化應用能夠為不同的每種服務提供一個獨立的層,下圖 21 是 J2EE 典型的四層結構圖 [15]:數(shù)據庫數(shù)據庫E n t e r p r i s e b e a n sE n t e r p r i s e b e a n sJ S P 頁面應用程序客戶端 動態(tài) H T M L 頁面客戶層業(yè)務層E I S 層W e b 層客戶端機器J 2 E E服務器數(shù)據庫服務器J 2 E E 應用程序 1J 2 E E 應用程序 2圖 21 J2EE 體系結構圖客戶端層(Client Tier)客戶端層主要的作用是用來實現(xiàn)企業(yè)級應用系統(tǒng)的操作界面和顯示層。在J2EE 中,客戶層的作用變得越來越簡單,它僅僅實現(xiàn)用戶請求的提交、顯示服務器處理的結果。在實際的開發(fā)中,由于現(xiàn)在某些瀏覽器軟件十分普及,如IntemExplorer、Firefox 等,客戶層使用往往就是一個瀏覽器軟件。而且,在因特課程設計網十分流行的今天瀏覽器幾乎被安裝在每一臺計算機上。所以,客戶層的軟件基本上已經不用再進行開發(fā)了。但是在不使用 ServleVJSP 的情況下,也是需要開發(fā)客戶端的軟件的。由于客戶端的軟件只是簡單的實現(xiàn)結果的顯示,所以就算要進行開發(fā),它的實現(xiàn)和維護也是十分簡單的 [16]。某些客戶端程序也可實現(xiàn)業(yè)務邏輯的功能,客戶端分為基于 web 的客戶端和非基于 web 的客戶端?;?Web 的客戶端主要是作為企業(yè) Web 服務器的瀏覽器,而非基于 web 的客戶端層則是獨立的應用程序,可以完成瘦客戶機無法實現(xiàn)的任務。Web層Web 層運行在服務器上,它描述了將要發(fā)送到客戶端瀏覽器的內容是如何顯示的,因此也稱為表述層。Web 層的組件根據客戶端發(fā)送過來的請求進行處理,然后將結果以 HTML 文件的方式發(fā)送給客戶端??蛻舳说臑g覽器會根據發(fā)送回來的 HTM 文件,將結果顯示在瀏覽器窗口中 [17]。在 J2EE 中實現(xiàn) Web 層功能的組件是 Servle/JSP 組件,它們在 J2EE 中起著十分重要的作用,JSP 與 Servlet 在本質上是一樣,因為它們最后都要被翻譯成一個 Servlet 文件后才能在服務器上運行。JSP 目前的發(fā)展趨勢正在走向結構化,也就是將它所包含的請求處理包裝在標記文件或 Servlet 類中,而在 JSP 中只描述頁面是如何顯示的。業(yè)務層(Business Bier)業(yè)務層運行在J2EE服務器上,也叫EJB層或應用層。它是 J2EE體系結構的核心部分,所有與應用系統(tǒng)程序相關的業(yè)務邏輯都要在這一層實現(xiàn)。實現(xiàn)業(yè)務邏輯的組件稱為EJB,EJB 是按照功能進行邏輯劃分的,在開發(fā)時可以不用關心系統(tǒng)底層的實現(xiàn)細節(jié)問題,只關注于具體的事務分析。當EJB開發(fā)完成后,可以將其部署在EJB 容器中,以完成設定的事務功能。EJB支持分布式的計算,可以真正的實現(xiàn)企業(yè)級的應用。數(shù)據層數(shù)據層也叫做EIS(Enterprise Information System Tier)即企業(yè)信息系統(tǒng)層,它運行在EIS服務器上。EIS層是整個應用系統(tǒng)將要處理的數(shù)據源。通常情況下,這一層就是一個關系數(shù)據庫,也可能是企業(yè)原有的一個信息系統(tǒng) [18]。例如,在基于J2EE的辦公自動化系統(tǒng)中,EIS層存儲了用戶信息、日程安排、論壇內容、文件處理等大量的信息。系統(tǒng)在運行的過程中需要查詢某一信息時,直接從EIS層讀取數(shù)據。第二章 J2EE 技術簡介11 J2EE 應用程序組件 J2EE不是某種單一的技術,它是一個體系結構,其中包含了十幾種技術,如EJB, JDBC,JNDI,JMS,IDL,Servlets ,JSP,JTA ,Java Mail,JAF ,XML 等。其中JDBC ,JNDI,JSP,JMS,Servlets,EJB是常用技術,而EJB則是J2EE 體系結構的核心部分。J2EE組件是具有獨立功能的軟件單元, J2EE應用程序就是由這些組件構成的。不同的組件通過相關的類和文件組成J2EE應用程序,并與其他組件進行交互。下面簡要介紹各個組件??蛻舳私M件客戶層組件可以是應用程序客戶端組件、Applets或者靜態(tài) HTML等,也可以是基于傳統(tǒng)客戶機方式的,如客戶端專用的客戶程序或軟件。Web層組件J2EE中Web 層組件主要是JSP頁面或Servlet。? Servlet組件Servlet是Java 的服務器小程序,可以實現(xiàn)網絡上遠程動態(tài)加載,它被集成到了服務器中,是一個與協(xié)議無關的、跨平臺的服務方構件 [19]。Servlet的實質是一個運行在請求/面向請求服務器上的模塊,利用Servlet可以很輕松的實現(xiàn)許多服務器的擴展功能。此外,一個Servlet能并發(fā)處理多個請求,而且它們可以使用在諸如線性會議這樣的同步請求支持系統(tǒng) [20]。Servlet沒有普通應用程序常見的main 方法,而只是有一些特定的方法用于啟動、執(zhí)行和退出。它既可以與運行在客戶端的Applet程序進行交互,也可以直接與客戶端的HTML網頁交互。在許多大型的應用程序開發(fā)中,可以把Servlet看成是連接現(xiàn)代網絡技術和Java 技術的橋梁。? JSP組件JSP(Java Server Pages)是一種Web開發(fā)語言,它能快速地創(chuàng)建和顯示Web頁面的動態(tài)內容。此外,JSP也是一種基于Java 的腳本技術,它能將HTML編碼從Web頁面的開發(fā)過程中有效地分離出來,可以訪問可重用的組件。和基于Java的Web應用程序。JSP的另一個優(yōu)點就是支持在Web 頁面中直接嵌入 Java代碼 [21]。JSP的特點主要有包括應用程序內容與頁面顯示分離、一次編寫到處運行、強調可重用組件和采用標記簡化頁面的開發(fā)。JSP的這些技術特點和工作機制保證了它的跨平臺性 [22]。業(yè)務層組件課程設計業(yè)務層組件主要是EJB組件,EJB是企業(yè)級的JavaBean,用來實現(xiàn)業(yè)務邏輯。企業(yè)級的Javabean分為三種,分別如下:? Session bean:即會話bean ,用于表示業(yè)務層與客戶端程序的臨時交互。當客戶端程序完成后,會話bean 和相關數(shù)據就會消失。? E