面向对象的分布式开发系统 (一)

原创 2004年04月20日 12:05:00

            面向对象的分布式开发系统<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

                                         -        理论

                          March 200

Web 应用开发中,之所以能够利用对象的概念,方便地创建灵活,稳定的Web 服务,归功于J2EE 的多层体系结构。而在传统软件(非Web 应用),如何利用面向对象技术,是本文的主要目的。本文基于一个分布式的开发工具模型 SoftEngine, 简要阐述了分布式系统的基本技术及特征,包括:任务驱动,分布式对象,流水线式设计模式,以及数据安全等关键技术 。更多信息及相关程序下载http://www.snapbug.net

 

  • 1.    前言
  • 2.    分布式系统所应具有的体系结构
  • 3.    布式系统的关键技术
  • 3.1         面向对象技术Object-Oriented
  • 3.2         任务驱动Task-Driven
  • 3.3         分布式对象Distributed Object
  • 3.4         数据安全Data-Safety
  • 3.5         流水线式设计模式Pipelining Design Model
  • 4.    分布式系统对开发流程的改进
  • 5.    小结

1.     前言

 自从有了J2EE 体系结构,基于诸如:BEA WebLogic, IBM WebSphere 以及Sun ONE 等多层结构的应用服务器,Web 开发已变得如此的便捷、高效。Web 程序工程师也不在过多的关心如何解决系统稳定性、高负荷等问题,而精力更多地集中在如何实现应用逻辑。比如:现在,很少有人在采用了上述的中间件产品后,还问津系统是否稳定、如何扩容等问题。因为J2EE 体系,已经解决了这些繁琐的技术难点。

而其他的、非Web 方式的传统软件开发工程师就没有如此的幸运了。特别在一些基础分布式系统、实时系统及数据传输系统的开发项目,基于Web 方式的应用已无法解决。J2EE 已无法提供更多的帮助。此时,只能依靠程序员从系统最基本的功能开始开发。除功能外,系统性能好坏,完全取决于开发人员的素质及经验。在短时间内构造出如同Web 应用一样稳定、高效的系统,简直成为一种梦想。

为了实现这个梦想,软件的“总线结构”孕育而生。所谓总线结构,就是所有的功能部件以相同的方式连结在一个用来相互通信的结构性部件上。由此带来的好处是,部件的内部设计被独立出来,再也不必考虑部件之间的互连问题,设计人员可以专注于部件的功能设计

 

2.     分布式系统所应具有的体系结构

一个分布式计算系统(distributed computing system ),就好比现实生活中的一个公司。其中,某些职员负责日常的内部事务保证公司正常运作;某些职员负责对外联系工作,保持与其他公司的关系;在公司员工之间定义了一定的工作流程,通过固定格式的表单提交任务及交换信息。在公司运作中,只要员工的职责及工作流程保持不变,其他的可变因数,如:工作的物理位置或交换信息的不同,都不会造成本质的变化。

因此,在分布式系统中,需要定义出不同的职能对象。这些对象是可分布的。对象之间还需定义各种内容的信息/ 消息体。以SoftEngine 为例,定以了三种最基本的元素对象:

  • 功能对象(Function Object) ,负责内部功能操作。
  •  服务对象(Serve Object) ,具备通讯能力。
  •  任务对象(Task Object) ,在功能及服务对象间传递信息。

对象间的协调、信息传递等复杂的操作,被封装在SoftEngine 的内核。通过简单的接口对象,演变出各种不同的应用系统。如下图,所示的体系结构  

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />CSDN_Dev_Image_2004-4-191847541.png

图表 1 The Architecture Of SoftEngine

  • Components Area 组件局域 是一个开放式的区域。为应用组件提供了三种主要的接口: 功能接口(Function Interface)、服务接口(Serve Interface)、任务接口(Task Interface) 。继承了面向对象的特点,组件局域具备了许多“软总线”的特性,可以灵活地加载、卸载应用对象
  • SoftEngine Kernel 内核 SoftEngine 的核心部分,封装了大部份的内部操作,如: 对象间的协作、任务传递和对象的分布管理等。其中最主要有两个部件: 任务通道(Task Channel)和通讯通道(Communication Channel) ,用于安全,有效,准确地传输数据
  • Task Channel 任务通道 直接连接每个对象,传输任务信息从一个对象到另一个对象
  • Communication Channel 通讯通道 连接每个分布的SoftEngine 内核。传输任务信息从一个SoftEngine 到另一个SoftEngine 系统
  • Singleton Model 独体运行模式. 如果应用系统不需要分布,也就是说:所有的应用组件发布在同一个SoftEngine 环境中,那么这个单独运行的模式叫独体运行模式
  • Group Model 群体运行模式. 基于独体运行模式,应用组件被分布在不同的SoftEngine 系统。彼此之间通过通讯通道连接在一起,形成一个分布的系统,称之为: 群体运行模式

 SoftEngine 的体系结构,以多态的方 ( 独体Singleton / Group ) 存在。独体充分表现了软总线的特性;而多个独体组成的群体表现出分布式的系统特性。

 独体上看:是软总线结构的应用软件,其中的每个模块(对象Object )以插件的方式,通过系统提供得接口及配置文件,发布在系统上。对象彼此之间,通过任务通道(Task Channel)协调工作在一起,而Object 之间的构件操作被封装在SoftEngine Kernel 内。

 群体上看:是一个分布式的结构,每个独立运行的SoftEngine 系统,通过Kernel 的通讯通道(Communication Channel)彼此连接,协调工作,成为一个完整的强大的分布式系统

后续:面向对象的分布式开发系统 (二)

分布式系统阅读笔记(八)-----分布式对象和组件

一、介绍 在分布式系统中,一个完整的中间件需要展现一定的对于上层程序语言的以及底层的物理设施的抽象性。而分布式对象和分布式组件恰恰是2种重要的实现方式。 1、分布式对象包集成了面向对象的语言的特征...
  • Androidlushangderen
  • Androidlushangderen
  • 2014年12月29日 09:41
  • 1655

面向对象软件度量技术的分析与综述----整理

目录   摘要... 2 1      引言... 3 2  面向对象软件度量... 4 2.1 面向对象的特征... 4 2.2 面向对象软件度量方法... 4 2.2.1 面向类的度量——CK度量...
  • wolangjushi
  • wolangjushi
  • 2013年10月31日 19:39
  • 1581

【c++面向对象编程】工资管理系统

1、名词实际上就是对象(员工派生出老员工、新员工) 2、利用虚函数实现多态 3、对象指针数组 头文件 #include #include using namespace std; clas...
  • guomutian911
  • guomutian911
  • 2015年10月27日 22:37
  • 973

iOS面向对象的三大特征

一、封装 封装是对象和类概念的主要特性。它是隐藏内部实现,稳定外部接口,可以看作是“包装”。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行...
  • zhangshichi
  • zhangshichi
  • 2016年04月09日 11:35
  • 1089

ABAP面向对象的开发

在程序中, 对象的识别和寻址是通过对象引用来实现的, 对象引用变量可以访问对象的属性和方法。 ABAP 中的类也有程序内部的局域类和全局类之分, 其作用范围不同。 ABAP中的全局类是通过ABAP工作...
  • zhongguomao
  • zhongguomao
  • 2017年04月20日 16:39
  • 1216

面向对象系统分析与设计

数据抽象  把一组数据及作用与其上的操作组成一个设计实体或单位。 接口说明外部可见,其实现是隐蔽不可见的 面向对象的特点 封装机制 基于消息的通信 继承机制 多态机制 面向对象=对象+分类+继承+通信...
  • Alexander_Frank
  • Alexander_Frank
  • 2016年05月03日 13:25
  • 6723

面向对象的6大原则

要把软件做得非常灵活又要便于维护是一个很困难的事情。灵活的软件他的结构就复杂,维护起来就困难。有得必有失,关键就在于如何处理这两者,使得大于失。软件的设计开发应遵循以下六大原则: 1. OCP ...
  • younghaiqing
  • younghaiqing
  • 2017年01月11日 17:37
  • 668

面向对象开发中的几个核心的思想和概念

这里有面向对象开发的几个核心的思想和概念 1、问题领域、对象、属性、状态、行为、方法、实现 问题领域: 指软件系统所模拟的真实世界中的系统,在现实生活中,比较常见的比如,税收、社...
  • ziwen00
  • ziwen00
  • 2013年04月15日 18:45
  • 5481

软件架构设计之四:面向对象方法

一、本章要点 1)信息系统综合知识。包括面向对象的分析与设计、统一建模语言。 2)系统架构设计案例分析。包括面向对象系统建模。 二、基本概念 1)面向对象方法包括面向对象的分析、面向对象的设计和面...
  • slowwind2007_lishu
  • slowwind2007_lishu
  • 2013年08月03日 17:23
  • 1340

面向对象的开发方法

转自:http://www.cnblogs.com/X8023Z/archive/2008/12/04/oo33.html 面向对象的开发方法(Object Oriented,OO)     从事...
  • lotusyangjun
  • lotusyangjun
  • 2015年06月17日 11:54
  • 2014
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:面向对象的分布式开发系统 (一)
举报原因:
原因补充:

(最多只允许输入30个字)