微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

数据服务笔记

1.Overview

      数据服务是专门化的Web服务,在Web服务中实际占了很大的一部分。
      但在这些Web服务中,数据服务与业务服务的界限通常并不清晰;接口粒度通常为特定数据类型,容易发生更改且业务服务耦合了某个特定的数据服务;还有基础设施的重复建设。
      所以有了专门的数据总线。

2.数据的基本服务接口

     通过元数据定义,将一个或多个数据表组合为业务信息视图,并暴露为服务,提供CRUD操作接口和更新通知机制。
    
     1.对外接口,除了传统的WebService接口外:

  • REST,轻量级面向资源接口,层次式URL定位对象,CRUD操作走HTTP原语,数据服务似乎是REST最贴切的用武之地。
  • JSON/POX(Plain Old XML),尽量简化的数据传输量。
  • RSS/ATOM Feed,轻量级信息发布订阅格式。
  • Ajax,对REST/JSON的支持使得Ajax已呼之欲出。
  • IBM/BEA的SDO规范,虽然看上去很美,但由于数据的跨平台性,没有MS的加入等于白搭。

     2.查询语言的设计:

  • 直接sql
  • JPA的JQL、Salesforce的SOQL、Facebook的FQL等自设计的面向对象的查询语言
  • Google Base的简单按属性匹配。

     3.数据更新通知机制:

     4.粗粒度接口:

        REST的"层次式定位"比单纯的"数据类型"更适合复杂的数据环境。无论是SOAP还是REST,都不应采用RPC风格与强数据类型。

     5.权限规则引擎

3.数据的整合同步 

     数据纵向整合,客户端真正将数据"插"到总线上,通过元数据定义他们所提供的数据库、WebService和Data Feed数据,供服务端主动进行"拉"的动作。

     比如,当多个自治的独立异构数据源中(地域分公司,并购企业),存在核心的业务实体--主数据(如客户,订单),进行叠加转换后提供统一的只读数据集。因为各异构数据源对相同的主数据可能不一致、不完整、可能有完全不同的表现形式,所以存在有数据抽取转换的过程。

     整合的周期可是是定时(天/周),或者数据源变更事件时发生。

4.数据的异构联合视图 

      数据横向联合将分散在位置透明的多种数据源,多个数据表中的数据,联合成一个大的有业务意义的信息视图,支持其即时联合查询。 

5.参考方案

6.Google Base

Google Base

 是Google的公共数据库服务,大家可以使用公共对象类型或者设定自己的类型,然后使用GData API

  对自己存放在GBase里的数据进行增删改查操作。

GData

 系列API,可以将Google的各项数据通过RSS/ATOM扩展的数据查询读取(可按属性查询),或通过REST版的Atom Publish Protocol进行增删改。

看看GBase的Demo页面

 ,一个很REST的简单方案,另外也有Java/C#版的稍嫌冗繁的API。Google中的各项数据,如日志,邮件等,也基于GData协议提供了封装的API。

另外URL里加一个参数,还可以返回JSON格式。 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐