关闭

API之SOA和数据格式

标签: API之SOA和数据格式SOA和数据格式
602人阅读 评论(0) 收藏 举报
分类:


定义:

    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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:91540次
    • 积分:2327
    • 等级:
    • 排名:第16133名
    • 原创:141篇
    • 转载:14篇
    • 译文:0篇
    • 评论:14条