“Sun会成为Web服务的救世主吗”等四篇(转自ZDNet.com)

类别:.NET开发 点击:0 评论:0 推荐:

有关Java、Sun、Web Services的四篇评论(转自ZDNet.com)

下面是有关Java、Sun、Web Services的一些消息和报道,也许可以为正在徘徊于MS和Sun之间,又或是好久没有听得Sun的报道的一个安慰。无论如何,世界会继续发展,前途是有的,但无论是Sun还是MS,并没有指明或让人看到一个明确的未来,不过有些是明确的:你可以为这个世界存在不同的两种声音,不同的选择而感到欣慰,但如果他们不是敌对的,那么我们该感到无比庆幸了。未来的日子里,不管最终他们谁会胜出,首先他们必须尝试在闪耀各自奇特个性的不同光辉下学会友好相处。

ccBoy
2002.02.06


Sun会成为Web服务的救世主吗?

作者: ZDNET CHINA 特稿
日期: 2002年02月06日   
http://www.zdnet.com.cn/developer/tech/story/0,2000081602,20037160-1,00.htm

Sun公司的Sun ONE(Open Net Environment的缩写)--基于J2EE(Java 2 企业版)--提供了配置Web服务的强壮的跨平台的解决方案 。但是Sun不得不在支持最新的Web服务标准方面迎头赶上: SOAP, UDDI, 和面向B2B架构的WSDL,Sun公司正在努力把Web 服务加入到它的Java平台和它自己的iPlanet产品中来。

几个Sun公司的产品和第三方的工具现在已经使得创建和配置基于Java的Web 服务变得可能。你会在一年半左右的时间里看到这家公司把XML 和Web 服务 API作为Java 平台中的标准组件加进来。同时,支持现有的J2EE标准的Web 服务将以可下载的插件,iPlanet产品或者第三方工具的形式出现。新的微软.Net Framework还是beta版,但是Sun公司的Java平台已经存在五年了。不管以什么方式进行衡量,Java平台(和其开发语言)都是一个真实的成功。目前,许多的应用服务平台都支持J2EE 1.3标准,包括 BEA, Borland, IBM, 和iPlanet(Sun公司产品线中应用服务器端的部分)。对于开放源代码的狂热爱好者来说,甚至还有免费的JBoss 应用服务器。

Java 运行于提供了一套强壮的API并通过垃级内存回收保护应用程序的平台之上。诸如BEA, Borland, IBM, iPlanet, 和WebGain 这些致力于Java的公司提供了跨销售商的广泛的支持。随着Sun公司Java 2 JDK 1.3中HotSpot编译器技术的到来,Java的性能明显上升到了一个新的高度--而.Net的性能现在还是一个未知数。

Sun会成为Web 服务的救世主么?
除了Java还有别的东西

Sun ONE 包含的不仅仅是Java;它结合了对J2EE,XML,LDAP,和一个Web 服务 API的支持。J2EE标准仍然是Java 企业计算的核心。有了5,000多个Java运行库,J2EE包含了一套创建Web 应用程序的有力的API。其强大的功能还包括数据库支持,创建与数据库一道工作的商业组件所需的EJB(企业JavaBeans),以及创建动态Web应用程序所需的JSP(Java Server Pages)和servlets。其它J2EE中捆绑的以前的标准还包括用于命名和路径服务的JIDI(Java 命名和路经接口),消息发送的JMS(Java 消息服务),以及数据库编程使用的RMI(远程方法调用)和JDBC(Java 数据库连接)。

从一定程度上来讲从J2EE到Web 服务的转变只是意味着使用不同的API在一个更通用的级别完成相同的工作。例如,在Web 服务中,使用的是SOAP和XML而不是Java RMI来在网络应用程序之间传送数据。相似的是,UDDI而不是JNDI被用来查询和管理远程的服务或者对象。

因为有了Sun公司严格的认证程序,在J2EE不同应用程序服务器之间交换程序而不需要大范围的重写你的代码是相当容易的。与老一些的标准比较(比方CORBA),这个过程对于J2EE来说变得更加容易管理。不管你怎么看,Java跨销售商之间的支持已经领先微软.Net很远了。

虽然Java从来没有成为一个W3C标准,它的成长是由JCP(Java Community Process)控制的,这允许多个销售商--由Sun领导--能够设计新的API和功能。新的Web服务标准使JCP有些力不从心。例如,目前的J2EE 1.3标准还没有象.Net一样包括XML或者Web 服务。

Java的Web 服务API

目前,Java开发者必须使用免费下载的Java XML API(JAX)包来添加对XML的支持。Sun公司计划在下一个版本的J2EE 1.4标准中加入XML解析功能,但是要升级XML标准意味着要下载多个软件包。

除了XML的解析功能,到2002年晚些时候Web 服务API还会被添加进J2EE 1.4中,然后开发工具和应用服务器也很快会提供对它的支持。新的JAX包会在2002年早些时候被发布,提供对Web 服务更直接的支持。在本文发表的时候,只开发了基本的JAX Processing(JAXP)包。但是为未来设计的API包括了那些XML消息发送中(JAXM)将要使用的东西,它们将为基于XML的包括SOAP的RPC机制提供接口,以及注册和查询Web 服务的XML注册(JAXR)所需的Java API。当然,这些Java 实现会与底层的开放源代码标准(SOAP和WSDL)一道工作,但它们能够提供高层的API来使开发工作变得省力。

与此同时,Sun正在与开发工具销售商一道工作来确保让开发者花最少的力气来创建Web 服务是可能的。

虽然是一种全新的.Net在它的CLR运行引擎中包含了对Web服务更多的支持,现实的Java开发工具和对Web服务的支持已经在开始销售了(即使它们在2002年以前不会成为Java的一部分)。

Java的Web服务支持出现在IBM和iPlanet开发的应用程序服务器产品中。对于这些标准,Sun ONE平台增加了ebXML,它是一个基于SOAP的电子商务标准包含了对使用JavaBeans的事务的支持。任何需要多个组件和事务过程的解决方案可以在简单的SOAP无法胜任的地方选择利用ebXML带来的好处。
 
Sun ONE 产品
Sun公司最开始的Web 服务将致力于B2B,包括企业商务站点和大企业的集成(比方供货链销售商)。不要试图寻找象微软的HailStorm这样的面向消费者的Web服务;Sun公司计划发布一个允许商业公司创建自己的Web服务的平台。其中的一个例外是Sun ONE Webtop--即StarOffice的一个Web服务版本。

iPlanet Integration Server, B2B 版 ($40,000 每 CPU),不久前已经被改进以支持Web 服务。这个产品(与微软的BizTalk Server 2000相对应)能够通过XML集成分散的系统。就象iPlanet Application Server (企业版, $19,995 每 CPU)的一个新版本一样,它还提供了SOAP支持。支持性的产品还包括一个消息服务器, iPlanet Message Queue for Java ($4,000 每 CPU)。

企业商务站点是Sun公司计划中一个重要的焦点。这家公司希望Web服务在iPlanet Portal Server中能够用于安全认证和基于角色扮演的个性定制化过程。这与微软的Passport听起来是类似的,因为Web服务将被用来进行认证和个性化网页内容。但是对于Sun来说,身份认证和相关的参数还是会首先在公司的LDAP目录里进行维护,而不是UDDI,UDDI将在中长期内用于Web服务的查询和描述。Sun预计随着企业努力将它们自己的企业数据保存和其商业伙伴的数据集成在一起,LDAP会在短期内变得更加关键。

对于开发者来说,Sun 公司的Forte for Java,企业版是一个集成的开发环境,在不久以前也提供了对Web服务的支持,并有向导能够自动化XML的创建过程。Sun公司还与第三方的Java 开发工具销售商比方Borland, IBM, 和WebGain一道工作以确保Web 服务创建向导将会被包括进未来的Java工具中。

Sun公司的Java平台克服了要进行有效的分布式计算所面临的许多问题。这家公司对于网络计算的观点看起来是适合这个Web服务的新世界的。从这个观点来看,他们不仅是进步的,而且是革命的。

因为它的合作伙伴很快作出了反应,所以Java平台已经为Web服务做好准备已经非常明显。可以理解的是,XML和SOAP API要成为J2EE标准的一部分大约需要一年。同时,运行Sun ONE的IT企业可以选择支持Java的iPlanet和第三方的工具来与Web 服务一道工作而不需要在人员培训上花费很多。

最重要的一点是没有开发者会需要手工编写这些XML SOAP捆绑代码了。而且随着2002年新的API走进Java中来,那么在Sun平台上开发Web 服务会变得更加容易。

将J2EE平台提升到一个新的高度
 
作者: ZDNET CHINA 特稿
日期: 2002年02月06日   
http://www.zdnet.com.cn/developer/tech/story/0,2000081602,20037158-1,00.htm

J2EE成功背后的阴暗面应该说是企业Java Beans(EJB)的创建,配置和管理过程过份复杂  。当然,EJB并不是创建有用的Java应用程序的唯一办法,我们有数不清的Java Server Page(JSP)。一些人甚至称花在EJB上的时间和工作是不值得的,因为JSP同样能够很好的完成工作。但是事实是EJB有很大的潜力--特别是当你需要创建真正基于组件并成一个数据库集成在一起的应用程序的时候。

很长一段时间里,Java开发者抱怨缺乏能够加快EJB应用程序开发过程的软件。这种情况在去年因为新的能够使EJB开发过程变得更容易的软件项目和产品的出现而发生了巨大的改变。我并不是在谈论象Forte, VisualAge, 或者JBuilder这样的集成开发环境--所有这些软件适合于专家级的Java开发者。我指的是能够帮助没有那么多经验的开发者快速创建强有力的基于组件的应用程序的软件。

这些新的工具软件的前提是与流行的J2EE应用程序服务器之间的兼容性,它能够提供EJB必要的容器。应用程序本身提供了向导提示能够帮助应用程序开发过程--但是所有这些都比不上全功能的,第三方的解决方案。实际上,这些开发和配置平台在应用程序服务器容器的高层提供了另一个容器,并在运行时为你所创建的EJB提供多种服务。下面是在这个领域占主流的三家公司和它们的产品:

Versata公司。这个公司的Logic Suite旨在自动化商务处理逻辑并能够在IBM WebSphere 或者 BEA WebLogic上运行。这个套件的Logic Server组件部分提供了一套预先定制的EJB,能够提供常规的商业逻辑并能够在你需要的任何时候重用它们;而Logic Studio 组件则提供了将应用程序整合在一起所需的GUI(图形用户界面)工具。象许多这样的高层工具一样,Logic Suite 在一定程度上也是作为一个通讯工具使用的:商业用户可以使用它来为商务规则建模--它能生成后来工作所需的代码,但是同时它也提供了一个捕捉业务需求方的需求信息的方便的工具。AltoWeb公司。

AltoWeb公司。他的Application Platform能够自动化J2EE应用程序的信息逻辑,商务逻辑和数据表示逻辑。除了一个应用程序框架,Application Platform还包括预先定制的组件,应用程序生命周期管理功能和集成的开发工具。AltoStudio提供了GUI IDE(图形化集成开发环境),同时AltoManager能够处理多个服务器上的应用程序配置过程。另外,AltoMonitor还能够自动监控服务器,进程,组件等等,并提供关键的性能数据。这个完整的平台能够运行在WebSphere 和 WebLogic以及JBoss 开发源代码应用程序服务器上。

Wakesoft公司。Wakesoft Architecture Server是一个J2EE应用程序结构设计,创建和配置的完整框架。与提供开发工具不同的是,它允许开发者加进他们进行喜欢的开发工具--并通过基于J2EE规范(包括Sun公司的BluePrint,它们是勾勒出J2EE应用程序最好的实现方法的技术文档)为数据表示,商业逻辑,和业务集成层提供详细的架构来简易化开发过程。许多Java开发者以手工的方式来遵循这些规范,但是Wakesoft使这个过程完全自动化。

虽然这是一个新领域但已经人满为患了。新出现DCH,lopsis,Compuware,和NeuVis(我在这里随便提几个)都来势汹汹,而老牌的Bowstreet和Epicentric在应用程序服务器的顶层提供了对企业站点进行特别支持的平台。当然所有这些竞争者都把自己绑在了Web 服务的战船上--为什么不呢?在它们能够帮助Java开发者创建复杂的应用的同时,它们还可能会提供消除异构性并使不同的组件能够通过HTTP上的SOAP消息进行访问的工具。许多公司还提供了管理和监视Web服务的特别的功能。

如果不提到Eclipse 计划就不是完整的,它是一个由IBM领导的开放源代码的软件工程--这个工程把它的Java开发环境WebSphere Studio 捐赠了出去。Eclipse 计划于去年九月份开始并得到了软件工业广泛的支持,Eclipse 提供了一个开放的平台,任何销售商都能够插进自己的建模,代码生成,编辑或者测试工具--创建了一个广泛集成的开发环境在这个环境中幸福的开发者们可以混合并比较各种最优秀的软件。这个计划面向Linux平台--但不会限制在这里面。

另一个能够显示应用服务软件销售商并不会袖手旁观的迹象是,BEA正在创建一个新的易用的开发平台,代号为Cajun,并会在今年的某个时候进行发布。显然,每个人都似乎已经意识到创建和配置复杂的基于EJB的应用程序的技能不应该只限于天才们。如果这个情况不加以改变,J2EE将永远不能发挥它作为企业通用应用程序开发框架的潜力。


Java 为Web 服务做好准备
 
作者: ZDNET CHINA 特稿
日期: 2002年02月06日   
http://www.zdnet.com.cn/developer/study/story/0,2000081626,20037156-1,00.htm

Java开发者们与Sun公司一道,在Sun推出它的Sun 开放式网络环境(Sun Open Net Environment)Web 服务项目与微软公司的.Net竞争的时候,努力的支撑起Java的应用集成能力。

由Sun发起的Java Community Process 正在研发J2EE(Java 2 企业版)的新版本以及其底层的JCA(Java Connector Architecture),它能够扩展企业级用户将电子商务应用程序与EIS(企业版IS)集成的能力。

JCA 2.0的功能将有可能被包含在即将到来的J2EE 1.4标准中,并将有可能在五月于圣弗朗西斯科召开的JavaOne展览上大出风头。J2EE 1.4定于今年底发布,虽然具体的时间还没有定。

JCA是一个将J2EE应用程序连接到EIS的架构。JCA 1.0被包括在了J2EE 1.3中,J2EE的最新版本在去年九月份发布。JCA 2.0会扩展JCA 1.0并加入新的功能,包含对EIS,JMS(Java Message Service)提供程序可装卸能力的异步集成,通用客户端界面元文件和对XML的支持。

一些开发者们称他们相信Java服务能够与其它的Web 服务标准--SOAP(简单对象访问协议),WSDL(Web服务描述语言)和UDDI(通用描述,查询和集成)--这些其它公司,包括微软支持的东西共存。

“我不认为Web服务和JCA是相互的竞争的,我觉得它们是相互补充的,”Resource Adapters公司的工程副主席Raj Rao说,他是加利福尼亚Fremont的一个软件开发者。“我可以举一个例子,一个请求查看帐号的消息通过WSDL和UDDI进行查询和描述并使用SOAP标准通过HTTP到达电子商务服务器。所有这些过程下面的组件的动作将会是一个Java Bean与一个后端的JCA连接器进行交谈。”

Web 服务集成的关键

最新的开发工作集中于使Java成为Web 服务集成的一个关键技术。诸如Tibco Software和WebMethods这样的公司提供专有的集成产品,但是这个方面的战线被拉大到哪一个Web 服务集成方案对应用程序来说是最好的。

Rao说,Java集成功能的进一步开发对于开始进行电子商务的企业来说是具有吸引力的。“JCA并没有直接解决任何集成问题。它只是提供了J2EE平台,比方(BEA Systems公司的)WebLogic或者(IBM公司的)WebSphere和一个EIS之间的通信和交互的标准,”Rao 说。“现在有了这一切,我们能够确保一个安装在BEA WebLogic 上的JCA连接器能够象其它任何一个平台,比方IBM WebSphere上面的连接器一样工作了。”

微软的官员仍然坚持说.Net会使得Java或者JCA变得多余。“我们认为客户的头号问题就是集成,不是把程序在任何地方都运行,”Tony Goodhew在华盛顿Redmond说,他是微软.Net Framework的产品经理。

“JCA与IBM这样的公司多年以来所拥有的产品是类似的,”Goodhew说。“JCA模型受到了限制是因为它在与现有的系统进行通信时使用的是紧耦合的方式,但是软件工业现在所采用的模型是基于第三代的XML Web 服务的模型,并基于真正的诸如SOAP,XML和HTTP这样的互联网标准协议,这使得你能够用任何语言进行开发,不仅仅是Java。”

 JCA 和Java 集成
将现有的EIS与新的基于Web的应用程序集成在一起是企业的关键问题:

JCA帮助开发者集成异构的EIS
JCA提供了一个应用程序服务器与EIS之间的连接能力
JCA 1.0 被捆绑进了J2EE 1.3中,并将在九月发布
JCA 2.0 扩展了1.0标准加进了新的诸如与EIS的异步集成,JMS提供程序的可装卸能力,通用用户界面元数据和对XML的支持。
 


.Net和Java有何相似之处
 
作者: Larry Seltzer(TechUpdate)
日期: 2002年01月31日   
http://www.zdnet.com.cn/biztech/tech-trend/story/0,2000068130,20036928-1,00.htm

当第一次读到一篇关于ASP+的文章时,我确实深受震动  
。现在ASP+称为ASP.Net,当然,它是.Net系列技术,是微软动态服务器页面的下一代版本,它提醒了我Sun公司的Java服务器页面(JSP)对微软的技术哲学体系发展所产生的积极影响。当我开始仔细研究后,我注意到.Net的许多技术,至少是部分上,显然受到了Java的推动。

当然,这没有什么让人惊奇的,我可以认为这无关紧要,过去,许多规则已经发生了改变;JSP自身在动态Web页面领域早已取得了一席之地,它最著名的产品就是ASP(也是最早的产品之一),J2EE受到微软事务处理服务器的重要影响,其派生的产品正是COM+套件之一。可能所有情况都是这样的,很多公司都曾做过多年前IBM公司已经做过的事情,也许这正是计算机业的普遍现象。

Java 和.Net之间的相似之处一般很明显。比如,在ASP.Net和JSP中,页面都是预编译过的,因而运行起来更快。如果要寻找它们之间的差异,你可以发现典型的微软模式,尤其是在开发工具中表现得更明显。(有些人可能会对“典型微软模式”的说法发笑,但他们采取这种做法的原因之一是这么做能够取得成功)。

模式之一是微软赋予了开发者很大的自由,甚至是进行危险操作的自由。例如,在C#中,微软提供了一些开发者想要或需要使用的不安全语言特性。Java的创始人James Gosling最近讽刺了这些后门,比如程序员创建当前指示器的能力,但人们对此却无能为力。如果让开发者在不使用Java的条件下,完成在Sun中利用Java开发的任务,这样所导致的困难还是可以让用户接受的。微软为已有的保留代码提供了额外的优先级,允许新开发的程序与它进行交互,这样使得它们的.Net版本不可避免地存在后门。

另外一个模式是支持多语言。.Net出现之前,微软批评Java让程序员使用一种语言完成所有事情。实际上,微软在他们的Java虚拟机中做了一些改变(根据Sun提出的要求),使其支持与其它语言的交互。在设计自己的.Net虚拟机时,微软令它可支持多种语言。例如,不同语言对数据类型有不同的物理格式,如果不同语言需要与同一个数据进行交互时,他们会不得不违反自身内部制订的标准。如,COBOL中的字符串类型长度是固定的(按照已建立的长度标准), C中的字符串类型是变长的,如果编译器遵守标准,那么代码就不能完成交互;如果微软制订特殊的.Net数据类型,那程序员要完成交互的话就必须要修改代码。微软采取的这种做法,让人们至少可以在.Net上用COBOL写代码,然后调用已有的程序,从而不必对COBOL程序员进行Java培训并重写代码。

但是很显然,新的.Net平台使用虚拟机的概念表示微软至少承认Sun在此领域的正确性。虚拟机是一个经典的老的概念,是Sun创立了这一基本理念。我走出大学校门的第一份工作是编写在UCSD p-System上运行的代码,我的二进制程序通过虚拟机在相差很大的硬件和软件平台上运行,但过去处理器速度只是几兆赫兹,高端系统只拥有1MB RAM,因此虚拟机程序运行起来非常慢。现在的虚拟机,如Java虚拟机或.Net虚拟机的运行速度得到了提高,用户可以接受这种速度。

除了基本系统体系之间的相似之处外,Java和.Net之间还有许多互相模仿的地方。如Java 2 Micro Edition和Microsoft .Net Compact Framework,都设计成压缩平台。还有微软的活动数据对象(新平台中的ADO.Net)和Sun的Java数据对象(JDO),它们都提供了对数据库的简易访问。

随着时间的流逝,Sun的发展不可避免地会受到.Net的影响,可能会出现Scott McNealy所说的".NOT"。微软在整个基于XML的Web服务上占有明显的领先地位,Sun的用户必定要求类似的东西,因此就形成了Sun ONE(开放网络环境)。令人惊奇的是,Sun的Web服务市场口号听起来与微软的Web服务市场口号竟如此相像!

看了这篇文章后,你可能简单地认为这两家公司不太尊重对方,但我认为事情要比想到的更复杂更有意义。我希望.Net和Java在今后的时间里能互相“影响”,两个公司都能看到对方值得借鉴的地方。这就是竞争!(翻译:智德;责任编辑:王岳)

 

本文地址:http://com.8s8s.com/it/it46133.htm