如果是態度前衛的公司,使用j2ee者可以選用xml-rpc(http://java.sun.com/xml/jaxrpc/index.html)或是soap(http://java.sun.com/xml/jaxm/index.html)技術,sun microsystems更提供了 java web service developer pack (http://java.sun.com/webservices/webservicespack.html) 供開發者開發web services。反觀.net技術,只提供對于soap的支持。在對于既有分布式技術支援不足的情況下,對新一代分布式技術的支持又無法提供彈性的選擇,風險之大,是可以預估的。
j2ee,而是下載一系列的adobe acrobat pdf 檔案,這些檔案會仔細說明應用程序與所在容器(container)之間的運作規定。透過遵守j2ee的規定,應用程式可以被部署在各種平臺上的容器中。j2ee陣營的目標是提供客戶有多重選擇產品與工具的機會,并以此帶動良幣驅逐劣幣的效應,讓最好的產品成為市場上的贏家。要達成此理想的唯一的方法就是所有的廠商都要符合j2ee標準。
在交易安全方面,sun microsystems更與許多提供電子商務平臺的廠商合作,例如:bea、ibm以及oracle等,共同制定j2ee。sun microsystems更發起一個java標準制定組織java community process (jcp),專門隨時構思新決策來改善j2ee。 sun microsystems之所以這樣作的理由是因為,要達到電子交易安全最好的方法,就是要請所有的專家共同來制定嚴格的規范--唯有這樣的作法才能成功地達成他們整合市場的目標。j2ee 是一種java的應用。您的j2ee 組件必須被轉譯成bytecode并在java的執行引擎下執行jre。值得一提的是,即使是相容于j2ee平臺的容器,大多數都是以java技術實作而成的。相較于microsoft.net在正式發行沒多久時間就因為安全上的錯誤而發表service pack1來說 (詳見http://support.microsoft.com/directory/article.asp?id=kb;en-us;q317396&sd=msdn&,使用.net卻還沒有去下載的朋友請趕緊連上去看看,以免惡夢重現) ,我們應該更了解一件事,就是:安全性是大家的事,決不是單一廠商就能決定的。
vi. j2ee 以及web services。
j2ee 在以往的java程序語言中被定位成開發伺服端應用程序的架構。它可以被用來建置傳統的網站,軟件組件或是web應用程序(web application)。到了最近,j2ee更被擴充成可支持xml web services的標準。這些web services可以和其他用j2ee或非j2ee標準所開發的web services溝通。
商業層級負責商業程序與資料邏輯。在大型規模的j2ee應用程序中,商業邏輯是利用enterprise javabeans (ejb) 組件技術所建置。由此可知,這個層級專門用來負責商業程序以及資料邏輯的處理。它可以透過java database connectivity (jdbc)、sql/j來連接數據庫,或是透過java connector architecture (jca)技術來連結既有系統。它更可以利用java用來處理xml的api (jaxp, java api for xml processing),并透過web services技術(包括:soap、uddi、 wsdl以及ebxml)來連接其它協力廠商所提供的商業應用程序。因此協力廠商們可以透過web services技術(包括:soap、uddi、 wsdl以及ebxml)讓j2ee程序彼此連接起來。所以只要利用java servlets (這是一種支持http請求/響應的java技術)就可以從協力廠商的web services中接受請求了,并予以響應。java servlets使用jaxp/jaxr/jaxm/jax-rpc等技術來提供web services運作時的所有功能。web services目前是擴充鏈接庫的型態存在,目前已經著手將web services并入j2ee下一版的規格之中,并成為業界共通的標準。傳統的客戶端程序,例如java applet或桌面應用程序,將直接以internet inter-orb protocol (iiop)來連接ejb組件而非透露web services,如果要使用web services也可,但是因為通常客戶端的應用程序都會和j2ee應用程序出自同一家廠商,因此根本不需要xml web services來扮演溝通的角色,就算真的有需要,也是沒有問題的。瀏覽器以及無線裝置則可以連接到java server pages (jsp),這些jsp則有著各企業自行使用html、xhtml或wml所設計的使用者界面。
vii. 微軟的 .net 平臺
microsoft .net 是一項可以讓企業開發智能型與企業級web services的產品。在此要特別注意的是,.net與j2ee最大的差異:.net是一項產品策略,而j2ee則是一項標準。microsoft.net可說是windows dna的大翻修,這是微軟先前提供開發企業級應用程序的平臺。windows dna 包含許多現有產品的技術,包括microsoft transaction server (mts)與com+、microsoft message queue(msmq)以及microsoft sql server 數據庫。而新的 .net framework 則是設計來取代這些技術的,并加入web services層級以及程序語言的改進。
.net應用程序存在于一個容器中,這個容器提供企業級應用程序所需的服務,
例如:交易、安全以及訊息服務。.net應用程序的商業層級是透過.net managed 組件所開發的。這個層級負責商業程序與資料邏輯。它可以透過active data objects(ado.net)來連接數據庫,或是在現有的系統中使用microsoft host integration server 2000所提供的服務,例如:com transaction integrator (com ti)。當然它也可以透過web services技術(包括:soap、uddi、 wsdl以及biztalk)來連接協力廠商的商業應用程序。因此協力廠商們可以透過web services技術(包括:soap、uddi、 wsdl以及biztalk)讓.net程序彼此連接起來。傳統的客戶端程序、瀏覽器以及無線裝置則可以連接到active server pages(asp.net),這些asp.net則有著各企業自行使用html、xhtml或wml所設計的使用者界面。