摘? 要: J2EE技術(shù)的有關(guān)概念和BEA Weblogic產(chǎn)品的主要功能,給出了基于J2EE技術(shù)的增值稅專用發(fā)票網(wǎng)上認(rèn)證系統(tǒng)的體系結(jié)構(gòu)。
關(guān)鍵詞: J2EE技術(shù)? BEA Weblogic? 網(wǎng)上認(rèn)證
?
隨著社會信息化水平的不斷提高,具有中國特色的增值稅監(jiān)管體系——“金稅工程”的建設(shè)正在不斷完善。增值稅專用發(fā)票認(rèn)證子系統(tǒng)是金稅工程的重要組成部分。所謂發(fā)票認(rèn)證是指:銷貨方納稅人用防偽稅控開票子系統(tǒng)開具防偽專用發(fā)票,在發(fā)票上打印出七要素,包括:發(fā)票代碼、發(fā)票號碼、購貨方納稅人識別號、銷貨方納稅人識別號、開票日期、金額、稅額,同時將這七要素的信息加密后生成84位密文,打印在專用發(fā)票的密碼區(qū)中。購貨方納稅人取得防偽專用發(fā)票后,將抵扣聯(lián)拿到國稅局,通過認(rèn)證子系統(tǒng)進(jìn)行掃描識別,將84位密文還原后,與票面上的七要素比對。比對相符的,即為“認(rèn)證相符”,可以作進(jìn)項(xiàng)抵扣;如果有一項(xiàng)或多項(xiàng)數(shù)據(jù)不符,即為“認(rèn)證不符”,不能抵扣。除此之外,還有密文有誤、無法認(rèn)證、重復(fù)認(rèn)證等多種認(rèn)證結(jié)果。
納稅人取得專用發(fā)票后,為了避免假票的支付風(fēng)險需及時到國稅局認(rèn)證,這樣每月往返于國稅局的費(fèi)用不是個小數(shù)目。如果集中到申報時認(rèn)證則要面對假票的支付風(fēng)險和排長隊(duì)等候認(rèn)證的問題。如何既能方便納稅人,又能確保增值稅專用發(fā)票監(jiān)控的有效性和嚴(yán)肅性是急需解決的問題。利用迅速發(fā)展的互聯(lián)網(wǎng)技術(shù),實(shí)行增值稅專用發(fā)票網(wǎng)上認(rèn)證是一個很好的解決方案。網(wǎng)上認(rèn)證是指納稅人通過掃描儀或鍵盤,將增值稅專用發(fā)票抵扣聯(lián)上的七要素和84位密文進(jìn)行采集并轉(zhuǎn)換為電子信息,在一定的安全機(jī)制下,將電子信息通過互聯(lián)網(wǎng)傳輸?shù)絿悪C(jī)關(guān),經(jīng)國稅機(jī)關(guān)的網(wǎng)上認(rèn)證系統(tǒng)進(jìn)行密文解密還原,再與七要素的信息進(jìn)行比對,產(chǎn)生認(rèn)證結(jié)果,最后將認(rèn)證結(jié)果回傳給納稅人。
為了使增值稅專用發(fā)票網(wǎng)上認(rèn)證系統(tǒng)具有伸縮性,能夠根據(jù)服務(wù)器規(guī)模、認(rèn)證請求量的大小和系統(tǒng)資源狀況自動調(diào)整系統(tǒng)資源分配(如內(nèi)存、信號量等),從而滿足盡可能多的認(rèn)證請求,系統(tǒng)采用了J2EE技術(shù)和基于J2EE規(guī)范的中間件產(chǎn)品BEA Weblogic。
1?J2EE概述
J2EE(Java 2 Platform Enterprise Edition)技術(shù)提供了一個基于組件的方法來設(shè)計、開發(fā)、裝配和部署應(yīng)用程序。J2EE平臺提供了一個多層結(jié)構(gòu)的分布式的應(yīng)用程序模型。該模型具有重用組件的能力,基于擴(kuò)展標(biāo)記語言(XML)的數(shù)據(jù)交換、統(tǒng)一的安全模式和靈活的事務(wù)控制的特點(diǎn)。這使用戶不僅可以更快地得到基于組件的J2EE的解決方案,而且解決方案獨(dú)立于平臺,不受任何產(chǎn)品和應(yīng)用程序編程界面(APIs)的限制。用戶可以選擇最適合于其應(yīng)用的產(chǎn)品和組件。
(1)分布式的多層應(yīng)用程序
J2EE平臺使用了一個多層的分布式應(yīng)用程序模型。這個模型把J2EE應(yīng)用程序分為客戶層、Web層、商業(yè)層和企業(yè)信息系統(tǒng)(EIS)層。J2EE應(yīng)用程序的不同功能被封裝到不同的組件中,不同的組件根據(jù)在其所屬的層被安裝到不同的機(jī)器中。圖1表示了二個多層的J2EE應(yīng)用程序。
從圖1可以看出,J2EE應(yīng)用程序既可以是三層結(jié)構(gòu),也可以是四層結(jié)構(gòu)。但是用戶通常將J2EE應(yīng)用程序的多層結(jié)構(gòu)考慮為三層結(jié)構(gòu)。這是因?yàn)樗鼈兎植荚?個不同的位置:客戶機(jī)、J2EE服務(wù)器和數(shù)據(jù)庫服務(wù)器。三層結(jié)構(gòu)可以理解為在標(biāo)準(zhǔn)的的客戶端/服務(wù)器二層結(jié)構(gòu)的客戶端應(yīng)用程序和后端存儲資源中間增加了一個多線程的應(yīng)用程序服務(wù)器。
?
客戶層可以直接和運(yùn)行在J2EE服務(wù)器中的商業(yè)層進(jìn)行通信,也可以通過運(yùn)行在Web層中的Servlet或JSP頁面進(jìn)行通信。Servlets是一個Java編程語言類,它可以動態(tài)地處理請求并作出響應(yīng)。JSP頁面是一個基于文本的文檔,它以servlet的方式執(zhí)行,也可以方便地建立靜態(tài)內(nèi)容。具體應(yīng)用(例如發(fā)票認(rèn)證)由運(yùn)行在商業(yè)層的Enterprise Bean實(shí)現(xiàn)。共有三種類型的Enterprise Beans:Session Beans、Entity Beans和Message-Driven Beans。一個Session Bean描述了與客戶端的一個短暫的會話,當(dāng)客戶端的執(zhí)行完成后,Session Bean和它的數(shù)據(jù)都將消失。一個Entity Bean描述存儲在數(shù)據(jù)庫表中的一行持久穩(wěn)固的數(shù)據(jù),如果客戶端終止或者服務(wù)結(jié)束,底層的服務(wù)會負(fù)責(zé)Entity Bean數(shù)據(jù)的存儲。一個Message-Driven Bean結(jié)合了一個Session Bean和一個Java信息服務(wù)(JMS)信息監(jiān)聽者的功能,它允許一個商業(yè)組件異步地接收J(rèn)MS消息。
(2)J2EE組件
J2EE應(yīng)用程序由組件組成。一個J2EE組件就是一個自帶功能的軟件單元,它隨同相關(guān)的類和文件被裝配到J2EE應(yīng)用程序中,并實(shí)現(xiàn)與其他組件的通信。
J2EE組件由Java編程語言編寫,并和用該語言編寫的其他程序一樣進(jìn)行編譯。J2EE組件和標(biāo)準(zhǔn)的Java類的不同點(diǎn)在于:它被裝配在一個J2EE應(yīng)用程序中,具有固定的格式并遵守J2EE規(guī)范;它被部署在產(chǎn)品中,由J2EE服務(wù)器對其進(jìn)行管理。
(3)J2EE容器
J2EE服務(wù)器以容器的形式為每一個組件類型提供底層服務(wù)。容器是一個組件和支持組件的底層平臺特定功能之間的接口。一個Web組件、Enterprise Bean或者一個客戶端組件必須被裝配到一個J2EE應(yīng)用程序中,并且部署到它們的容器才可以被執(zhí)行。裝配的過程包括為J2EE應(yīng)用程序中的每一個組件以及J2EE應(yīng)用程序本身指定容器的設(shè)置。容器設(shè)置定制了由J2EE服務(wù)器提供的底層支持,包括諸如安全性、事務(wù)管理、Java命名目錄接口(JNDI)搜尋以及遠(yuǎn)程連接。
J2EE容器分為EJB(Enterprise JavaBeans)容器、Web容器、客戶端應(yīng)用程序容器、Applet容器4種。下面分別加以介紹。
?、貳JB容器:EJB容器管理J2EE應(yīng)用程序的enterprise Bean的執(zhí)行。Enterprise Bean和它的容器運(yùn)行在J2EE服務(wù)器中。
?、赪eb容器:管理J2EE應(yīng)用程序的JSP頁面和Servlet組件的執(zhí)行。Web組件和它的容器也運(yùn)行在J2EE服務(wù)器中。
③客戶端應(yīng)用程序容器:管理應(yīng)用程序客戶端組件的運(yùn)行。應(yīng)用程序客戶端和它的容器運(yùn)行在客戶端中。
④Applet容器:管理Applet的執(zhí)行。由運(yùn)行在客戶端的一個Web瀏覽器和Java插件一同組成。
2?BEA WebLogic
BEA WebLogic作為符合J2EE規(guī)范的新一代基于Java的Web應(yīng)用服務(wù)器,在提供傳統(tǒng)的應(yīng)用服務(wù)器功能的同時,還針對當(dāng)今的Internet技術(shù)和Java技術(shù)提供了眾多功能。
BEA WebLogic應(yīng)用服務(wù)器完整地實(shí)現(xiàn)了Enterprise JavaBeans技術(shù),因而能夠很方便地將業(yè)務(wù)邏輯封裝為安全可靠的交易型組件。BEA WebLogic支持所有任選的EJB擴(kuò)展,其中包括分布式交易處理、自動保持持續(xù)性和entity;BEA WebLogic應(yīng)用服務(wù)器是一個可擴(kuò)展的框架,它允許任一標(biāo)準(zhǔn)的Java應(yīng)用插入其中,包括Java客戶端應(yīng)用;BEA WebLogic的多層JDBC功能使得Java應(yīng)用能夠從網(wǎng)絡(luò)中的任何位置訪問和更新數(shù)據(jù)庫;采用BEA WebLogic可使所有雙向通信共享某一客戶機(jī)/服務(wù)器連接,而不必考慮請求類型及被訪問的遠(yuǎn)程對象的數(shù)目。數(shù)據(jù)庫連接也可被共享,這樣就可以同時支持盡可能多的客戶機(jī)。BEA WebLogic將數(shù)據(jù)庫查詢結(jié)果進(jìn)行緩存,并可在后端DBMS被修改的情況下,對緩存的數(shù)據(jù)實(shí)現(xiàn)實(shí)時的自動更新。
采用BEA WebLogic,可以使用戶將精力集中于業(yè)務(wù)邏輯的開發(fā),而無需為在網(wǎng)絡(luò)上部署該邏輯的基礎(chǔ)結(jié)構(gòu)操心,從而方便、高效地實(shí)現(xiàn)應(yīng)用系統(tǒng)。
3? 基于J2EE技術(shù)的增值稅專用發(fā)票網(wǎng)上認(rèn)證系統(tǒng)
增值稅專用發(fā)票網(wǎng)上認(rèn)證系統(tǒng)包括國稅局服務(wù)器和企業(yè)客戶端二大部分。納稅人通過Internet網(wǎng)絡(luò)登錄國稅局網(wǎng)上認(rèn)證服務(wù)器,將掃描識別或錄入的專用發(fā)票數(shù)據(jù)提交,由國稅局服務(wù)器完成專用發(fā)票的解密比對等認(rèn)證過程?;鶎訃悪C(jī)關(guān)通過IE瀏覽器和稅務(wù)廣域網(wǎng)絡(luò)對其所管轄的納稅人網(wǎng)上認(rèn)證數(shù)據(jù)進(jìn)行遠(yuǎn)程管理。系統(tǒng)結(jié)構(gòu)如圖2所示。
?
本系統(tǒng)的服務(wù)器軟件采用基于J2EE規(guī)范的金稅三期中間件應(yīng)用服務(wù)器平臺架構(gòu)體系。系統(tǒng)完全采用Java語言進(jìn)行開發(fā),提供了完善的功能和安全保證。圖2中Web服務(wù)器前置機(jī)本身沒有安裝網(wǎng)上認(rèn)證程序,它僅完成用戶請求的中轉(zhuǎn),起到了提高系統(tǒng)安全性的作用。系統(tǒng)設(shè)計了用戶異常請求的監(jiān)控功能。當(dāng)用戶提交解密處理的異常發(fā)票超過限定值時,系統(tǒng)可以自動關(guān)閉該用戶的網(wǎng)上認(rèn)證賬戶。稅務(wù)機(jī)關(guān)可以隨時查詢所轄稅務(wù)機(jī)關(guān)企業(yè)的網(wǎng)上認(rèn)證情況、異常情況并隨時進(jìn)行處理,保證網(wǎng)上認(rèn)證的安全運(yùn)行。BEA WebLogic應(yīng)用服務(wù)器提供了較高的接入響應(yīng)性能,能夠在同一時間內(nèi)響應(yīng)數(shù)以萬計用戶的并發(fā)請求。同時應(yīng)用服務(wù)器可根據(jù)用戶數(shù)量規(guī)模選擇不同的服務(wù)器設(shè)備,從安裝Windows 2000 Server的PC服務(wù)器到UNIX小型機(jī)均可,做到了真正與平臺無關(guān)。對用戶并發(fā)訪問特別大的站點(diǎn),系統(tǒng)提供多服務(wù)器集群處理的功能。
4? 結(jié)束語
由于J2EE技術(shù)采用基于組件的方法設(shè)計、開發(fā)、裝配和部署企業(yè)級應(yīng)用程序,因此遵守J2EE規(guī)范開發(fā)應(yīng)用系統(tǒng)能有效地保護(hù)用戶投資,并使建立可移植、可伸縮的應(yīng)用成為可能。同時,這些應(yīng)用能夠完美地與其他應(yīng)用和系統(tǒng)實(shí)現(xiàn)互操作。
基于J2EE技術(shù)的增值稅專用發(fā)票網(wǎng)上認(rèn)證系統(tǒng)具有高效、安全、維護(hù)簡單的特點(diǎn)。投入運(yùn)行后,極大地方便了納稅人,提高了國稅機(jī)關(guān)的工作效率。該系統(tǒng)的成功,為基于J2EE技術(shù)的系統(tǒng)在稅務(wù)系統(tǒng)的研究和應(yīng)用提供了直接經(jīng)驗(yàn)。
?
參考文獻(xiàn)
1? 卡塞姆著,徐翔云譯.J2EE權(quán)威指南.北京:中國電力出版社,2002
2? Girdley M著,邢國慶譯.J2EE應(yīng)用與BEA Weblogic