详细介绍面向对象、UML、设计模式,是软件开发人员攀登技术顶峰的宝贵资料。
软件架构集成技术
详细介绍面向对象、UML、设计模式,是软件开发人员攀登技术顶峰的宝贵资料。
软件架构集成技术 软件体系结构是构建计算机软件实践的基础。与 建筑师设定建筑项目的设计原则和目标,作为绘 图员画图的基础一样,一个软件架构师或系统架 构师陈述软件构架,以作为实际系统的设计方案 的基础。 软件架构(software architecture)是一系列相关 的抽象模式,用于指导大型软件系统各个方面的 设计。 软件架构是一个系统的草图。软件架构描 述的对象是直接构成系统的抽象组件。各个组件 之间的连接则明确和相对细致地描述组件之间的 通讯。
详细介绍面向对象、UML、设计模式,是软件开发人员攀登技术顶峰的宝贵资料。
架构的目标是什么 可靠性(Reliable)。软件系统对于用户的商业经营和管理来说极为 重要,因此软件系统必须非常可靠。 安全行(Secure)。软件系统所承担的交易的商业价值极高,系统的 安全性非常重要。 可扩展性(Scalable)。软件必须能够在用户的使用率、用户的数目 增加很快的情况下,保持合理的性能。只有这样,才能适应用户的市 场扩展得可能性。 可定制化(Customizable)。同样的一套软件,可以根据客户群的不 同和市场需求的变化进行调整。 可扩展性(Extensible)。在新技术出现的时候,一个软件系统应当 允许导入新技术,从而对现有系统进行功能和性能的扩展 可维护性(Maintainable)。软件系统的维护包括两方面,一是排除 现有的错误,二是将新的软件需求反映到现有系统中去。一个易于维 护的系统可以有效地降低技术支持的花费
详细介绍面向对象、UML、设计模式,是软件开发人员攀登技术顶峰的宝贵资料。
9.1.1什么是CORBA CORBA(Common Object Request Broker Architecture公共对象请 求代理体系结构)是由OMG组织制订的一种标准的面向对象应用程 序体系规范。其职责是为应用开发提供一个公共框架,制订工业指南 和对象管理规范,加快对象技术的发展。 CORBA用于在不同进程(程序)之间,甚至是不同物理机器上的进程之 间通讯。底层技术依靠RPC(远程过程调用)实现。面向对象的软件, 以数据为中心设计,对象类既具有模块的封装性和类属等特性,还具 有继承特性,极大地提高了类的可扩充性和可复用能力。对象类较之 于传统软件的功能模块而另具有的优点是: (1) 易于理解,具有完整的语义特征; (2) 易于扩充和修改,具有较高的通用性和适应性; (3) 易于构造组装,具有规范的外部接口。
详细介绍面向对象、UML、设计模式,是软件开发人员攀登技术顶峰的宝贵资料。
9.1.1什么是CORBA CORBA具有如下突出特点: (1)分布计算技术和面向对象编程技术(Object Oriented Programming,OOP)相 融合。通过OOP 继承性,实现软件源代码的复用。 (2)引入了“代理”的概念。代理的基本作用是完成对客户方提出的抽象服务请求的 映射;自动发现和寻找服务器;自动设
定路由,实现到服务方的执行。通过代理,用 户在编制客户程序时不需要了解实现的细节,只需完整地定义和说明所需完成的任务 和目标。 (3)客户端程序与服务器端程序的完全分离。通过代理机制,客户方不再同服务器发 生直接联系,而仅和代理进行交互。因此在保持调用方式不变的情况下,服务器方和 客户方程序都可以自由地修改和升级而无须通知对方,从根本上改变了传统的面向过 程调用机制的客户端服务器模式。 (4)提供了“软件总线”的功能。软件总线是CORBA定义的一组独立于语言和环境 的接口规范,按照该接口规范开发出来的软件,便可以方便地集成到该系统中,而这 个规范独立于任何实现语言。 (5)设计原则和设计方式的层次化。CORBA规范仅定义了ORB中用到的最基本对象、 属性和方法,而面向应用的对象可以在OMA的应用对象、领域对象或开发环境中逐层 进行定义和实现,CORBA规范是针对ORB通信中间件制定的工业标准,而面向应用的 对象定义则可以在对象管理体系结构的应用对象或应用开发环境中逐步分层定义和实 现。
详细介绍面向对象、UML、设计模式,是软件开发人员攀登技术顶峰的宝贵资料。
9.1.2 CORBA的标准规范 CORBA的核心是对象请求代理ORB,它提供对象定位、对象激活和 对象通讯的透明机制。客户发出要求服务的请求,而对象则提供服务, ORB把请求发送给对象、把输出值返回给客户。ORB的服务对客户 而言是透明的,客户不知道对象驻留在网络中何处、对象是如何通讯、 如何实现以及如何执行的,只要他持有对某对象的对象引用,就可以 向该对象发出服务请求。 CORBA允许用户以两种不同的方式提出对象请求: 1)静态调用: 通过给定接口的存根,在编译了对象代码后,进入客户端的程序。因 此,静态调用必须在编译时就知道对象及其类型。 2)动态调用: 通过ORB的动态调用接口DII,在运行时生成访问对象的代码。 不管客户以哪一种形式提出请求,ORB的任务是:找出所要对象的位 置,激活该对象,向对象传递此请求。对象执行所请求的服务后,把 输出值返回给ORB,然后再由ORB返回给客户。