Caché 组件

pdf

下载PDF

Caché Object Technology

Caché对象技术在Caché后关系型数据库中大显身手,这项技术很好地满足了用Web和面向对象技术开发的应用程序的高性能要求。使用Caché对象技术,编程人员能够创建丰富的、反映真实世界的数据结构,并且能够使得开发过程流程化。

Caché对象模拟现实数据

Caché对象技术能够对人类在现实当中思考和使用数据的现实方式进行描述。Caché通过把数据和控制数据使用的代码捆绑在一起来达到这个目的。在对象术语中,包含在类中的各种数据称为“属性”,描述数据行为的代码块称为“方法”。

Caché对象技术还提供了一种更加自然数据视图,它没有将属性仅仅局限于简单的、以计算机为中心的数据类型。类可以包含其它的类,或者引用其他的类,这样就可以容易地构建有用的、含义丰富的数据模型。下面是一个简单的例子:

Customer Object

客户对象

Name

数据可以是简单的、系统定义好的类型,如字符型、整型等。

SSN

数据可以是由编程人员自定义的抽象数据类型(ADT)。例如,SSN可以被定义为一个9位数,类型格式为:NNN-NN-NNNN。ADT本身也是一种对象。

Address: Street City

对象可以嵌套在类中。在这个例子中,”Address”是包含“Street”和“City”两个属性的对象。

AccountRep:

“Account Rep”是一个相对复杂的类,它独立与“Customer”存在。在这个例子中,“Customer”包含了对相应“Account Rep”的引用

Invoice:

可以引用同一个类的多个实例,这样就创建了一个“集”。集可以被认为是“一对多”的关系。Caché也可以支持其他的关系类型。

尽管"Customer"包含了大量的信息,但应用程序可以把它作为一个整体——对象来看待。

Caché对象促进快速开发

为了加速应用程序的开发,Caché对象技术对继承、封装和多态等概念提供了支持。

继承 是从一类对象获得另一个类对象的能力。通常一个新类(子类)与超类是“是一种”的关系。例如,狗“是一种”哺乳动物,所以“狗”这个类继承了“哺乳动物”这个类的所有属性和方法,同时“狗”这个类也含有自己独特的属性和方法。多重继承是指一个子类可以继承多个超类。狗“是一种”哺乳动物,也“是一种”宠物,所以“狗”这个类继承了“哺乳动物”和“宠物”这两个类的所有属性和方法。

Dog Object

多重继承:
子类可以继承
一个或者多个超类。

封装的意思是:对应用程序来说,类可以被看作一个“黑盒子”。不管多么复杂,类总是由有限多个属性和方法组成的。一旦类被定义好后,应用程序就不需要知道其内部的工作机理,只需处理类的属性和方法就可以。这种黑盒方法产生了两个重要的好处。

A) 类可以模块化。程序员可以不影响应用程序的其他部分的情况下改善类的内部工作机理。

B) 类可以交互。由于接口(属性和方法)是保持不变的,所以类可以被应用程序共享。

多态 是指即使内在的执行机制不同的情况下,也可以在多个类中的方法使用相同的接口。例如,一个应用程序使用不同的类:信,邮寄标签和ID徽章,这三个类都含有一个方法成为“PrintAddress”。应用程序不必为每个对象都设定特定的命令,而只要包含一个像“DO printAddress(objectID)”的指令就可以了。多态性确保了每个对象都能按照其所属类的方式执行指令。

创建Caché对象

在Caché Studio中可以快速创建和编辑Caché类。工作室是一个整合开发环境,在这里程序员可以进行程序开发的所有工作。如数据建模,包括指定属性,编写和调试对象方法,定义特定的数据类型。Caché支持对象的高级概念——简单继承和多重继承,嵌入式对象,对象的引用,集合,关系和多态——这使得Caché工作室成为数据建模和业务处理的强大而有高效的开发环境。

导入/导出数据模型

Caché Studio有简单易用的创建Caché类向导,另外还有很多导入、导出类定义的方法。

Caché Roselink允许使用Rational Software的Rose对象建模工具来定义类,然后导入到Caché中。同样,Caché类定义可以导出到Rose,然后在Rose建模环境中使用。

Caché还可以从关系型的DDL文件创建类对象。最终的对象类非常简单:它们的属性将是单值的,系统定义的数据类型以适应关系型表的域,它们的方法将是永久性方法,要求直接从磁盘上移动数据。但是,因为Caché的单一数据结构,这些简单的类不仅可以立即被对象编程语言使用,还能够被用来创建更复杂的数据模型。

XML提供了在应用之间迁移类定义的另一种方法。类定义可以作为XML文档导入/导出。

Caché脚本语言

Caché对象中的方法是以Caché objectScript或者Caché Basic来编写的。两种语言都允许开发者按照相同程序使用所有Caché的数据访问方法。

Caché与其他对象技术整合

因为Caché具有统一数据结构(Unified Data Architecture),所有Caché类都可以自动通过ODBC和JDBC作为关系表格来访问。Caché类通过利用多重继承很容易适合与XML以及面向对象技术协同工作。

Caché服务器页面(CSP

 

为Caché服务页面所设计的类可以自动继承所有网页Session的管理方法,在“OnPage()”方法中开发人员可以对页面内容进行编写。

XML

从%XML. Adaptor类继承属性和方法之后就可以使得该类能够导入/导出为XML文档。Caché将自动定义Caché对象和XML文档之间的映射关系,或者程序员也可以自己创建映射关系。

COM

在Caché Studio中使用一个简单的指令就可以把Caché类映射为COM类,以供其他开发工具使用,如Visual Basic, Delphi,以及其他与COM接口兼容的软件。Caché也包括COM网关,允许COM对象被Caché应用程序使用。

C++

同样,只需要一个简单的指令就可以把Caché类映射为C++类。

Java

一个指令就可以把Caché类映射为Java类。Caché也提供一个类库以允许Java程序员可以访问Caché数据库中的Caché对象。

EJBs

EJB映射也只要通过在Caché Studio中点击鼠标就可以完成。Caché使开发人员享受到由Bean管理持久性(Bean-Managed Persistence)所带来的速度,而不需要做很多繁琐的编程工作来把Java类映射到关系型的表格。Caché支持BEA的WebLogic应用服务器。

**“类”是一个模板——是对数据一般的描述。每个类的特定“实例”就是一个对象,对象包含实际的数据。

Caché和Caché Direct是InterSystems公司的一个商标。Windows和Visual Basic 是Microsoft公司的注册商标。Delphi是美国Borland公司的注册商标。PowerBuilder是Powersoft公司的注册商标,其他产品的名字是其他相应销售商的商标。