从SCA规范的元数据谈起

SCA规范中定义了构件、服务的元数据描述规格。其实动态链接库文件也是有元数据的,每一个动态链接库都有一个导入函数表和导出函数表。导入函数表记录了导入了哪些模块,导出函数表记录了导出哪些模块。动态链接库的导出函数可以被其他动态链接库或执行文件调用。

  SCA规范中定义了构件、服务的元数据描述规格。如果是一个Java的构件实现,会先从Java Class中查找元数据信息。如果没有找到,继续在*.composite,*.component文件中查找。

  SCA可以将已有的程序、代码、服务添加上元数据,从而可以被其他的服务引用或调用。独立于程序代码的元数据描述信息,可以方便的描述已有的代码,而不须对已有代码做修改。

  .NET Framework同样有类似的元数据机制。利用元数据可以对程序集、模块、类型、方法、成员等进行某种特性描述,而这些描述将作为元数据被编译到程序集中,并通过.NET运行环境为其调用者所使用。

  DotNet同SCA类似,也支持采用多种语言来实现模块。如C++、VB、C#、Java。并且理论上可以支持任何语言。只需要将源语言翻译为IL代码即可。

  回过头看看以前的程序是如何实现程序模块化的。最早实现模块化的方式是动态链接库。其实动态链接库文件也是有元数据的,每一个动态链接库都有一个导入函数表和导出函数表。导入函数表记录了导入了哪些模块,导出函数表记录了导出哪些模块。动态链接库的导出函数可以被其他动态链接库或执行文件调用。但是缺点是没有调用参数信息。

  再往前就是汇编语言、机器语言或者在纸带上打洞了。这是程序开发的蛮荒时代。元数据当然无从谈起。

  由此看来,要实现应用模块化,元数据是必要的。这么多年来技术发展都是在元数据上做文章。现在应用的规模越来越大,硬盘也越来越大,并且朝着分布式部署、分布式计算发展。可以预料到今后程序的元数据描述的信息将会越来越丰富,以适应复杂的计算环境。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值