API之SOA和数据格式

来源:互联网 发布:金山毒霸当前网络断开 编辑:程序博客网 时间:2024/05/18 12:33


定义:

    API代表应用程序编程接口,而接口指的是一个特定服务、一个应用程序或者与其他应用程序互动的公开模块。

    使用API的原因:

         使数据用于其他系统或者模块

         以异步的方式向网站提供数据

         构成一个面向服务器架构的基础

    所以这些原因对增强API功能有巨大促进作用,事实上,大多数现代系统都需要某种形式的API,这是因为我们愈来愈多的从截然不同的系统中收集数据。对于只有普通web开发经验的开发者而言,前两项比较容易做到。

1.面向服务的架构

SOA(service-OrientedArchitecture,面向服务的架构)时在各种PHP应用程序中日益得到普及的方法。他是一个基于服务层的系统, 提供系统需要的所有功能,但这个服务提供的是应用层,并未链接到表现层。这样,多种系统就可以使用这个相同模块化、可重复使用的功能。也就是说,你可以写一个服务层,接着其他几个应用程序都来可以使用服务层。

SOA方法允许我们使用、测试以及强化应用服务层的代码,并且轻松的在其MVC方法应用于服务层,

2.数据格式

  1)使用JSON

   JSON(JavaScript ObjectNOtation)时表示JS对象的一种方式,但是很多现代语言都使用这种格式的内置功能。这是基于文本、用来表水数组或对象额一种格式、类似于PHP的序列化。

   JSON是一种轻量级的格式:数据包小而简单,这使我们轻松的处理它。由于我们将JSON设计用于JS,因此它又是 JS使用API的最佳选择。

   在PHP中,json_encode()函数编写JSON用json_decode()将它读取回来。

【示例】:

<span style="font-family:Microsoft YaHei;font-size:18px;"><?$concerts = array(        array("title" =>"veaglefly","time"=>"Today"),        array("title" =>"xiaoming","time"=>"yeastoday"));$temp = json_encode($concerts);echo json_encode($concerts);echo "<pre>";print_r(json_decode($temp));   echo "</pre>";</span>


Output:




  2)使用XML

   XML表示可扩展标记语言。在许多平台上它是表示机器可读数据的标准方式。

   XML是比JSON更详细的一种格式。它包含更多数据类型的信息,不同的操作系统将使用不同的标记和属性详细的描述信息。

【示例1】:

<span style="font-family:Microsoft YaHei;font-size:18px;"><?xmlversion="1.0" encoding="UTF-8"?><configdata><home>        <label>首页</label>        <controller>index</controller>        <action>index</action></home><blog>        <label>我的博客</label>        <controller>blog</controller>        <action>index</action>   </blog></configdata>   <?       $sxml = newSimpleXMLElement(       '<?xml version ="1.0"?><concerts />'       );       $concert1 = $sxml ->addChild('concert');       $concert1 -> addChild("title","vEagleFly");       $concert1 ->addChild("time","today");             $concert2 = $sxml ->addChild('concert');       $concert2 ->addChild("title","vEagleFly");       $concert2 ->addChild("time","yeastoday");       $txml = $sxml ->asXML();       echo $sxml -> asXML();       $concert_list =simplexml_load_string($txml);       echo"<pre>";       print_r($concert_list);       echo"</pre>";     </span>


 【示例2】:

<span style="font-family:Microsoft YaHei;font-size:18px;"><?       $sxml = newSimpleXMLElement(       '<?xml version ="1.0"?><concerts />'       );       $concert1 = $sxml ->addChild('concert');       $concert1 -> addChild("title","vEagleFly");       $concert1 ->addChild("time","today");             $concert2 = $sxml ->addChild('concert');       $concert2 ->addChild("title","vEagleFly");       $concert2 ->addChild("time","yeastoday");       $txml = $sxml ->asXML();       echo $sxml -> asXML();       $concert_list =simplexml_load_string($txml);       echo"<pre>";       print_r($concert_list);       echo"</pre>";   </span>

  

1.  RPC 远程调用过程的缩写。RPC服务就是调用函数并传入参数的地方。

2.  SOAP 简单对象访问协议。通常使用WDSL(web服务描述语言)文档描述SOAP服务,这是描述web服务的一组定义。

3.  REST 与前两个术语不同,REST不是一个协议,他没有严格的接口和数据格式,却更像一套设计原则,REST将每个项目都视为一个资源,我们通过发送正确的动词到URL为这个资源执行动作。

 

0 0
原创粉丝点击