跨语言调用数据格式有多少种?

   现在开发语言是越来越多,它们之间的通信也成了我们所关注的事情。在我这几年的工作中了解到一些用于跨平台的数据交换格式:XML、JSON、Hessian Binary、PHP 序列化格式、MessagePack。

一、XML

    XML估计是大家最为熟悉的数据交换格式了。基于XML的协议也是非常之多,SOAP就是其中之一。

 

二、JSON

     关于JSON的介绍:http://www.json.org/json-zh.html

三、Hessian Binary

    关于Hessian Binary 介绍,请访问 http://hessian.caucho.com/。

四、PHP 序列化格式

    关于 PHP 序列化格式的介绍,请访问:http://www.phprpc.org/zh_CN/

   http://www.phprpc.org/zh_CN/docs/#[[PHP 序列化概述]]

 

    PHP 序列化格式是一种超轻量级的数据交换格式,易于机器解析和生成。同时也易于人阅读。它最初在 PHP 3.05 中被引入,之后在 PHP 4、PHP 5、PHP 6 中被继承并发展。其中 PHP 3 序列化格式已经过时。PHP 4 序列化格式是 PHP 5 序列化格式的子集,PHP 5 序列化格式是 PHP 6 序列化格式的一个子集,本文所述的 PHP 序列化格式是指 PHP 6 序列化格式,它包含了 PHP 4 和 PHP 5 序列化格式的所有内容。PHP 序列化格式实际上是完全独立于语言的半文本格式,它不但支持 JSON 所支持的所有数据类型和结构,而且支持对象和引用结构。这些特性使 PHP 序列化格式成为更为理想的数据交换格式。

PHP 序列化格式是半文本格式,对于数字,它是采用十进制数字字符串来表示的,因此不存在字节序问题,非常有利于跨平台跨语言实现。但是对字母大小写和空白(空格、回车、换行 等)敏感,因此,又非常利于机器解析。

 

五、MessagePack

      关于MessagePack : http://msgpack.sourceforge.net/

 

如果哪位朋友对这些技术有兴趣,可以在这里一起谈论一下。

如果你们还有更好的技术,希望能分享一下。

 

web service 技术在现在的企业中是应用比较多的,但如果要真正掌握SOAP协议,是件比较难的事情,所以我也一直在想,我们在什么情况下,必须要用WebService,什么时候能用其它比较简单的技术来替代呢?

你可能感兴趣的:(数据结构,PHP,json,webservice,phprpc)