API之SOA和数据格式

原创 2015年07月08日 11:22: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为这个资源执行动作。

 

微服务、SOA 和 API对比与分析

摘要 对比微服务架构和面向服务的架构(SOA)是一个敏感的话题,常常引起激烈的争论。本文将介绍这些争论的起源,并分析如何以最佳方式解决它们。然后进一步查看这些概念如何与 API 管理概念结合使用,实...
  • wangtaomtk
  • wangtaomtk
  • 2016年07月02日 14:53
  • 3218

SOA和微服务架构的区别

作者:何明璐 链接:https://www.zhihu.com/question/37808426/answer/93335393 来源:知乎 微服务架构强调的第一个重点就是业务系统需要彻底...
  • showgood119
  • showgood119
  • 2016年10月26日 21:30
  • 3345

CDIF: 基于JSON的SOA软件框架

通用设备互联框架(CDIF)是一个具备中美知识产权保护的,基于web的连接框架,目前有部分开源实现存放在: GitHub - out4b/cdif: Common device interconnec...
  • nausealiu
  • nausealiu
  • 2017年04月01日 00:56
  • 381

RESTful架构及SOA架构简单解析

1.RESTful架构 本人也是刚接触ASP.Net开发,以下为自己简单的理解,并做了一些记录,表述不当或者错误之处还请指正,在此谢过。 首先,REST(REpresentational ...
  • u012384285
  • u012384285
  • 2014年06月21日 19:26
  • 2899

详细分析SOA的十大设计原则

详细分析SOA的十大设计原则 一、明确的边界   通过跨越定义明确的边界进行显式消息传递,服务得以彼此交互。有时候,跨越服务边界可能要耗费很大的成本,这要视地理、信任或执行因素而定。边界是指服务的...
  • foreverbruce
  • foreverbruce
  • 2016年04月29日 00:20
  • 939

SOA,Webservice,SOAP,REST,RPC,RMI,JMS的区别与联系

RPC(Remote Procedure Call Protocol) RPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果。这个请求包括一个参数集和一个文本集,通常形成“c...
  • PCCEO1
  • PCCEO1
  • 2016年04月25日 20:47
  • 4441

SOA产生的业务背景

对企业而言,IT组织起着重要的作用。传统上,企业在构建IT系统时,常用的策略是聚焦与应用程序本身------集中全力满足一个特定的业务单元或部门的需求,是该业务单元的IT系统快速的运转起来。因此,许多...
  • lenovo96166
  • lenovo96166
  • 2014年11月04日 21:26
  • 635

SOA架构的几种主要开发方式

面向服务架构soa以其独特的优势越来越受到企业的重视,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理...
  • ganjing222
  • ganjing222
  • 2017年01月04日 09:46
  • 1382

SOA到底是个啥

SOA(Service-Oriented Architecture),中文全称:面向服务的架构。 SOA让把系统分离成不同的服务,使用接口来进行数据交互,最终达到整合系统的目的。 ...
  • Aric_Chen
  • Aric_Chen
  • 2015年08月17日 09:26
  • 5674

一张图来帮你理解 SOA

SOA 曾经一度是技术领域中最难以理解的一个概念。SOA 似乎让很多人感到困惑 - 一般来讲这是由于人们认为它拥有几乎神奇的力量。事实上 SOA 是一个很简单的概念:SOA 由诸如 C++ 和 Jav...
  • defonds
  • defonds
  • 2017年02月16日 14:24
  • 8059
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:API之SOA和数据格式
举报原因:
原因补充:

(最多只允许输入30个字)