RO18 - RODL –
服务描述元语言
使用像
Delphi,C#,Java
等语言生成的类
,
都包含原数据
(meta-data)
让我们可以在运行时检查和动态操作它们
.
例如
,Delphi
的对象查看器可以使用原数据
(mata-data)
在
Delphi IDE
中展示属性
.
原数据在生成如
SOAP
的
WSDL
资源和实现如
OLE
迟绑定架构非常重要
.
与
Java
和
C#
不同
,Delphi
缺乏很多重要的特性
,
包括读取方法签名的能力
.
在
Delphi6
以前没有容易安全的方法获取方法需要的参数列表
.
当设计
RemObjects SDK
时遇到了进退两难的境地
,
要放弃对
Delphi5
而只支持
6.0
以上版本吗
?
答案是否定的
.
每个使用
RemObjects SDK
定义的服务端
Module
都有一个特殊的
RT_RCDATA
资源叫做
RODLFILE.
这个资源文件同你使用
Service Builder
生成的
XML
文件一样
,
保证一直与你的服务对象和类型向匹配
.
在
Module
中加入这样的资源可以提供很好的动态和弹性
.
例如当你的服务
Module
需要开放
WSDL
原数据时可以使用
TROSOAPMessage
类将之转换为
WSDL
.
也可以将之转换为
HTML
测试页数据用以在
Web
浏览器中动态测试服务端方法
.
这与
VS.NET
中的
asmx
页面一样
.
只要不修改它
,
这个资源文件是存在的
,
并且可以使用它做你想做的任何事情
.
使用特殊的类如
TRODLLibrary , TRODLToXML
和
TRODLToWSDL
可以轻松的操作这些内容
.
关于如何在运行时操作使用
RODL
库
,
请查看
Manipulation of RODL Meta Data
文档
.