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