論Java技術在網際網路平台上的應用—論文1:ERP開發的應用
來源:互聯網
上載者:User
【摘要】
根據某類企業的迫切需要,我所在的資訊技術公司組織了一個企業資源計劃(ERP)項目的開發,希望推進我國ERP應用的發展,也希望更深入有效地運用Java技術。該項目的內容涉及到某類行業的企業生產經營的全過程,其基本目標是為了提高企業的勞動生產率,增加企業的利潤,最佳化配置企業的資源,使企業的整體運營水平能上一個台階。這是一個基於Java技術的Intranet典型應用項目。
在該項目中,我承擔項目負責人的重要職責,比如在項目的準備階段,我曾組織了對項目組的成員進行該類企業商務程序方面的培訓;在項目需求分析和設計階段,我著重考慮了架構好系統的架構和原型,為項目組及其他分析員進行下一步的細化分析奠定了堅實的基礎。同時我還組織好項目總體組,把握住各模組之間的接日分析,保持各個分析員之間實現密切的溝通。在系統的開發階段,做好開發、測試方面的協調和同步工作,保證系統的可靠性,在系統的實施階段能夠順利地推進項目,此項目開發後的應用已得到了使用者們的一致好評。
【本文】
與國際上ERP項目的廣泛應用相比,我國的ERP應用水平尚有相當大的差距。根據某類企業的實際迫切需求,我公司組織了對一類ERP產品的開發,我有幸參與了該項目的分析與設計,開發的成果是一個典型的Java技術應用於Intranet的實際項目。
在選擇具體的技術方案時,我們曾經進行了認真的思考和研究。對於選擇普遍採用的微軟模式的平台方案,還是跨平台式的Java方案,我們曾舉棋未定,這是因為微軟的VB+ASP已成為大家在較長時間工作後認可而熟悉了的方案。而Java由於其環境要求高與執行效率低的老大難問題,成為我們擔心害怕的重要因素。但是Java的跨平台特性越來越成為人們的關注點,尤其是許多大中型的企業,他們現有的網路系統都是基於多種平台的,對跨平台的要求和呼聲極為強烈,而對軟體公司來說,軟體的跨平台特性有可能會節約開發成本,降低維護量,也能獲得更多客戶的認可。綜合考慮了諸多市場行情與行業發展因素,最終決定一定要用Java。所幸的是現在Java用於網際網路的開發也已經越來越便利了。
目前Java在網際網路上的開發技術已呈白花齊放之勢態,有最初的Java Servlet,有與資料庫聯絡在一起的SQL-J,還有可與ASP和PHP相媲美的JSP。尤其是JSP技術的迅速發展,使得Java的網路應用不再是少數人的專利,JSP以其執行的高效性和使用的方便性,已成為近年來大家首選的網際網路開發技術,JSP是一種頁面開發技術,它以Java為其伺服器端語言,結合Java Script作為其用戶端語言,能方便地實現頁面的表示。
選擇好了後端的Java和前端的JSP,還有一項重要的任務,那就是前後的聯結。由於JSP主要用於頁面表現,需要表現的內容要封裝起來,這樣,為了保證主要商務邏輯的安全性,我們採用了Java Bean作為橋樑,即用戶端JSP通過其中Java Bean的使用,完成主要的商務邏輯功能。在後台,將Bean構造好,形成一個強大的Bean庫,再由前台JSP進行使用。
在進行Java Bean的規劃時,我們下決心作出很大的投入,因為這些不僅是我們當前項目中所需急用的,而且還應成為公司長期積累使用的一個強大的資產庫,能實現一定程度的資源共用和軟體複用,為其他項目開發打好基礎。因此,此次規劃的目標是形成公司Java技術的Java Bean的平台庫。
我們根據Java Bean所體現的類的用途,將這些類分成幾個層次。最底部的一層就是參數化類的構造,這一層的類所實現的主要功能包括通用訪問機制,對資料庫等其他層次的提供者和公用處理系統等。中間一層是實體類的構造,這些實體類包括與資料資訊相關的結構及其處理方法,其中的重點是包含了一些重要的商務邏輯的處理。這一層類與系統各部分相關,並且其安全性要求很高,直接影響到系統主要功能的體現,因為系統的主體是對一些邏輯進行處理,這就要求這層實體類的規劃需要十分認真,做到細節準確。最上面的一層可以稱為介面類,這一層類主要用於實現底層的類與前台之間的關係。也只有這層類才能由前台JSP進行Java Bean調用而加以使用,只有這層具有開放性,這一層類除了上述的介面功能外,還應當有一項重要的實用內容,即包括用於實現前台JSP的頁面自動構造程式。
這裡所說的頁面自動構造程式可以認為是本系統的一個重要特點,目的是為了讓使用者可以方便地自訂介面,而不需要由程式員修改程式,這樣能夠極大地滿足了使用者的要求。頁面自動構成程式的主要內容包括對介面元素的定製與修改、位置的修改、動作的觸發、行為的控制以及報表設計和計算匯總等功能。頁面自動構成程式的設計主要採用上述的介面類與JSP相結合的方式,用類實現元素的定製、控制及關聯,並將重要訊息加以儲存,以利於使用者的多次反覆修改。該自動構造程式提供了強大功能,已成為我們的一個獨立產品。能應用於各個項目的介面製作,實現了我們原先制定的共用資源的目標。
在前台JSP的應用中,做到了儘可能最簡化的程度,這樣可以提高系統的安全性。當然在我們的系統中,還存在一些用戶端控制比較複雜的情況,為保護這段比較複雜的控制指令碼,我們採取了用Servlet的方法,保護這段指令碼,從而保證了一定程度的安全性。
在系統的登入過程中,我們採取了相當嚴格的登入鍵檢查操作,使用者沒有供應商提供的相應的鍵,就無法通過驗證而進入系統。對於試用版的使用者則提供了一種有效期間限約束。這些加密或安全措施,通過在Java Bean中封裝了嚴格而有強大功能的密碼編譯演算法,在用戶端申請驗證後才能准予通過。
在使用這套技術方案的過程中,我們曾經遇到過許多的困難。比如;前面曾提到過要求JSP中代碼能夠盡量簡化,以提高安全性。由於JSP中仍有一些容易讓人可能猜測到處理方法的語句及處理的過程,為進一步提高安全性,我們通過查閱大量的網上資料,才形成了一套較好的措施,比如製作JSP的標記庫,將有可能被猜測的處理進一步加以規劃,對應地產生一套行之有效實用標記庫,這樣就又增加了一道很有效防護牆,大幅度地提高了安全保密性,並且使頁面結構的分離達到了一定的水準。又如:在對資料的處理上,剛開始時也總是遇到系統運行會變得越來越慢的情況,最後追查其原因,發現原來是資料的串連過多,我們及時地採用了資料連線池等技術解決了此類問題。
該系統採用Java平台,提供了深入地使用Java Bean和JSP的方案,其效果是相當顯著的,在使用者真實使用環境中受到了一致好評,運行也較為穩定。由於採用了統一而方便的頁面自動構造程式,使用者的介面非常友善,並且可以按使用者需求進行定製,滿足了使用者的適應性需求。而在我們公司的內部,也開始建立了一套基於此平台的資產庫,成為公司的今後開發使用的寶貴財富。
必須指出的是,在此系統中,還存在著很多的不足,比如實體類的組裝程度尚不盡如人意,根據多種商務邏輯的一些共同點,可以進一步加以抽象封裝,使這部分內容能滿足多種系統對類似邏輯的處理過程。我將會在今後的工作中進一步加強各方面的分析能力,帶領團隊不斷地超越現在的層次與水準,加強我們的隊伍建設,希望有更多優秀的軟體產品上寫著Made In China。(本文主要參考了上海陳莉莉等人的論文)