如果是态度前卫的公司,使用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所设计的使用者界面。