1 引言
?? ?隨著社會信息化水平的不斷提高,具有中國特色的增值稅監(jiān)管體系——“金稅工程”的建設正在不斷深入完善。增值稅專用發(fā)票認證子系統(tǒng)是金稅工程的重要組成部分,所謂發(fā)票認證是指:銷貨方納稅人用防偽稅控開票子系統(tǒng)開具防偽專用發(fā)票,在發(fā)票上打印出七要素,包括:發(fā)票代碼、發(fā)票號碼、購貨方納稅人識別號、銷貨方納稅人識別號、開票日期、金額、稅額,同時將這七要素的信息加密后生成84位密文,打印在專用發(fā)票的密碼區(qū)中。購貨方納稅人取得防偽專用發(fā)票后,將抵扣聯(lián)拿到國稅局,通過認證子系統(tǒng)進行掃描識別,將84位密文還原后,與票面上的七要素比對,比對相符的,即為“認證相符”,可以作進項抵扣;如果有一項或多項數(shù)據(jù)不符,即為“認證不符”,不能抵扣。除此之外,還有“密文有誤”、“無法認證、重復認證等多種認證結果。
??? 納稅人取得專用發(fā)票后,如果為了避免假票的支付風險及時到國稅局認證,每月往返于國稅局的費用不是個小數(shù)目;如果集中到申報時認證則要面對假票的支付風險和排長隊等候認證的尷尬。如何既能方便納稅人,又能確保增值稅專用發(fā)票監(jiān)控的有效性和嚴肅性?利用迅速發(fā)展的互聯(lián)網(wǎng)技術,實行增值稅專用發(fā)票網(wǎng)上認證是一個很好的解決方案。所謂網(wǎng)上認證是指納稅人通過掃描儀或鍵盤,將增值稅專用發(fā)票抵扣聯(lián)上的七要素和84位密文進行采集并轉換為電子信息,在一定的安全機制下,將電子信息通過互聯(lián)網(wǎng)傳輸?shù)絿悪C關,經(jīng)國稅機關的網(wǎng)上認證系統(tǒng)進行密文解密還原,再與七要素的信息進行比對,產(chǎn)生認證結果,最后將認證結果回傳給納稅人。
??? 為了使增值稅專用發(fā)票網(wǎng)上認證系統(tǒng)具有伸縮性,能夠根據(jù)服務器規(guī)模、認證請求量的大小和系統(tǒng)資源狀況,自動調(diào)整系統(tǒng)資源分配,如內(nèi)存、信號量等,從而滿足盡可能多的認證請求,我們采用了J2EE技術和基于J2EE規(guī)范的中間件產(chǎn)品BEA Weblogic。
2 J2EE概述
??? J2EE (Java 2 Platform, Enterprise Edition)技術提供了一個基于組件的方法來設計、開發(fā)、裝配和部署應用程序。J2EE平臺提供了一個多層結構的分布式的應用程序模型,該模型具有重用組件的能力、基于擴展標記語言(XML)的數(shù)據(jù)交換、統(tǒng)一的安全模式和靈活的事務控制。使用戶不僅可以更快地得到基于組件的J2EE的解決方案,而且解決方案獨立于平臺,不受任何產(chǎn)品和應用程序編程界面(APIs)的限制,用戶可以選擇最合適于他們的應用的產(chǎn)品和組件。
2.1 分布式的多層應用程序
J2EE平臺使用了一個多層的分布式的應用程序模型。這個模型把J2EE應用程序分為客戶層、Web層、商業(yè)層和企業(yè)信息系統(tǒng)(EIS)層,J2EE應用程序的不同功能被封裝到不同的組件中,不同的組件根據(jù)在其所屬的層被安裝到不同的機器中。圖1表示了兩個多層的J2EE應用程序。
??? 從圖1中可以看到J2EE應用程序既可以是三層結構,也可以是四層結構,但是我們通常將J2EE應用程序的多層結構考慮為三層結構。這是因為它們分布在三個不同的位置:客戶機、J2EE服務器和數(shù)據(jù)庫服務器。三層結構可以理解為在標準的的客戶端/服務器兩層結構的客戶端應用程序和后端存儲資源中間增加了一個多線程的應用程序服務器。
??? 客戶層可以直接和運行在J2EE服務器中的商業(yè)層進行通信,也可以通過運行在Web層中的Servlet或JSP頁面進行通信,Servlets是一個Java編程語言類,它可以動態(tài)地處理請求并作出響應。JSP頁面是一個基于文本的文檔,它以servlet的方式執(zhí)行,也可以方便地建立靜態(tài)內(nèi)容。具體應用(例如發(fā)票認證)由運行在商業(yè)層的enterprise bean處理,共有三種類型的enterprise beans:session beans、entity beans和message-driven beans,一個session bean描述了與客戶端的一個短暫的會話,當客戶端的執(zhí)行完成后,session bean和它的數(shù)據(jù)都將消失。一個entity bean描述存儲在數(shù)據(jù)庫的表中的一行持久穩(wěn)固的數(shù)據(jù),如果客戶端終止或者服務結束,底層的服務會負責entity bean數(shù)據(jù)的存儲。一個message-driven bean結合了一個session bean和一個Java信息服務(JMS)信息監(jiān)聽者的功能,它允許一個商業(yè)組件異步地接受JMS消息。

2.2 J2EE組件
??? J2EE應用程序由組件組成。一個J2EE組件就是一個自帶功能的軟件單元,它隨同相關的類和文件被裝配到J2EE應用程序中,并實現(xiàn)與其它組件的通信。J2EE規(guī)范是這樣定義J2EE
組件的:
??? 運行在客戶端的組件包括客戶端應用程序和applet。
??? 運行在服務器端的Web組件包括Java Servlet和JavaServer Pages (JSP),。
運行在服務器端的商業(yè)軟件包括Enterprise JavaBean(EJB)組件(enterprise bean)。
??? J2EE組件由Java編程語言寫成,并和用該語言寫成的其它程序一樣進行編譯。J2EE組件和“標準的”Java類的不同點在于:它被裝配在一個J2EE應用程序中,具有固定的格式并遵守J2EE規(guī)范,它被部署在產(chǎn)品中,由J2EE服務器對其進行管理。
2.3 J2EE容器
??? J2EE服務器以容器的形式為每一個組件類型提供底層服務。容器是一個組件和支持組件的底層平臺特定功能之間的接口,一個Web組件、enterprise bean或者一個客戶端組件必須被裝配到一個J2EE應用程序中,并且部署到它們的容器才可以被執(zhí)行。裝配的過程包括為J2EE應用程序中的每一個組件以及J2EE應用程序本身指定容器的設置。容器設置定制了由J2EE服務器提供的底層支持,包括諸如安全性、事務管理、Java命名目錄接口(JNDI)搜尋以及遠程序連接。
??? J2EE容器分為EJB(Enterprise JavaBeans)容器、Web容器、客戶端應用程序容器、Applet容器四種,分別描述為:
??? 1、EJB容器: EJB容器管理J2EE應用程序的enterprise bean的執(zhí)行。Enterprise bean和它的容器運行在J2EE服務器中。
??? 2、Web容器:管理J2EE應用程序的JSP頁面和servlet組件的執(zhí)行。Web組件和它的容器也運行在J2EE服務器中。
??? 3、客戶端應用程序容器:管理應用程序客戶端組件的運行。應用程序客戶端和它的容器運行在客戶端中。
4、Applet容器:管理applet的執(zhí)行。由運行在客戶端的一個Web瀏覽器和Java插件一同組成。
3 BEA WebLogic
BEA WebLogic作為符合J2EE規(guī)范的新一代基于Java的Web應用服務器,在提供傳統(tǒng)的應用服務器功能的同時,還針對當今的Internet技術和Java技術提供了眾多功能。
??? BEA WebLogic應用服務器完整地實現(xiàn)了Enterprise JavaBeans技術,因而能夠很方便地將業(yè)務邏輯封裝為安全可靠的交易型組件。BEA WebLogic支持所有任選的EJB擴展,其中包括分布式交易處理、自動保持持續(xù)性和entity;BEA WebLogic應用服務器是一可擴展的框架,它允許任一標準的Java應用插入其中,其中包括那些Java客戶端應用; BEA WebLogic的多層JDBC功能使得Java應用能夠從網(wǎng)絡中的任何位置訪問和更新數(shù)據(jù)庫;采用BEA WebLogic,可使所有雙向通信共享某一客戶機/服務器連接,而不必考慮請求類型及被訪問的遠程對象的數(shù)目。數(shù)據(jù)庫連接也可被共享,這樣就可以同時支持盡可能多的客戶機。BEA WebLogic將數(shù)據(jù)庫查詢結果進行緩存,并可在后端DBMS被修改的情況下,對緩存的數(shù)據(jù)實現(xiàn)實時的自動更新。
??? 采用BEA WebLogic,用戶可以將精力集中于業(yè)務邏輯的開發(fā),而無需為用于在網(wǎng)絡上部署該邏輯的基礎結構操心,可以方便、高效地實現(xiàn)應用系統(tǒng)。
4.基于J2EE技術的增值稅專用發(fā)票網(wǎng)上認證系統(tǒng)
??? 增值稅專用發(fā)票網(wǎng)上認證系統(tǒng)包括國稅局服務器和企業(yè)客戶端兩大部分。納稅人通過Internet網(wǎng)絡登錄國稅局網(wǎng)上認證服務器,將掃描識別或錄入的專用發(fā)票數(shù)據(jù)提交,由國稅局服務器完成專用發(fā)票的解密比對等認證過程?;鶎訃悪C關通過IE瀏覽器和稅務廣域網(wǎng)絡對其所管轄的納稅人網(wǎng)上認證數(shù)據(jù)進行遠程管理。系統(tǒng)結構如下:
??? 本系統(tǒng)的服務器軟件采用基于J2EE規(guī)范的金稅三期中間件應用服務器平臺架構體系,完全采用Java語言進行開發(fā),提供了完善的功能和安全保證功能。上圖中WEB服務器前置機本身沒有安裝如何網(wǎng)上認證程序,僅完成用戶請求的中轉,起到了提高系統(tǒng)安全性的作用。系統(tǒng)設計了用戶異常請求的監(jiān)控功能,當用戶提交解密處理的異常發(fā)票超過限定值時,系統(tǒng)可以自動關閉該用戶的網(wǎng)上認證賬戶。稅務機關可以隨時查詢所轄稅務機關企業(yè)的網(wǎng)上認證情況、異常情況并可隨時進行處理,保證網(wǎng)上認證的安全運行;BEA WebLogic 應用服務器提供了很好的接入響應性能,能夠在同一時間內(nèi)響應數(shù)以萬計用戶的并發(fā)請求,同時應用服務器可根據(jù)用戶數(shù)量規(guī)模選擇不同的服務器設備,從安裝Windows 2000 Server的PC服務器到UNIX小型機均可,真正與平臺無關;對用戶并發(fā)訪問特別大的站點,系統(tǒng)提供多服務器集群處理的能力。
5.結束
??? 由于J2EE技術采用基于組件的方法設計、開發(fā)、裝配和部署企業(yè)級應用程序,因此遵守J2EE規(guī)范開發(fā)應用系統(tǒng),能有效地保護用戶投資,并使建立可移植、可伸縮的應用成為可能,同時,這些應用能夠完美地與其它應用和系統(tǒng)實現(xiàn)互操作。
基于J2EE技術的增值稅專用發(fā)票網(wǎng)上認證系統(tǒng)開發(fā)非常成功,該系統(tǒng)高效、安全、維護簡單,投入運行后,極大地方便了納稅人,提高了國稅機關的工作效率。該系統(tǒng)的成功,為基于J2EE技術的系統(tǒng)在稅務系統(tǒng)的研究和應用提供了直接經(jīng)驗。
參考資料:
1、J2EE權威指南? [美]卡塞姆等著??? 徐翔云等譯? 中國電力出版社? 2002.7
2、J2EE應用與BEA Weblogic Server?? [美]Michael Girdley等著? 邢國慶譯 電子工業(yè)出版社? 2002.4
3、J2EE技術實踐? (美)Rick Cattell Jim Inscore Enterprise Partners 著? 李海波 蔣蓉 等譯 機械工業(yè)出版社 2002.1
