RAS Architecture
1. Report Application Server components?a. RAS SDK:提供和服务器组件联系的接口,在这个意义上,它组成了c/s模式的客户端部分。?b. RAS Server:提供创建和修正报表服务。它通过CRPE(Crystal Report Print Engine)操作报表文档和把它们保存到Crystal Enterprise中APS的目录中。2. SDK architecture?RAS SDK由许多java包组成,这些包包含了用于和服务器通信的类和接口。本质上,这些包把类和接口分成不同的功用部分。由这些包组才成的jdk是使用MVC架构来实现的。?Controller: 使用程序包由许多被称为controllers的类组成。这些类被用来操作处理数据。使用程序包也包含一个ReportClientDocument 对象。需求着重留意的是,controllers是用来使RAS client需求操作的数据和在服务器上的数据保持同步。为了正确地修正文档和确保RAS server是更新的,必须使用恰当的controller。?Model: 另一些包被用来定义model,本质上,所有由sdk操作处理的数据(报表数据)都包含在用来定义model的包中。?View: 最后,由程序员使用sdk生成的view,为model中的数据提供一个特定的视图。对数据的不同的表现方式都会有不同的视图。每一个view都可以直接访问model中的数据或者通过一个controller访问数据。如果要修正一个data model,必需要使用一个controller.3. Important object?a. ReportClientDocument:是由RAS SDK创建和修正的报表文档。它位于使用程序包中。这些报表文档由文档包管理。这些库控制报表文档被管理的方式。这是它和其他包在jdk承继关系起源上的次要差别。它控制访问任一个用来修正或导出数据的controller,也控制访问任一个仅用来访问数据的object model。更无效的是,它允许打开,修正和保存报表。?b. controllers: 在使用程序包中定义。控制在客户端修正object model的逻辑。虽然object model提供操纵数据和定义报表的功用,但是它不能使RAS client操纵的数据与服务器上的数据保持同步。为了正确地修正文档和确保RAS server是更新的,必须使用恰当的controller。?c. Object Model:被用来定义报表文档中的内容。它包含在报表文档中用来确定报表视图所必须的数据结构。?Object Model由两个次要的库实现:?。data package提供报表的数据库和数据的定义;?。definition package决定显示报表文档中的报表对象的表现和规划。?注:如果要正确地操作任何一个这些数据结构,或者要确保任何一个所做的修正都被提交给了服务器,必须使用controller.