在交易安全方面,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应用程序存在于一个容器之中,这个容器提供企业级应用程序所需的服 务,当然也具有企业所需要的品质,例如:交易、安全以及Persistence 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所设计的使用者界面。