平臺遷移認知誤區(qū))
誤區(qū)一問題應用采用JDK1.5、JDK1.6進行開發(fā)是否可以遷移到信創(chuàng)平臺的TongWeb下需要用TongWeb哪個版本 錯誤答復JDK1.5需要采用TongWeb5.0、JDK1.6需要采用TongWeb6.1、JDK1.7需要采用TongWeb7.0、最新TongWeb8.0需要JDK1.8。建議根據(jù)JDK版本選取對應TongWeb版本。卻不管采用的服務器及操作系統(tǒng)支不支持低版本的JDK。正確答復1.遇到這類問題先確認購買的服務器和操作系統(tǒng)支不支持低版本的JDK信創(chuàng)平臺通常Open JDK1.8起無老版本JDK提供。Oracle JDK1.8也存在商務費用問題。以前在AIX 上用IBM JDK與Open JDK也不同。2. 高版本JDK可以兼容大部分低版本JDK開發(fā)的應用僅可能存在少量修改??梢圆捎肨ongWeb8.0。有時在交流時還會產生誤導1. 因為是老應用沒有源碼了所以不能重新在JDK1.8上編譯只能用JDK1.6.這種說法錯誤 java編譯生成的class文件是不需要重新編譯的高版本JDK兼容低版本JDK編譯的class文件。同理下載的開源組件jar哪個需要因為換JDK版本而重新編譯的。2. 為了能保證平滑移植所以以前用的JDK1.6現(xiàn)在還用JDK1.6才能保證平滑移植。這種說法錯誤 JDK1.6升級為JDK1.8在移植過程中的差異很小移植差異更多的是WebSphere、Weblogic移植到TongWeb時應用服務器之間的差異。不更換JDK也不能保證平滑移植。在近年信創(chuàng)遷移項目中前期經常聽到業(yè)務系統(tǒng)僅支持 JDK1.5、1.6、1.7 的說法但從實際落地情況看暫未發(fā)現(xiàn)升級 JDK 后會出現(xiàn)不可修復的重大問題。誤區(qū)二問題JavaEE應用遷移到信創(chuàng)平臺是否需要重新編譯?錯誤答復需要重新編譯應用代碼。正確答復1. Java語言是跨平臺的遷移通常不需要在國產平臺上將java文件重新編譯成class文件。2. 原則上JDK低版本編譯的class文件可以運行在JDK高版本上。相反JDK高版本編譯的class運行在JDK低版本上時才需要編譯。3. Java EE應用往往采用大量開源spring、log4j、hibernate等這些在工程上直接引用更不需要重新編譯。誤區(qū)三問題TongWeb不同產品版本是否向下兼容技術規(guī)范錯誤答復通常建議應用采用的JavaEE版本與TongWeb版本對應應用是JavaEE5規(guī)范只能用TongWeb5.0、JavaEE6規(guī)范只能用TongWeb6.1、JavaEE7規(guī)范只能用TongWeb7.0。正確答復1. Jakarta EE8及以前規(guī)范大部分是可以向下兼容的不存在規(guī)范對應唯一版本的說法。2. 到了Jakarta EE9規(guī)范由于開發(fā)API由javax.servlet變?yōu)閖akarta.servlet所以從這個規(guī)范開始與之前不兼容。3. TongWeb8.0提供了對應用 javax.*與jakarta.* API互轉的功能 與 javax/jakarta命名空間轉化功能可以兼容新老規(guī)范。誤區(qū)四問題TongWeb支持哪些數(shù)據(jù)庫數(shù)據(jù)源為什么不帶JDBC驅動數(shù)據(jù)源支持redis, hadoop嗎錯誤答復TongWeb控制臺數(shù)據(jù)源列表中列出的數(shù)據(jù)庫為支持的。正確答復1. 數(shù)據(jù)源只是列出常用的未列出來的不代表不支持。只要支持JDBC驅動理論上均可支持。 另外還可”新增“數(shù)據(jù)源類型。2. JDBC驅動是由數(shù)據(jù)庫廠商提供且不同版本數(shù)據(jù)庫的JDBC驅動版本也不同。若TongWeb帶了很多版本JDBC驅動會造成類沖突。原則上用哪個版本數(shù)據(jù)庫放哪個版本數(shù)據(jù)庫的驅動。3. JDBC數(shù)據(jù)源提供的是支持javax.sql.*接口的關系型數(shù)據(jù)庫像redishadoop等非JDBC接口的是不支持的。誤區(qū)五問題TongWeb8.0的Java EE8規(guī)范支持JDK1.6, JDK1.7版本?錯誤理解不理解Java EE規(guī)范與JDK的關系。正確理解每個Java EE規(guī)范都有最低的JDK版本要求Java EE6規(guī)范最低JDK1.6、Java EE7規(guī)范最低JDK1.7、 Java EE8規(guī)范最低JDK1.8。 因為Java EE規(guī)范要使用JDK本身的一些新增特性不能要求Java EE規(guī)范兼容老版本JDK。例如JDK1.8中引入了新的關鍵字default而在Java EE8規(guī)范的API中就用到這個關鍵字。誤區(qū)六問題推薦使用TongWeb哪個版本錯誤答復老用戶用老版本新用戶用新版本 就這么簡單粗暴。正確答復用TongWeb哪個版本不是以新老用戶來確定的老用戶也可能開發(fā)新應用也會更新軟、硬件平臺。要充分了解用戶應用需求再確定版本。目前TongWeb主推版本8.0。誤區(qū)七招標參數(shù)TongWeb支持ODBC方式數(shù)據(jù)源解釋這種老參數(shù)還寫在招標參數(shù)中通常用JDBC即可。了解下JDBC與ODBC的區(qū)別JDBC代表java數(shù)據(jù)庫連接是面向對象的。而ODBC代表開放式數(shù)據(jù)庫連接是程序性的。JDBC只能將其用于Java語言開發(fā)的程序中可以在任何平臺上使用ODBC可以將其用于任何語言如CC 等本地語言開發(fā)的ODBC驅動程序通常在Windows平臺上使用早期數(shù)據(jù)庫缺乏JDBC 驅動java開發(fā)才采用JDBC-ODBC橋的方式連接數(shù)據(jù)庫但從JDK1.8開始刪除了JDBC-ODBC橋。誤區(qū)八問題用戶明確提出要支持 Spring Framework6.x 和 Spring Boot3.x 的TongWeb版本卻還提供TongWeb7。正確方式Spring Framework6.x 和 Spring Boot3.x 需要JDK17、Jakarta EE9規(guī)范的應用服務器所以要TongWeb8.0版本。誤區(qū)九問題區(qū)分不清TongWeb是支持防SDOS攻擊還是防DDOS攻擊。說明SDOS: HTTP慢速拒絕服務攻擊Slow HTTP Denial of Service AttackHTTP慢速攻擊是利用HTTP合法機制以極低的速度往服務器發(fā)送HTTP請求盡量長時間保持連接不釋放若是達到了Web Server對于并發(fā)連接數(shù)的上限同時惡意占用的連接沒有被釋放那么服務器端將無法接受新的請求導致拒絕服務。DDOS: 分布式拒絕服務攻擊(Distributed Denial of Service)是指處于不同位置的多個攻擊者同時向一個或數(shù)個目標發(fā)動攻擊或者一個攻擊者控制了位于不同位置的多臺機器并利用這些機器對受害者同時實施攻擊。由于攻擊的發(fā)出點是分布在不同地方的這類攻擊稱為分布式拒絕服務攻擊其中的攻擊者可以有多個。強調TongWeb支持防SDOS攻擊不是防DDOS若再將字母S寫錯為D績效考核就評D。誤區(qū)十問題因為TongWeb8.0不在信創(chuàng)ML里所以不能用。說明信創(chuàng)ML已經三年不更新了各個軟、硬件廠商都還在發(fā)展自己的新產品新版本所以不能因不在ML里而拒絕新產品故步自封。誤區(qū)十一問題什么情況用TongWeb專用機版專用機版有什么特點錯誤說明只要是考慮安全因素就可以用專用機版有如下特點1,2,3.......正確說明1. TongWeb專用機版用于涉密專用機服務器、桌面機的安裝但未必涉密環(huán)境用的就一定是專用機服務器。2. TongWeb專用機版僅僅是安裝包與通用機不同為rpm/deb安裝包這種安裝包不跨平臺所以才針對每種服務器制作對應的rpm/deb安裝包。安裝后在使用上與TongWeb通用機上的功能相同。3. 因專用機安裝包本就針對不同平臺制作安裝包且為簡化THS安裝TongWeb專用機自帶THS而TongWeb通用機版本不帶THS。4. 關于TongWeb是否該帶THSlicense二合一問題想想DXP帶TLQ也要單獨計費以前多個license現(xiàn)在license 三合一。5. TongWeb嵌入版非可直接運行程序所以需要嵌入版與應用打成jar包后拷貝至專用機java -jar 方式運行或將jar與可執(zhí)行腳本打包成rpm/deb包后安裝。6. TongWeb8.0可以無腳本執(zhí)行所以TongWeb8.0的通用機版本可以拷貝至專用機解壓后通過java -jar /opt/tongweb/bin/tongweb-launcher.jar server start domain1 啟動。