关于集成技术方面,我本不想比较,其实所有的开发者都明白一个道理,微软的开发平台天生就具有集成的优势,其实不用战斗,这场战役已经胜负明晰了,.net身出名门,它在这场战斗胜利,我想很多人不会持太大的歧义,那么就让我们来看看.NET在哪些方面胜过J2EE的。 虽然我是个Java狂热者,在Java开发这三年多时间里,它给了我很多的快乐和收获,至少在生活,我可以用他来维持生计,但是今天我不得不把一些赞美的话留给.NET,因为我非常喜欢微软的体系结构,早期我用VB开发的时候,就对微软集成技术和API所叹服,他可以给你提供非常清晰解决方案和思想描述,并且非常的简单易懂。 .NET集成技术 过去,微软的体系结构只是建立在COM/DCOM基础上,COM/DCOM是进程间通信的二进制标准。虽然这个标准本身没有什么失误,但是它与微软以外的领域格格不入。也就是说,这个标准成了实现与其它软件平台集成之间的瓶颈。 除此之外,数据库的操作方面也是一个问题,虽然ADO简化了数据访问,但是把数据从一个地方传送到另外一个地方就成了问题,ADO Recordset(记录集)对象是一个存储数据的二进制结构,而这种二进制格式对于非微软的平台没有任何意义。 .NET弥补了这些缺陷,因为它完全基于标准。比如,数据用XML的格式通过进程边界,而这个数据有一个到XSD的连接,所以任何客户端都可以正确地转化数据。 同时,.NET集成技术又完全体现在WebServices上。(基于SOAP的WebServices是微软的创新,来源于微软的简单对象访问协议,或者称为SOAP) .NET把WebServices作为唯一的集成解决方案,因此我们可以非常简单的使用它。在.NET中使用WebServices就如同使用其他核心语言API一样,例如Strings或Collections。 .NET与生俱来的优势是任何一个开发平台 都无法比拟的,它可以和微软用及非微软很多相关产品进行有机的结合,能够开发出更加优化的产品。 J2EE集成技术 Java(或J2EE)提供的集成API比微软的要更广泛并且更复杂。对于在企业中你所能想到的每一种集成技术J2EE都有一个相应的API。 在J2EE中,举足轻重的API有JMS和EJBs。JMS是一个统一面向消息中间件的接口的规范,而EJB多重应用程序的标准,目前依然被频繁用于不同的任务中。 在J2EE中还有简单对象远程规范RMI-IIOP,还有用于将Java程序连接到非Java程序和软件包以及中间件的JCA适配器技术,Java程序员能够间接地访问数据库的JDO规范,J2EE同时也没有放弃WebServices,这可能是我所看到的最冗长的WebServices API-JAX-RPC。 总体来说,J2EE拥有一大堆API,但是其中的少数是你在开发中能用到的,并且很多API让你感觉他非常的麻烦。 总结: 假如你有一个集成问题的时候,会选择这两种竞争技术的哪一种作为解决方案呢?除非你能从每一个可能的方面控制服务器的环境,那么J2EE是你最佳的选择。 以上所说只是我的个人感觉,在这个方面,.NET更具透明性,它的WebServices实现起来更平滑。 但是我们知道,企业集成业务通常是非常多样的,企业通常不会让一切东西都运行在Windows Server上,而是可能包括Solaris、Linux或HP-UX等多种系统的组合,这些情况都有可能左右你的选择。 因此具体选择哪一种平台,要根据你的实际情况来定,不可一概而论。 (责任编辑:admin) |