软件工程部 陈治伦
在早期,计算机体系结构主要是主机/终端模式,主要特点为字符集的界面,应用逻辑和数据库都集中在主机上。后来随着网络技术的出现,客户端界面图形化了,应用逻辑和数据库被分别放在了客户端和服务器上。而现在IT界所流行的是多层体系结构,客户端为图形界面,中间多了Web服务器和应用服务器,后台才是数据库服务器。
微软公司正是抓住了图形界面这个法定,凭借其Windows操作系统与Intel构架联盟的优势,在PC市场上逐渐成熟壮大,形成了一个目前与Open System(基于UNIX的老牌大公司)相抗衡的独立阵营。
而从软件技术的发展历程来看,经历了单机、C/S、B/S三个阶段,在早些时候,软件开发都是基于过程化的开发工具,如C、Pascal等。在这个过程中,MS和Open System阵营都在各自发展、相互斗争,直到进入20世纪90年代,随着面向对象技术的出现,双方的竞争才日趋白热化。
当Open System阵营提出OO(Object-Oriented)思想和组件概念、并定义了CORBA(Common Object Request broker Architecture)规范时,微软则先后推出了OLE(Object Linking and Embedding)、COM(Component Object Model)、DCOM(Distributed Component Object Model)等一系列新的技术,统称ActiveX,并提供了MTS(Microsoft Transaction Server)作为后台组件管理环境。>
与此同时,Open System阵营出现了一个新的分支:Java,它更加体现了对象的继承和封装特性,并经过了Java Bean、EJB(Enterprise Java Bean)的过渡,演变为现在流行的J2EE(Java 2 Platform Enterprise Edition),J2EE平台提供了一个多层结构的分布式的应用程序模型,该模型具有重用组件的能力、基于扩展标记语言(XMl)的数据交换、统一的安全模式和灵活的事务控制。
其间,微软的COM+就是想与EJB相抗衡的。COM+倡导了一种新的概念,它把COM组件软件提升到应用层而不再是底层的软件结构,并通过操作系统的各种支持,使组件对象模型建立在应用层上,而把所有组件的底层细节留给操作系统,更能适合于大型分布式应用的开发。
不论COM+、CORBA还是EJB,这些体系结构都是被设计用于分布式对象的客户/服务器模式的通信,提供对交互操作性和有限的可移植性的支持,并且都是一个客户调用一个请求,该请求则由远方的一个对象来实现,远方的对象充当服务器的角色。提供服务的对象都有一个界面(Interface接口),该界面是通过IDl(Interface Define Language)来定义的。由于界面的存在,使对象的实现过程对于客户是隐蔽的。
为了对付J2EE,微软又推出了.Net,使得两者在企业应用集成上趋于大同。J2EE倡导的是交易中间件Java-Based,主要包括JMS(Java Message Server)、JTS(Java Transaction Service)等;而微软除了传统的Plant Office(Office系列)和BackOffice(SQlServer系列)产品外,更加强化了它的中间件产品(IIS、Exchange Server、Application Center、ISA、HIS等)。
IT技术分久必合,J2EE和.Net都基于SOAP(Simple Object Access Protocol),支持XMl(Extensible Markup Language)和Web Service,实现了跨平台的信息共享,这已成为IT技术发展的趋势、朝流和事实上的标准。