5.3.4 软件集成
略。
随着对象技术和网络技术的发展,信息系统开发环境也逐步体现出从结构化到面向对象、从集中到分布、从同构到异构、从独立到集成、从辅助到智能、从异步到协同的发展趋势。应用系统的开发已从以单机为中心逐步过渡到以网络环境为中心,成千上万台个人计算机与工作站已变成全球共享的庞大的计算机信息资源。开放系统可让用户透明地应用由不同厂商制造的不同硬件平台、不同操作系统组成的异构型计算资源,在千差万别的信息资源(异构的、网络的、物理性能差别很大的、不同厂商和不同语言的信息资源)的基础上构造起信息共享的分布式系统。面对这样的趋势,必须对面向对象技术进行改进和扩展,使之符合异构网络应用的要求。就用户来说,这种软件构件能够“即插即用”,即能从所提供的对象构件库中获得合适的构件并重用;就供应商来说,这种软件构件便于用户裁剪、维护和重用。在这一背景下出现了有代表性的软件构件标准:公共对象请求代理结构(Common Object Request Broker Architecture, CORBA)、COM、DCOM与COM+NET、J2EE应用架构等标准。
1. CORBA
对象管理组织(Object Management Group,OMG)是CORBA规范的制定者,是由800多个信息系统供应商、软件开发者和用户共同构成的国际组织,建立于1989年。OMG在理论上和实践上促进了面向对象软件的发展。OMG的目的则是为了将对象和分布式系统技术集成为一个可相互操作的统一结构,此结构既支持现有的平台也将支持未来的平台集成。以CORBA为基础,利用JINI技术,可以结合各类电子产品成为网络上的服务资源,使应用集成走向更广阔的应用领域,同时Object Web把CORBA的技术带入了Internet世界。CORBA是OMG进行标准化分布式对象计算的基础。CORBA自动匹配许多公共网络任务,例如对象登记、定位、激活、多路请求、组帧和错误控制、参数编排和反编排、操作分配等。
2. COM
COM中的对象是一种二进制代码对象,其代码形式是DLL或EXE执行代码。COM中的对象都被直接注册在Windows的系统库中,所以COM中的对象都不再是由特定的编程语言及其程序设计环境所支持的对象,而是由系统平台直接支持的对象。COM对象可能由各种编程语言实现,并为各种编程语言所引用。COM对象作为某个应用程序的构成单元,不但可以作为该应用程序中的其他部分,而且还可以单独地为其他应用程序系统提供服务。
COM技术要达到的基本目标是:即使对象是由不同的开发人员用不同的编程语言实现的,在开发软件系统时,仍能够有效地利用已经存在于其他已有软件系统中的对象;同时,也要使当前所开发的对象便于今后开发其他软件系统时进行重用。
为了实现与编程语言的无关性,将COM对象制作成二进制可执行代码,然后在二进制代码层使用这种标准接口的统一方式,为对象提供标准的互操作接口,并且由系统平台直接对COM对象的管理与使用提供支持。COM具备了软件集成所需要的许多特征,包括面向对象、客户机/服务器、语言无关性、进程透明性和可重复性。
3. DCOM与COM+
DCOM作为COM的扩展,不仅继承了COM优点,而且钋对分布环境还提供了一些新的特性,如位置透明性、网络安全性、跨平台调用等。DCOM实际上是对用户调用进程外服务的一种改进,通过RPC协议,使用户通过网络可以以透明的方式调用远程机器上的远程服务。在调用的过程中,用户并不是直接调用远程机器上的远程服务,而是首先在本地机器上建立一个远程服务代理,通过RPC协议,调用远程服务机器上的存根(Stub),由存根来解析用户的调用以映射到远程服务的方法或属性上。
COM+为COM的新发展或COM更高层次上的应用,其底层结构仍然以COM为基础,几乎包容了COM的所有内容。COM+得导了一种新的概念,它把COM组件软件提升到应用层而不再是底层的软件结构,通过操作系统的各种支持,使组件对象模型建立在应用层上,把所有组件的底层细节留给操作系统。因此,COM+与操作系统的结合更加紧密。
COM+标志着组件技术达到了一个新的高度,它不再局限于一台机器上的桌面系统,而把目标指向了更为广阔的组织内部网,甚至互联网。COM+与多层结构模型,以及Windows操作系统为组织应用或Web应用提供了一套完整的解决方案。
4. .NET
.NET是基于一组开放的互联网协议,推出的一系列的产品、技术和服务。.NET开发框架在通用语言运行环境基础上,给开发人员提供了完善的基础类库、数据库访问技术及网络开发技术,开发者可以使用多种语言快速构建网络应用。.NET开发框架如图5-9所示。
图5-9 .NET开发框架
5. J2EE
J2EE架构是使用Java技术开发组织级应用的一种事实上的工业标准,它是Java技术不断适应和促进组织级应用过程中的产物。J2EE为搭建具有可伸缩性、灵活性、易维护性的组织系统提供了良好的机制。J2EE的体系结构可以分为客户端层、服务器端组件层、EJB层和信息系统层。
在J2EE规范中,J2EE平台包括一整套的服务、应用编程接口和协议,可用于开发一般的多层应用和基于Web的多层应用,是J2EE的核心和基础。它还提供了EJB、Java Servlets API、 JSP和XML技术的全面支持等。
